| Autor |
Beitrag |
gnomecoder
      
Beiträge: 51
Erhaltene Danke: 5
|
Verfasst: So 29.05.11 16:18
Hi.
Bin grad dabei nen Zahlenspiel zu programmieren, dabei läuft alles in nem Stringgrid ab und man klickt mit der Maus auf die Zellen.
Da das Stringgrid mit der Zeit zig Zellen besitzen kann, ist es notwendig dass man scrollen kann. (Stringgrid in Scrollbox)
Wenn man das scrollen jetzt mim Mausrad macht wird immer das Onclick ereignis aufgerufen.
(Die selektierte Zelle wandert immer eine Zeile runter oder hoch.)
Ist es möglich das zu umgehn? Das scrollen soll weiterhin funktionieren. Moderiert von Gausi: Topic aus Sonstiges (Delphi) verschoben am So 29.05.2011 um 18:02
|
|
gnomecoder 
      
Beiträge: 51
Erhaltene Danke: 5
|
Verfasst: So 29.05.11 16:47
Habs jetzt so gelöst dass ich drauf achte dass das stringgrid.height immer so groß ist dass man nicht scrollen muss, sondern in der scrollbox gescrollt wird, dann setze bei jedem Klick aufs Stringgrid den Fokus auf die Scrollbox.
Mit
Quelltext 1: 2:
| with (Sender as TScrollBox).VertScrollBar do Position := Position + 10; |
im onmousewheeldown ereignis kann man dann sogar die Scrollbox mim Mausrad scrollen.
Nur wird diese dann dann wieder ganz nach oben gescrollt wenn man auf nen element klickt was sich in der Scrollbox befindet 
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: So 29.05.11 17:01
Hallo,
hat das einen bestimmten Grund das StringGrid über eine ScrollBox zu scrollen?
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
Gausi
      
Beiträge: 8553
Erhaltene Danke: 479
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: So 29.05.11 17:02
Das würde mich auch interessieren. Ein StringGrid hat doch selber schon Scrollbars dafür - warum das also in eine Scrollbox packen? 
_________________ We are, we were and will not be.
|
|
gnomecoder 
      
Beiträge: 51
Erhaltene Danke: 5
|
Verfasst: So 29.05.11 17:07
weil ich, wenn ich mit dem Stringgrid scrolle, das oben beschriebene Problem habe.
wenn ich erfahre wie ich umgehe, dass das Onclick Ereinis beim scrollen aufgerufen wird, ist die Scrollbox überflüssig, da habt ihr recht.
Edit: vllt als kleine ergänzung zum verständnis: ein Klick in ein Feld ist quasi eine Eingabe vom Benutzer, was als nächstes gemacht werden soll. Wenn also beim Scrollen irgendwelche felder 'angeklickt' werden, ist das unvorteilhaft^^
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: So 29.05.11 17:38
dann hast du das gleiche Problem wie der User dort:
www.delphipraxis.net...-click-gewertet.html
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
Gausi
      
Beiträge: 8553
Erhaltene Danke: 479
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: So 29.05.11 17:42
Dann würde ich zu einem Komponentenwechsel tendieren. In der DP wird zwar erläutert, wie man das StringGrid anpassen kann, aber das halte ich nicht für besonders schön. Dann lieber das ganze mit einer anderen Komponente machen, wie z.B. dem VirtualStringTree. 
_________________ We are, we were and will not be.
|
|
gnomecoder 
      
Beiträge: 51
Erhaltene Danke: 5
|
Verfasst: So 29.05.11 18:01
Perfekt, die vorgeschlagene Lösung in dem Thread funktioniert super.
Danke.
Da es nur nen kleines Projekt ist werd ich mal beim Stringgrid bleiben soweits jetzt funktioniert.
Mit Alternativen habe ich nämlich noch nicht gearbeitet^^
|
|
MDX
      
Beiträge: 595
Erhaltene Danke: 4
Windows 8.1, Linux Debian 8, Android Lollipop
Delphi, PHP, Java (Android)
|
Verfasst: So 29.05.11 19:30
|
|
Gausi
      
Beiträge: 8553
Erhaltene Danke: 479
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: So 29.05.11 19:44
_________________ We are, we were and will not be.
|
|
jaenicke
      
Beiträge: 19338
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 29.05.11 19:48
Ich nehme an wegen seines Threads, den ich bisher zu faul zu beantworten war. 
|
|
MDX
      
Beiträge: 595
Erhaltene Danke: 4
Windows 8.1, Linux Debian 8, Android Lollipop
Delphi, PHP, Java (Android)
|
Verfasst: So 29.05.11 20:10
Ja, ganz genau weil alles am Anfang total kompliziert und unverständlich ist  (Gibt leider irgendwie keine guten Tutorials...)
|
|