PDA

View Full Version : چطوری میشه یک Tool Tip Tex با چند سطر درست کرد؟



مجتبی سلطان
چهارشنبه 10 فروردین 1384, 11:04 صبح
اگه کسی میدونه چطوری می شه یه Tool Tip Text با چند سطر درست کرد خواهشن منو راهنمایی کنه .
مرسی

حامد مصافی
چهارشنبه 10 فروردین 1384, 12:44 عصر
کد زیر را در یک ماژول کپی کن.


Option Explicit

'************************************************* ***********
' Constants
'************************************************* ***********

Private Const GWL_WNDPROC = -4
Private Const GWL_STYLE = (-16)

Private Const WS_BORDER = &H800000

Private Const FW_NORMAL = 400
Private Const FW_HEAVY = 900
Private Const FW_SEMIBOLD = 600
Private Const FW_BLACK = FW_HEAVY
Private Const FW_BOLD = 700
Private Const FW_DEMIBOLD = FW_SEMIBOLD
Private Const FW_DONTCARE = 0
Private Const FW_EXTRABOLD = 800
Private Const FW_EXTRALIGHT = 200
Private Const FW_LIGHT = 300
Private Const FW_MEDIUM = 500
Private Const FW_REGULAR = FW_NORMAL
Private Const FW_THIN = 100
Private Const FW_ULTRABOLD = FW_EXTRABOLD
Private Const FW_ULTRALIGHT = FW_EXTRALIGHT

Private Const SW_SHOWNA = 8
Private Const TRANSPARENT = 1
Private Const ALTERNATE = 1
Private Const BLACK_BRUSH = 4
Private Const DKGRAY_BRUSH = 3

Private Const DT_SINGLELINE = &H20
Private Const DT_NOCLIP = &H100
Private Const DT_CENTER = &H1
Private Const DT_VCENTER = &H4
Private Const DT_WORDBREAK = &H10
Private Const DT_CALCRECT = &H400

Private Const CW_USEDEFAULT = &H80000000

Private Const TTS_ALWAYSTIP = 1

Private Const TTF_IDISHWND = 1
Private Const TTF_CENTERTIP = 2
Private Const TTF_RTLREADING = 4
Private Const TTF_SUBCLASS = &H10
Private Const TTF_TRACK = &H20
Private Const TTF_ABSOLUTE = &H80
Private Const TTF_TRANSPARENT = &H100
Private Const TTF_DI_SETITEM = &H8000

Private Const WM_USER = &H400
Private Const WM_PAINT = &HF
Private Const WM_PRINT = &H317

Private Const TTM_ACTIVATE = WM_USER + 1
Private Const TTM_SETDELAYTIME = WM_USER + 3
Private Const TTM_ADDTOOL = WM_USER + 4
Private Const TTM_DELTOOL = WM_USER + 5
Private Const TTM_NEWTOOLRECT = WM_USER + 6
Private Const TTM_RELAYEVENT = WM_USER + 7

Private Const LF_FACESIZE = 32
Private Const COLOR_INFOTEXT = 23
Private Const COLOR_INFOBK = 24
Private Const COLOR_GRAYTEXT = 17
Private Const COLOR_3DLIGHT = 22

Private Const RGN_OR = 2

'************************************************* ***********
' API Functions
'************************************************* ***********

Private Declare Function CreateWindowEx Lib "user32.dll" Alias "CreateWindowExA" ( _
ByVal dwExStyle As Long, ByVal lpClassName As String, _
ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, _
ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, _
ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, _
lpParam As Any) As Long

Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long

Private Declare Function CallWindowProc Lib "user32.dll" Alias "CallWindowProcA" ( _
ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long

Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" ( _
ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Declare Function PostMessage Lib "user32.dll" Alias "PostMessageA" ( _
ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
ByVal lParam As Long) As Long

Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" ( _
ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Declare Function GetWindowRect Lib "user32.dll" (ByVal hwnd As Long, _
lpRect As RECT) As Long

Private Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long

Private Declare Function MoveWindow Lib "user32.dll" (ByVal hwnd As Long, _
ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, _
ByVal nHeight As Long, ByVal bRepaint As Long) As Long

Private Declare Function BeginPaint Lib "user32.dll" (ByVal hwnd As Long, _
lpPaint As PAINTSTRUCT) As Long

Private Declare Function GetWindowTextLength Lib "user32.dll" Alias "GetWindowTextLengthA" ( _
ByVal hwnd As Long) As Long

Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" ( _
ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

Private Declare Function EndPaint Lib "user32.dll" (ByVal hwnd As Long, _
lpPaint As PAINTSTRUCT) As Long

Private Declare Function GetSysColor Lib "user32.dll" (ByVal nIndex As Long) As Long

Private Declare Function GetClientRect Lib "user32.dll" (ByVal hwnd As Long, _
lpRect As RECT) As Long

Private Declare Function DrawText Lib "user32.dll" Alias "DrawTextA" ( _
ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, _
lpRect As RECT, ByVal wFormat As Long) As Long

Private Declare Function GetCursorPos Lib "user32.dll" (lpPoint As POINTAPI) As Long

Private Declare Function SetBkMode Lib "gdi32.dll" (ByVal hdc As Long, _
ByVal nBkMode As Long) As Long

Private Declare Function CreateFontIndirect Lib "gdi32.dll" Alias "CreateFontIndirectA" ( _
lpLogFont As LOGFONT) As Long

Private Declare Function SetTextColor Lib "gdi32.dll" (ByVal hdc As Long, _
ByVal crColor As Long) As Long

Private Declare Function CreateRectRgn Lib "gdi32.dll" (ByVal X1 As Long, _
ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long

Private Declare Function CreateRoundRectRgn Lib "gdi32.dll" (ByVal X1 As Long, _
ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, _
ByVal Y3 As Long) As Long

Private Declare Function CreatePolygonRgn Lib "gdi32.dll" (lpPoint As POINTAPI, _
ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long

Private Declare Function CombineRgn Lib "gdi32.dll" (ByVal hDestRgn As Long, _
ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, _
ByVal nCombineMode As Long) As Long

Private Declare Function FillRgn Lib "gdi32.dll" (ByVal hdc As Long, _
ByVal hRgn As Long, ByVal hBrush As Long) As Long

Private Declare Function GetSysColorBrush Lib "user32.dll" ( _
ByVal nIndex As Long) As Long

Private Declare Function FrameRgn Lib "gdi32.dll" (ByVal hdc As Long, _
ByVal hRgn As Long, ByVal hBrush As Long, _
ByVal nWidth As Long, ByVal nHeight As Long) As Long

Private Declare Function GetStockObject Lib "gdi32.dll" (ByVal nIndex As Long) As Long

Private Declare Function SelectObject Lib "gdi32.dll" (ByVal hdc As Long, _
ByVal hObject As Long) As Long

Private Declare Function DeleteObject Lib "gdi32.dll" ( _
ByVal hObject As Long) As Long

Private Declare Function DrawIcon Lib "user32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long

'************************************************* ***********
' Types
'************************************************* ***********

Private Type POINTAPI
x As Long
y As Long
End Type

Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private Type TOOLINFO
cbSize As Long
uFlags As Long
hwnd As Long
uId As Long
r As RECT
hinst As Long
lpszText As String
End Type

Private Type PAINTSTRUCT
hdc As Long
fErase As Long
rcPaint As RECT
fRestore As Long
fIncUpdate As Long
rgbReserved(32) As Byte
End Type

Private Type LOGFONT
lfHeight As Long
lfWidth As Long
lfEscapement As Long
lfOrientation As Long
lfWeight As Long
lfItalic As Byte
lfUnderline As Byte
lfStrikeOut As Byte
lfCharSet As Byte
lfOutPrecision As Byte
lfClipPrecision As Byte
lfQuality As Byte
lfPitchAndFamily As Byte
lfFaceName(1 To LF_FACESIZE) As Byte
End Type



'************************************************* ***********
' Variables and Constants
'************************************************* ***********

Private Type TOldWndProc
hwnd As Long
lPrevWndProc As Long
End Type

Private WndProc() As TOldWndProc
Private NumTips As Long
Const iOffset = 8
Const FontType = "Tahoma" ' & vbNullChar ' "Tahoma" & vbNullChar
Const FontSize = 13

'************************************************* ************
' Custom WindowProc for the ToolTip
'************************************************* ************
Private Function CustomTipProc(ByVal hwnd As Long, ByVal uiMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long

Dim ps As PAINTSTRUCT
Dim lpszText As String
Dim iTextLen As Integer
Dim rc As RECT
Dim hFont As Long
Dim hFontOld As Long
Dim lf As LOGFONT
Dim i As Integer
Dim CurPos As POINTAPI

Select Case uiMsg
Case WM_PRINT
PostMessage hwnd, WM_PAINT, 0, 0
CustomTipProc = 1
Case WM_PAINT
' Get the Current Window Rect
GetWindowRect hwnd, rc
GetCursorPos CurPos
rc.Right = CurPos.x - iOffset + 6 + rc.Right - rc.Left
rc.Bottom = CurPos.y + 20 + rc.Bottom - rc.Top
rc.Left = CurPos.x - iOffset + 6
rc.Top = CurPos.y + 20
MoveWindow hwnd, rc.Left, rc.Top, rc.Right - rc.Left, rc.Bottom - rc.Top, False
' Get the Window Text (the ToolTip Text)
iTextLen = GetWindowTextLength(hwnd) + 1
lpszText = Space(iTextLen)
GetWindowText hwnd, lpszText, iTextLen
lpszText = Left(lpszText, Len(lpszText) - 1)
' prepare the DC for drawing
BeginPaint hwnd, ps
' create and select the font to be used
lf.lfHeight = FontSize
lf.lfWeight = FW_NORMAL
For i = 1 To Len(FontType)
lf.lfFaceName(i) = Asc(Mid(FontType, i, 1))
Next
hFont = CreateFontIndirect(lf)
hFontOld = SelectObject(ps.hdc, hFont)
' enlarge the window to exactly fit the size of the tooltip text

' using DT_CALCRECT the function extends the base of the
' rectangle to bound the last line of text but does not draw the text.
DrawText ps.hdc, lpszText, Len(lpszText), rc, DT_VCENTER + DT_NOCLIP + DT_CALCRECT
rc.Right = rc.Right + 2 * iOffset
rc.Bottom = rc.Bottom + 3 * iOffset
' show the window before changing its size
' (work around the WM_PRINT problem/feature)
ShowWindow hwnd, SW_SHOWNA
' apply new size
MoveWindow hwnd, rc.Left, rc.Top, rc.Right - rc.Left, rc.Bottom - rc.Top, True
SetBkMode ps.hdc, TRANSPARENT
' draw the balloon
ToolTip_DrawBalloon hwnd, ps.hdc, lpszText
' Restore the Old Font
SelectObject ps.hdc, hFontOld
DeleteObject hFont
' End Paint
EndPaint hwnd, ps
CustomTipProc = 0
Case Else
' Sends message to previous procedure
For i = 0 To NumTips - 1
If WndProc(i).hwnd = hwnd Then
CustomTipProc = CallWindowProc(WndProc(i).lPrevWndProc, hwnd, uiMsg, _
wParam, lParam)
Exit For
End If
Next
End Select
End Function

Private Sub ToolTip_DrawBalloon(hwndTip As Long, hdc As Long, lpszText As String)
Dim rc As RECT
Dim hRgn, hrgn1, hrgn2 As Long
Dim pts(0 To 2) As POINTAPI

GetClientRect hwndTip, rc
pts(0).x = rc.Left + iOffset
pts(0).y = rc.Top
pts(1).x = pts(0).x
pts(1).y = pts(0).y + iOffset
pts(2).x = pts(1).x + iOffset
pts(2).y = pts(1).y
hRgn = CreateRectRgn(0, 0, 0, 0)
' Create the rounded box
hrgn1 = CreateRoundRectRgn(rc.Left, rc.Top + iOffset, rc.Right, rc.Bottom, 15, 15)
' Create the arrow
hrgn2 = CreatePolygonRgn(pts(0), 3, ALTERNATE)
' combine the two regions
CombineRgn hRgn, hrgn1, hrgn2, RGN_OR
' Fill the Region with the Standard BackColor of the ToolTip Window
FillRgn hdc, hRgn, GetSysColorBrush(COLOR_INFOBK)
' Draw the Frame Region
FrameRgn hdc, hRgn, GetStockObject(DKGRAY_BRUSH), 1, 1
rc.Top = rc.Top + iOffset * 2
rc.Bottom = rc.Bottom - iOffset
rc.Left = rc.Left + iOffset
rc.Right = rc.Right - iOffset
' Draw the Shadow Text
SetTextColor hdc, GetSysColor(COLOR_3DLIGHT)
DrawText hdc, lpszText, Len(lpszText), rc, DT_VCENTER + DT_NOCLIP
rc.Left = rc.Left - 1
rc.Top = rc.Top - 1
' Draw the Text
SetTextColor hdc, GetSysColor(COLOR_INFOTEXT)
DrawText hdc, lpszText, Len(lpszText), rc, DT_VCENTER + DT_NOCLIP
End Sub

' Add the Custom ToolTip to the specified object
Public Sub AddCustomToolTip(x As Object, ToolTipText As String, FormOwner As Form)
Dim ti As TOOLINFO
Dim dwStyle As Long
Dim hTip As Long

' A tooltip control with the TTS_ALWAYSTIP style appears when the cursor is
' on a tool, regardless of whether the tooltip control's owner window is active
' or inactive. Without this style, the tooltip control appears when the tool's
' owner window is active, but not when it is inactive.
hTip = CreateWindowEx(0&, "tooltips_class32", "", TTS_ALWAYSTIP, _
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, _
FormOwner.hwnd, 0&, App.hInstance, 0&)
ti.cbSize = Len(ti)
ti.uFlags = TTF_IDISHWND + TTF_SUBCLASS
ti.hwnd = x.hwnd
ti.uId = x.hwnd
ti.lpszText = ToolTipText
SendMessage hTip, TTM_ADDTOOL, 0&, ti
' SubClass the tooltip window
ReDim Preserve WndProc(NumTips)
WndProc(NumTips).lPrevWndProc = SetWindowLong(hTip, GWL_WNDPROC, AddressOf CustomTipProc)
WndProc(NumTips).hwnd = hTip
NumTips = NumTips + 1
' Remove Border from ToolTip
dwStyle = GetWindowLong(hTip, GWL_STYLE)
dwStyle = dwStyle And (Not WS_BORDER)
SetWindowLong hTip, GWL_STYLE, dwStyle
End Sub

Public Sub CreateCustomForm(UserForm As Form)
Dim con As Control
On Local Error Resume Next
For Each con In UserForm.Controls
AddCustomToolTip con, Replace(con.ToolTipText, "|", vbCrLf), UserForm
con.ToolTipText = vbNullString
Next
End Sub



حالا برای Tooltip کنترل ها به جای Enter از کاراکتر خط عمودی ( | ) استفاده کن
و برای رویداد لود فرم هم اینو بنویس


Call CreateCustomForm(Me)

hadi2345
پنج شنبه 11 فروردین 1384, 17:35 عصر
البته فکر کنم راه ساده تری هم وجود داره.
من تو سایت iranvig یک ocx دیدم که دقیقا همین کارو انجام میداد.
ولی نمیدونم اونو download کردم یا نه :(

MM_Mofidi
پنج شنبه 11 فروردین 1384, 23:00 عصر
:flower:

حامد مصافی
جمعه 12 فروردین 1384, 02:19 صبح
لبته فکر کنم راه ساده تری هم وجود داره.
من تو سایت iranvig یک ocx دیدم که دقیقا همین کارو انجام میداد.
ولی نمیدونم اونو download کردم یا نه


شما مطمئن باش کسی که کنترل مزبور رو نوشته کمتر از این برای برنامش زحمت نکشیده

در ضمن قرار نیست شما هر دفعه که برنامه می نویسی این کد رو تایپ کنی که میگی سخته!

armin_izer
شنبه 13 فروردین 1384, 03:01 صبح
:O:O:O:O :strange:
chera in hame module ?
:strange:

faghat hamin
text1.tooltip = "salam" & chr(13) & "bazam salam" & chr(13) & "bye"

Hamedm
شنبه 13 فروردین 1384, 04:04 صبح
آرمین جان اشتباه میکنی. اینجوری نمیشه

Hamedm
شنبه 13 فروردین 1384, 04:18 صبح
ولی با فارسی مشکل داره :( :(

حامد مصافی
یک شنبه 14 فروردین 1384, 13:29 عصر
ولی با فارسی مشکل داره :( :(در خط زیر می تونین فونت دیگه ای انتخاب کنین


Const FontType = "Tahoma" & vbNullChar

MM_Mofidi
یک شنبه 14 فروردین 1384, 14:50 عصر
کد جناب blackdel تکمیله اشکال هم نداره البته امکانات دیگری هم میشه بهش اضافه کرد;)

حامد مصافی
یک شنبه 14 فروردین 1384, 15:55 عصر
کد جناب blackdel تکمیله اشکال هم نداره البته امکانات دیگری هم میشه بهش اضافه کرد;)جناب مفیدی لطفاً اسم منو درست بنویسید: BlackDal :mrgreen:

MM_Mofidi
یک شنبه 14 فروردین 1384, 15:59 عصر
how can covver an A to E? :strange:
خیلی خیلی ببخشید
ولی خودمونیما خیلی با مزه بود :mrgreen:

Hamedm
یک شنبه 14 فروردین 1384, 23:12 عصر
ولی با فارسی مشکل داره :( :(در خط زیر می تونین فونت دیگه ای انتخاب کنین


Const FontType = "Tahoma" & vbNullChar

نه عزیز جان من منظورم Right to Left بود.
در ضمن من هرچی فنت انتخاب میکردم باز هم با فارسی مشکل داره.

موفق باشید و پرتوان

hex161
سه شنبه 16 فروردین 1384, 00:10 صبح
چرا پشتش سیاه میشه؟

حامد مصافی
سه شنبه 16 فروردین 1384, 01:05 صبح
چرا پشتش سیاه میشه؟متاسفانه با مانیفست مشکل داره

hex161
سه شنبه 16 فروردین 1384, 05:52 صبح
نمیشه کاریش کرد؟

حامد مصافی
سه شنبه 16 فروردین 1384, 15:32 عصر
نمیشه کاریش کرد؟معلومه که میشه :mrgreen:

ضمیمه حذف شد ، نسخه جدید پست پایین

حامد مصافی
چهارشنبه 17 فروردین 1384, 01:01 صبح
ولی با فارسی مشکل داره :( :(در خط زیر می تونین فونت دیگه ای انتخاب کنین


Const FontType = "Tahoma" & vbNullChar

نه عزیز جان من منظورم Right to Left بود.
در ضمن من هرچی فنت انتخاب میکردم باز هم با فارسی مشکل داره.

موفق باشید و پرتوان

مشکل راست به چپ و فونت فارسی هم بر طرف شد
کافیه خصوصیت RightToLeft کنترل به به True ست کنید و در تول تیپ فارسی بنویسید
و اگر متنی در خصوصیت Tag کنترل بنویسید در عنوان تول تیپ ظاهر خواهد شد

بابک زواری
چهارشنبه 17 فروردین 1384, 01:59 صبح
چرا فارسی نمیشه تایپ کرد؟
هر قلمی هم براش میزارم بازم مشکل داره.

حامد مصافی
چهارشنبه 17 فروردین 1384, 02:11 صبح
:strange:

من که مشکلی ندارم
فونت Tahoma روی کامپیوتر شما نصبه؟؟؟؟
:گیج:

بابک زواری
چهارشنبه 17 فروردین 1384, 12:40 عصر
چه فرم خوشگلی داری...
این متنو hex161 نوشته.
چرا من هرچی پست میکنم با نام آفای کد نویس وارد میشه؟

niloufar
چهارشنبه 17 فروردین 1384, 13:46 عصر
سلام
1- ToolTip قشنگی است
2-اما من هم نتوانستم فارسی بنویسم. اگر فارسی بنویسیم حروف را عجغ وجغ می آورد. فونتها را هم عوض کردم ولی فقط فونت این عجغ وجغ ها تغییر کرد.
3- در Tag هم نوشتم اما عنوان برای آن نیاود.
4- اگر خاصیت ToolTip را در حالت RunTime ست کنیم. این ماژول اعمال نمی شود.
5- اگر ممکن است یه پروژه کامل را Zip و ارسال نمایید. شاید ما جایی اشتباه می کنیم.

ممنون

hex161
چهارشنبه 17 فروردین 1384, 14:11 عصر
نمیشه کاری کرد پشتش سیاه نشه؟

حامد مصافی
چهارشنبه 17 فروردین 1384, 17:38 عصر
من که می تونم فارسی بنویسم ، نمی دونم مشکل کجاست!!
فعلاً در RunTime اگه یک کنترل صاحب تول تیپ بشه میشه اون رو اعمال کرد ولی اگه تول تیپ یه کنترل ویرایش بشه... فعلاً نمیشه!
ضمناً جنای hex161 از نسخه پیش دیگه پشتش سیاه نمیشه

در هر صورت این پروژه نیمه کاره رو ببینید

hex161
پنج شنبه 18 فروردین 1384, 01:18 صبح
پس با این وجود مشکل از ویندوز میشه
میشه مشخصات کامل ویندوزتون رو بگید؟
ممنون.

حامد مصافی
پنج شنبه 18 فروردین 1384, 01:59 صبح
پس با این وجود مشکل از ویندوز میشه
میشه مشخصات کامل ویندوزتون رو بگید؟
ممنون.

ویندوز ایکس پی سرویس پک دو و ویندوز 2003 سرور

hbi
پنج شنبه 18 فروردین 1384, 05:59 صبح
میشه لطفا یک نفر بگه چطور میشه فونت Tahoma را نصب کرد
برای من هم کد تحویل میدهد :cry:

Hamedm
پنج شنبه 18 فروردین 1384, 07:18 صبح
سلام

جناب آقای BlackDal دست شما درد نکنه.

ولی باز هم با فونت مشکل داره.
عکس زیر Runtime برنامه جناب عالی است.
بنظر شما Tooltip زیر فونت Tahoma است؟

موفق باشید و پرتوان

حامد مصافی
شنبه 20 فروردین 1384, 20:02 عصر
این کنترل ضمبمه رو ببین

niloufar
چهارشنبه 24 فروردین 1384, 15:53 عصر
:flower:
عالی بود. کار کرد. ممنون

Palangi122
پنج شنبه 01 اردیبهشت 1384, 09:42 صبح
:O:O:O:O :strange:
chera in hame module ?
:strange:

faghat hamin
text1.tooltip = "salam" & chr(13) & "bazam salam" & chr(13) & "bye"

با سلام
دوست عزیز این که جواب نمی دهد.

niloufar
پنج شنبه 01 اردیبهشت 1384, 14:00 عصر
faghat hamin
text1.tooltip = "salam" & chr(13) & "bazam salam" & chr(13) & "bye"

بابا بی خیال :sunglass: به همین راحتی هم که نیست.
این که فرضیه نسبیت انیشتن نیست که فعلا قابل تست نباشه. لااقل خودت یه بار فرضیه ات را آزمایش می کردی :wise2: