Predmet:MSFlexGrid i mis(mouse)
evo mene opet. Nakon sto sam skinuo brdo programa raznih primjera za skrolovanje flexgrida sa misom, uglavnom su to bili kodovi za profesionalce gdje se skroluje po nekoliko flexgridova na istoj formi, naisao sam i na jedan jednostavan. Za ove komplicirane nisam pronikao u to kako kada kliknemo na red i onda procitamo taj red vec mi se smrzavalo. pokusao sam pronaci rijesenje i nasao ovo
u konacnoj raspravi je napisano:
"That means if your program is ended in any way other than the proper execution of the code closing forms and classes and especially sub classes.
Pressing the stop button in the IDE causes the code to exit without cleaning up properly and can cause a real mess in such a case as can the End statement. In short if you do not understand sub classing and the problems it can cause then you really should not use it."
sa google prevoditejem bi bilo da nije taj momak a ni ja ispravno zavrsili kod sa ciscenjem i svime ostalim a i ne razumijemo se u klasifikaciju pa se vb6 smrzne i moram izaci uz pomoc taska.
onda sam opet guglao i isprobavao i nasao jednostavan primjer ovaj, zakacio sam ga a stavicu i ovdje kod onaj bez modula u kojem se definira nekakv IDE, ili sta ti ja znam, uglavnom za misa :
Option Explicit
Private Sub Command1_Click()
RemoveScrollness MSFlexGrid1.hwnd
MsgBox "kraj"
End
End Sub
'Enable Scrolling for the grid
Private Sub Form_Load()
AddScrollness MSFlexGrid1.hwnd
End Sub
'End the scrolling ability for the grid
Private Sub Form_Unload(Cancel As Integer)
RemoveScrollness MSFlexGrid1.hwnd
MsgBox "prekid"
End Sub
Private Sub MSFlexGrid1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Get the scrolling value
Dim Scroll As Integer
Scroll = GetScrollMovement(MSFlexGrid1.hwnd)
If Scroll = 1 Then '1 = scroll up
If MSFlexGrid1.TopRow <> 1 Then _
MSFlexGrid1.TopRow = MSFlexGrid1.TopRow - 1
ElseIf Scroll = -1 Then '-1 = scroll down
MSFlexGrid1.TopRow = MSFlexGrid1.TopRow + 1
Else '0 = the event was fired for a proper MouseMove
'<<DEAL WITH THE OTHER MOUSEMOVE stuff here>>
End If
Debug.Print MSFlexGrid1.Row
End Sub
imam dvije prekidne tocke msgBox "kraj" to je kada stisnem na tipku "izlaz" i msgbox "prekid" kada stisnem X na panelu. to sve radi i nema smrzavanja. Nastavio bi ja dalje igrat se ali sam zapeo, e sada pitanje ide ovako:
ucitao bi telimenik u binarnom obliku u msflexgrid (to netreba, to znam)
nakon toga bi vrtio kotacicem misa i pomicao gore-dole (to mi isto radi ovaj kod ovdje)
sortiranje msflexgrid (to sam nabavio kod i to ce raditi, isprobao sam pa to netreba)
ali problem je kako uhvatiti kada kliknem na recimo 5 red da mi uzme u neku varijablu taj cijeli red pa da mogu sa njime onda raditi dalje. ja sam stavio Debug.Print MSFlexGrid1.Row i pokazuje mi ispravno onaj red na koji sam kliknuo, tj broj reda i to je u redu, ali sada bi trebao nakon klika misa na taj red izaci odatle sa tim podatkom, recimo vratiti se nazad u glavni dio i tamo onda sa tim redom uzeti podatak iz flexgrida o toj osobi itd. itd
znaci kada kliknem na red onda da mi ispravno izade iz te procedure sa podacima toga reda
e jbg, vidim da sam zakomplicirao ali sam htio sto bolje objasniti pa ako treba dodatno pojasnjenje ili otkloniti neke nejasnoce, nije tesko napisati.
nije hitno, kad stignete, stignete, zivot je pred nama
Prilozi:
Mouse_scrol_flexgrid_jednostavno.zip
Preuzimanja:363
Velicina datoteke:4.16 KB
zivot je moja domovina.
Ovaj post je ureden
1
puta. Posljednja izmjena 31.03.2015 12:40 od strane Avko.