Autor Beitrag
gnomecoder
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51
Erhaltene Danke: 5



BeitragVerfasst: 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 user profile iconGausi: Topic aus Sonstiges (Delphi) verschoben am So 29.05.2011 um 18:02
gnomecoder Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51
Erhaltene Danke: 5



BeitragVerfasst: 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
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8553
Erhaltene Danke: 479

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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? :gruebel:

_________________
We are, we were and will not be.
gnomecoder Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51
Erhaltene Danke: 5



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8553
Erhaltene Danke: 479

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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. :nixweiss:

_________________
We are, we were and will not be.
gnomecoder Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51
Erhaltene Danke: 5



BeitragVerfasst: So 29.05.11 18:01 
user profile iconLannes hat folgendes geschrieben Zum zitierten Posting springen:
dann hast du das gleiche Problem wie der User dort:
www.delphipraxis.net...-click-gewertet.html


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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 595
Erhaltene Danke: 4

Windows 8.1, Linux Debian 8, Android Lollipop
Delphi, PHP, Java (Android)
BeitragVerfasst: So 29.05.11 19:30 
user profile iconGausi hat folgendes geschrieben Zum zitierten Posting springen:
[...] Dann lieber das ganze mit einer anderen Komponente machen, wie z.B. dem VirtualStringTree. :nixweiss: [...]


Bleib bloß damit weg :P
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8553
Erhaltene Danke: 479

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: So 29.05.11 19:44 
user profile iconMDX hat folgendes geschrieben Zum zitierten Posting springen:
Bleib bloß damit weg :P

Wieso? Das Ding ist zwar am Anfang etwas umständlich zu benutzen. Aber wenn man den Dreh einmal raushat, ist der VST echt prima, weil man den ganz den eigenen Bedürfnissen anpassen kann.

_________________
We are, we were and will not be.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19338
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 29.05.11 19:48 
Ich nehme an wegen seines Threads, den ich bisher zu faul zu beantworten war. :mrgreen:
MDX
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 595
Erhaltene Danke: 4

Windows 8.1, Linux Debian 8, Android Lollipop
Delphi, PHP, Java (Android)
BeitragVerfasst: So 29.05.11 20:10 
Ja, ganz genau weil alles am Anfang total kompliziert und unverständlich ist :D (Gibt leider irgendwie keine guten Tutorials...)