Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi PostMessage Problem (https://www.delphipraxis.net/153480-postmessage-problem.html)

STaRDoGGCHaMP 4. Aug 2010 15:48

PostMessage Problem
 
Hallo,
Ich habe ein kleines Problem, wenn ich mit Hilfe von PostMessage Einen simplen Klick "senden" möchte. Hier mal vereinfacht dargestellt, Mein Code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled := TRUE;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
    PostMessage(Form1.Handle, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(10, 10));
    PostMessage(Form1.Handle, WM_LBUTTONUP, 0, MAKELPARAM(10, 10));
end;
Das ganze geschieht in einem 2-Sekunden Intervall. Die Klicks werden auch "gesendet". Wenn ich jetzt allerdings während die Klicks gesendet sind beispielsweise das Fenster bewege "crasht" das ganze ein wenig (das Fenster springt zu einer ganz anderen Position). Das ist natürlich nicht optimal und ich würde gerne wissen, wie ich diesem Verhalten vorbeugen kann. Ich denke mal ich müsste irgendwie überprüfen, ob die Nachrichten-Warteschlange von der Fensterprozedur leer ist, bzw. keine anderen Nachrichten beinhaltet, welche obiges Verhalten verursachen. Irgendwelche Ideen?

MfG,
STaRDoGGCHaMP

Björn Ole 4. Aug 2010 18:42

AW: PostMessage Problem
 
Vielleicht damit den Klick senden?

STaRDoGGCHaMP 4. Aug 2010 19:06

AW: PostMessage Problem
 
Wäre ne gute Idee, wenn ich einen Button klicken möchte. Möchte ich aber nicht ;). Trotzdem vielen Dank für die Antwort

Luckie 4. Aug 2010 19:13

AW: PostMessage Problem
 
Gehe ich richtig in der Annahme, dass du einen Banner oder Link auf einer Webseite anklicken willst?

STaRDoGGCHaMP 4. Aug 2010 20:18

AW: PostMessage Problem
 
lol nein, ich haber überhaupt keine derartigen Absichten. ;)

Luckie 4. Aug 2010 20:21

AW: PostMessage Problem
 
Was willst du denn machen?

STaRDoGGCHaMP 4. Aug 2010 20:22

AW: PostMessage Problem
 
Ich möchte lediglich mit Postmessage einen Klick in mein Formular "senden" und dabei problemlos das Fenster bewegen können. Wie gesagt, ich glaube, dass ich irgendwie überprüfen muss, ob die Nachrichten-Warteschlange der Fensterprozedur "bereit" ist, also ob keine anderen Input-Nachrichten drinne sind oder Aktionen, welche die Problematik verursachen.

Luckie 4. Aug 2010 20:30

AW: PostMessage Problem
 
Ruf doch einfach das zugehörige OnClick Ereignis auf.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 Uhr.

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