Results 1 to 3 of 3
Thread: RQ: Windows.Form íà VisualBasic
Hybrid View
-
2nd July 2007 14:58 #1
RQ: Windows.Form íà VisualBasic
Çäðàâåéòå
Ðàçó÷àâàì VB çà Windows.Form è èìàì íóæäà îò ìàëêî (èëè ìîæå áè ìíîîãîî
) ïîìîù:
Èìàì ôîðìà íà VB - panel, ñúñ ñòàíäàðòåí âåðòèêàëåí ñêðîë. Ñ ëÿâ áóòîí â/ó ñêðîëà è drag ñè ðàáîòè íîðìàëíî
Èñêàì îáà÷å ïðè event - MouseWheel - äà ñå çàäåéñòâà ñêðîëà (íå ñòàâà àâòîìàòè÷íî)
Äî òóê ñàìî óñïÿâàì äà ñåëåêòèðàì èìåííî ñêðîëà îò ïàíåëà:
Íå çíàì, îáà÷å êàê äà ñêðîëèðàì â ïàíåëà ñ èíòåðâàë e.Delta... Äà àêòèâèðàì ñêðîëà íà ïàíåëà íå å äîñòàòú÷íî,ò.å. êàêâî èëè êîå òðÿáâà äà ïðîìåíÿ/äîáàâÿ, çà öåëòà?Code:Private Sub panel_MouseWheel(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles panel.MouseWheel Me.ActiveControl = panel.VScrollBar End Sub"Íèêîãà íå ìîæåì äà ñìå ñèãóðíè, ÷å ìíåíèåòî, êîåòî ñå ñòðåìèì äà çàäóøèì å ïîãðåøíî, à è äà áÿõìå ñèãóðíè, ïàê áè áèëî ïîãðåøíî äà ãî çàäóøèì."
Äæîí Ñòþàðä Ìèë
-
2nd July 2007 16:16 #2
Äàëè òîâà íÿìà äà ñâúðøè ðàáîòà?
Public Function MouseWheelChange(CurrentValue As Variant, DeltaValue As Variant, MinValue As Variant, MaxValue As Variant) As Variant
Dim newvalue As Variant
newvalue = CurrentValue + DeltaValue
If newvalue < MinValue Then
newvalue = MinValue
ElseIf newvalue > MaxValue Then
newvalue = MaxValue
End If
MouseWheelChange = newvalue
End Function
Public Sub MouseWheel(ByVal MouseKeys As Long, ByVal Rotation As Long, ByVal Xpos As Long, ByVal Ypos As Long)
On Error Resume Next
If TypeOf Me.ActiveControl Is VScrollBar Then
With VScroll1
.Value = MouseWheelChange(.Value, Sgn(Rotation) * .LargeChange, .Min, .Max)
End With
ElseIf TypeOf Me.ActiveControl Is TextBox Then
Text1.Text = MouseWheelChange(Text1.Text, Rotation, -1000, 1000)
End If
End SubEP43-DS3|E5200@3.33|ASUS EN9800GT HB /HTDI/ 512MB|2X2GB 800MHZ CL5 A-DATA|WD2500JB|NEC 4750A|BELINEA 1980S2
-
4th July 2007 13:02 #3
Ìåðñè çà ïîìîùòà
×àê äíåñ óñïÿõ äà ãî ïîäêàðàì - ñòàíà ïî àíàëîãè÷åí íà òâîÿ íà÷èí, íî îïðåäåëåíî èäåîëîãè÷åñêè ìè ïîìîãíà ìíîãî!
delta ìè e ãëîáàëíà ïðîìåíëèâà, à ScrollTo(X, Y) - ÷ëåí ôóíêöèÿ íà ïàíåëà, óêàçâàùà íà êîÿ òî÷êà îò íåãî äà ñêðîëèðàCode:Private Sub panel_MouseWheel(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles panel.MouseWheel Me.ActiveControl = panel.VScrollBar panel.AutoScroll = True delta= delta - e.Delta panel.ScrollTo(0, delta) End Sub
P.S. btw êàòî âåäíúæ å íàïðàâåíî - ðåøåíèåòî èçãëåæäà íàïðàâî åëåìåíòàðíî
"Íèêîãà íå ìîæåì äà ñìå ñèãóðíè, ÷å ìíåíèåòî, êîåòî ñå ñòðåìèì äà çàäóøèì å ïîãðåøíî, à è äà áÿõìå ñèãóðíè, ïàê áè áèëî ïîãðåøíî äà ãî çàäóøèì."
Äæîí Ñòþàðä Ìèë




Reply With Quote

Lenovo ThinkPad 15 èëè IdeaPad 15
5th May 2023, 22:16 in Ìîáèëíè êîìïþòðè