Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi OnMouseDown Ereignis (https://www.delphipraxis.net/517-onmousedown-ereignis.html)

Yheeky 2. Aug 2002 23:50


OnMouseDown Ereignis
 
Hi,

ich habe eine Image-Komponente und ein OnMouseDown Ereignis. Ich möchte jetzt, dass das Ereignis auftritt, wenn ich die Maus drücke, aber auch, wenn ich sie dann weiter gedrückt halte. Wie kann ich das machen?

Gruß Yheeky

Christian Seehase 3. Aug 2002 00:00

Moin Yheeky,

such mal hier im Forum nach GetAsyncKeyState.
Vielleicht ist der Code dort was für Dich.

Yheeky 3. Aug 2002 01:34

Hi Christian,

yo danke. Ich bin fündig geworden jedoch funktioniert das nicht so, wie ich gerne möchte. Kann man dabei vielleicht noch die Geschwindigkeit beeinflussen, da das Verarbeiten des Ereignisses jetzt viel zu schnell verläuft (ich möchte ein scrollen via Bild ermöglichen, aber jetzt gelangt die ListBox bereits mit einem klick ans Ende und das soll nicht sein).

Vielleicht kann mir dabei ja noch jemand helfen.

Gruß Yheeky

Christian Seehase 3. Aug 2002 01:44

Moin Yheeky,

dann mach das Ganze doch nicht im OnMouseDown, sondern im OnMouseMove.
Da kannst Du auch direkt den ShiftState abfragen, also ob denn nun die Linke Taste gedrückt ist oder nicht, und entsprechend reagieren.

Yheeky 4. Aug 2002 09:12

Aber ich möchte das ja nicht bei MouseMove machen - sprich nur wenn sich die Maus bewegt. Außerdem gibt´s die die Möglichkeit mit "Shift" die Maustaste abzufragen auch im OnMouseDown-Ereignis.

Gruß Yheeky

Christian Seehase 4. Aug 2002 10:48

Moin Yheeky,

jetzt hab' ich's hoffentlich verstanden. ;-)
Du willst solange Scrollen, wie die linke Taste gedrückt ist, ohne die Maus zu bewegen. (oder?)
Dann wirst Du wohl nur noch eine Verzögerung in die Schleife einbauen müssen, die Dir zu schnell läuft und gut.
In der Object Pascal Library haben wir dafür ein Beispiel von Luckie.

Yheeky 4. Aug 2002 19:45

Aha...wo da genau? Hab´s bisher noch nicht gefunden.

Christian Seehase 4. Aug 2002 20:24

Moin Yheeky,

hier:

Library: Object-Pascal: Delay in Delphi

Yheeky 4. Aug 2002 22:45

Achso da...ich habe woanders gesucht - nicht in der Library :lol:

Danke! Werde es gleich mal ausprobieren.

Gruß Yheeky

Yheeky 5. Aug 2002 00:18

Ich weiss nicht, aber irgendwie will das nicht so funktionieren wie ich das gerne möchte.

Code:
repeat
   delay(2000);
   if Anfang < 0 then
   begin
   Anfang := Anfang +1;
   Ende := Ende +1;
   Button1.Click;
   end;

until GetAsyncKeyState(VK_LBUTTON) = 0;

end;
So geht´s nicht. Wie gesagt möchte ich ein Scrollen realisieren. Der Anfangswert und der Endwert soll neu gesetzt werden und mit dem Buttonklick soll die ListBox neu gezeichnet werden.

Sorry, mir fällt im Moment nichts dazu ein, aber vielleicht kann mir ja jemand helfen.

Gruß Yheeky


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz