Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Abfragen, ob Mouse down (https://www.delphipraxis.net/17321-abfragen-ob-mouse-down.html)

barnti 3. Mär 2004 13:42

Re: Abfragen, ob Mouse down
 
Hallo,

ich habe folgendes herausgefunden.

Ist einmal der linke Mousebutton betätigt worden, bleibt GetAsyncKeyState(VK_LBUTTON) immer auf true.

Erst nachdem ich nocheinmal mit links in das Grid klicke, liefert die funktion wieder den Wert false.

Wie kann ich erreichen, dass nach dem abgeschlossenen 'Drag-drop-Vorgang' der Button-State wieder zurüchgesetzt wird?

Habe folgendes versucht, leider ohne Erfolg:

Delphi-Quellcode:
procedure TForm_Main.DBGrid_MasterColEnter(Sender: TObject);
var mousedown: Smallint;
begin
  mousedown:= GetAsyncKeyState(VK_LBUTTON);
  if mousedown<> 0 then
    begin
      DBGrid_Master.BeginDrag(false);
    end;
end;

Tyrael Y. 3. Mär 2004 13:49

Re: Abfragen, ob Mouse down
 
Vielleicht hilft dir ja mouse_event aus der Win SDK weiter...

The mouse_event function synthesizes mouse motion and button clicks.

VOID mouse_event(

DWORD dwFlags, // flags specifying various motion/click variants
DWORD dx, // horizontal mouse position or position change
DWORD dy, // vertical mouse position or position change
DWORD dwData, // amount of wheel movement
DWORD dwExtraInfo // 32 bits of application-defined information
);

..guck mal weiter in der Hilfe

barnti 3. Mär 2004 14:05

Re: Abfragen, ob Mouse down
 
Hi,

habe ich mal so gemacht:

Delphi-Quellcode:
procedure TForm_Main.DBGrid_MasterEndDrag(Sender, Target: TObject; X,
  Y: Integer);
begin
  mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
...
Leider keine Änderung. Die If-Bedingung liefert weiterhin nur 'true'.

Ich weiß leider nicht weiter. Noch Ideen? Wie kann man dafür sorgen, dass 'GetAsyncKeyState(VK_LBUTTON)<>0'
nicht mehr 'true' liefert?!

Danke für eure Hilfe!

Gruß,

Barnti


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:48 Uhr.
Seite 2 von 2     12   

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