Bosna i Hercegovina



#1 31.03.2015-12:36
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,165


Subject: 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:
Informacije o fajlu: zip  Mouse_scrol_flexgrid_jednostavno.zip
Preuzimanja: 76
Veličina: 4.16 KB


Život je moja domovina.
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 31.03.2015-12:40 od strane Avko. ↑  ↓

#2 31.03.2015-14:04
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,721


Ocjena: Ocjena:100 Subject: Re: MSFlexGrid i mis(mouse)
Bolje da si napisao sta zelis napraviti kao i ovo sad nego sto si nabubao ovaj silni kod.
Nisam ni gledao sta radi.
Evo ti kod za ovo da ti iscita iz reda podatke.
DownloadIzvorni kod (Visual Basic):
  1. Option Explicit
  2. Dim X As Boolean
  3. Private Sub Form_Load()
  4. Dim Red  As Integer, Kol As Integer, i As Integer
  5. Dim tmp As String
  6.  
  7. MSFlexGrid1.Col = 1
  8. For i = 1 To 10
  9. tmp = "Tekst: " & Str(i)
  10. MSFlexGrid1.Row = i
  11. MSFlexGrid1.Text = tmp
  12. Next i
  13. X = True
  14. End Sub
  15.  
  16.  
  17. Private Sub MSFlexGrid1_RowColChange()
  18. If X = True Then
  19. MsgBox "Red: " & MSFlexGrid1.Row & "   " & MSFlexGrid1.Text
  20. End If
  21. End Sub

Pozdrav
↑  ↓

#3 31.03.2015-16:04
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,165


Subject: Re: MSFlexGrid i mis(mouse)
hvala idem ja sada to probat upotrijebiti,
a pokusao sam u gornjoj poruci izbrisati onaj kod ali mi se srce preseklo kad mi je reko da je vreme isteklo.
ha, sta da se kaze, hvala

morao sam se vratiti da te malo pohvalim.
evo isprobao i to radi bas onako kako i treba. bar za sada
nije mi uopce jasno kako po forumima tako jednostavne stvari toliko zakompliciraju da covjek jednostavno izgubi volju, a kod tebe zizi na forumu to su tako jednostavna rijesenja koja razumije svaki pocetnik i kad ih pogledam nemoze a da mi se ne nametne misao: pa tako jednostavno a ja nisam mogao doci do toga rijesenja. bice kao i sa strujom, vatrom i svime ostalime. mora covjek valjda da ima razvijenu mastu, a kazu mašta radi svašta Laughing
Život je moja domovina.
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 31.03.2015-16:27 od strane Avko. ↑  ↓

Stranice (1): 1


All times are GMT +01:00. Current time: 20.07.2018-20:47.