tooltiptext
6 отговора
271 прегледа
tooltiptext
здравейте! опитвам се да направя tooltiptext на няколко реда за сега без успех. мисля че е възможно, защото за msgbox например в редактора параметрите се изписват в два реда, поне така е при мен. в програмата която правя трябва да се въвеждат около 10 кода и искам чрез това нещо да улеснявам избора.
Re: tooltiptext
Всеки контрол си има това свойство. Сетваш например Command1.ToolTipText = "This is command button", и свойството започва да работи за тебе.
Вече по-трудното е, когато искаш от ListBox да посочваш с мишката някой ред, и като тоолтип да излиза информация за въпросния ред, като за всеки ред от ListBox-а може да е различна информацията. Но за това нека някой друг даде малко инфо, че и на мене ми тряяя... ;о)
----------------------------------
помислих, хареса ми, помислих пак...
Вече по-трудното е, когато искаш от ListBox да посочваш с мишката някой ред, и като тоолтип да излиза информация за въпросния ред, като за всеки ред от ListBox-а може да е различна информацията. Но за това нека някой друг даде малко инфо, че и на мене ми тряяя... ;о)
----------------------------------
помислих, хареса ми, помислих пак...
Re: tooltiptext
във формата слагам един Label на който задавам tooltiptex даден стринг. понеже стринга е дълъг(съдържа кодове и описание на продукт - например 01 продукт1 и т.н.) искам да бъде на няколко реда. с vbcrlf не става. използвам момента да попитам и за това как да направя една модална форма popup, тоест докато не се затвори с бутон, да не се скрива. в access има такова свойство, но в vba не намерих такова нещо.
Re: tooltiptext
За модалната форма:
Form2.Show 1
За MultiLine ToolTip - имам код който го прави това, но ToolTip-a се "прикача" към определен прозорец или каквото и да е само да предоставя hWnd property. Само че ако искаш кода, ще трябва да го направя като някакъв Class за да може да се ползва по-лесно - сега е "интегриран" в един мой User Control.
Със стандартния Label на Visual Basic няма да работи, защото той не предоставя hWnd property.
Form2.Show 1
За MultiLine ToolTip - имам код който го прави това, но ToolTip-a се "прикача" към определен прозорец или каквото и да е само да предоставя hWnd property. Само че ако искаш кода, ще трябва да го направя като някакъв Class за да може да се ползва по-лесно - сега е "интегриран" в един мой User Control.
Със стандартния Label на Visual Basic няма да работи, защото той не предоставя hWnd property.
Re: tooltiptext
Option Explicit
Private Declare Function SendMessage _
Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const LB_ITEMFROMPOINT = 425
Private Sub Form_Load()
Dim i As Long
For i = 0 To 10
List1.AddItem i
Next i
End Sub
Private Sub List1_MouseMove( _
Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim X_ As Integer, Y_ As Integer
Dim Coord As Long
Dim RetVal As Long
X_ = X \ Screen.TwipsPerPixelX
Y_ = Y \ Screen.TwipsPerPixelY
Coord = MakeDWord(X_, Y_)
RetVal = SendMessage( _
List1.hwnd, LB_ITEMFROMPOINT, 0&, (Coord))
If HiWord(RetVal) = 1 Then
'Курсора е извън list box-a -> outside the client area
End If
If HiWord(RetVal) = 0 Then
Me.Caption = List1.List(LoWord(RetVal))
End If
End Sub
Function MakeDWord(LoWord As Integer, HiWord As Integer) As Long
MakeDWord = (HiWord * &H10000) Or (LoWord And &HFFFF&)
End Function
Function LoWord(DWord As Long) As Integer
If DWord And &H8000& Then ' &H8000& = &H00008000
LoWord = DWord Or &HFFFF0000
Else
LoWord = DWord And &HFFFF&
End If
End Function
Function HiWord(DWord As Long) As Integer
HiWord = (DWord And &HFFFF0000) \ &H10000
End Function
Редактирано от Щиpлиц на
Re: tooltiptext
shto se otnasq za listbox, tooltipa mojesh da go frasnesh i na MouseDown, udobno e kat elementite sa dylgi, pyk listboxa ne moje izcqlo da gi vizualizira:
lstBox.ToolTipText = lstBox.List(lstBox.ListIndex)
lstBox.ToolTipText = lstBox.List(lstBox.ListIndex)
Re: tooltiptext
Abe az mislia che sum go pravil po tozi nachin:
edna forma s edin listbox i slednia kod za primer
Private Sub Form_Load()
For i = 0 To 10
List1.AddItem Item & i
Next i
End Sub
Private Sub List1_Click()
List1.ToolTipText = "Izbrali ste red " & List1.Text
End Sub
Наведи главата защото прелитам ниско с асконата !!!
edna forma s edin listbox i slednia kod za primer
Private Sub Form_Load()
For i = 0 To 10
List1.AddItem Item & i
Next i
End Sub
Private Sub List1_Click()
List1.ToolTipText = "Izbrali ste red " & List1.Text
End Sub
Наведи главата защото прелитам ниско с асконата !!!