Einzelnen Beitrag anzeigen

Benutzerbild von TonyR
TonyR

Registriert seit: 17. Jun 2006
Ort: Bautzen
503 Beiträge
 
FreePascal / Lazarus
 
#19

Re: Maus auf ein Ereignis reagieren lassen

  Alt 15. Apr 2007, 14:39
1. Frage: Welches Interval hast du im Moment im Timer???

2. Sache: In der Timer-Prozedur hast du die Variablen X und Y...diese sind immer 0! Ich dachte, du willst den Mausklick dort ausführen, wo die Farbe ist
Da musst du entweder nochmal das
Delphi-Quellcode:
var
  Pos: TPoint;
begin
  GetCursorPos(Pos);
einfügen, oder Pos gleich global deklarieren, um auch in Timer1Timer darauf zugreifen zu können!!

3. Ein weiteres Problem ist, dass du dir ganz sicher sein musst, welche Farbe es nun sein soll! Ich hoffe du weist, dass die ganze Sache nicht funktioniert, wenn die Farbe unter der Maus auch nur eine winzige Farbnuance anders ist!!!
ClGreen ist also in dem Fall auch nicht sehr empfehlenswert! Lieber eine Farbangabe im Hexadezimalstil verwenden (Wie z.B. "FFFFFF")...
Optimal wäre natürlich ein Farbbereich... aber da bin ich überfragt, was die Realisierung angeht... [Da weis vielleicht ein anderer bescheid!?]


So... nun werd ich mir mal deinen Code ansehen Bitsetter!

PS: Juhuuuu... Alonso ist bloß Fünfter

Edit: Noch was gaaanz wichtiges!! Warum vergisst du das begin und end für den Block im OnTimer???
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
x, y: integer;
begin
//hier musst du das mit dem Getcursor noch machen ;-)
if GetPixelFarbe = clGreen then
  begin //dieses hier meine ich
  mouse_event(MOUSEEVENTF_RIGHTDOWN, x, y, 0, 0);
  mouse_event(MOUSEEVENTF_RIGHTUP, x, y, 0, 0);
  end;
end;
Es ist unmöglich, witzig zu sein ohne ein bisschen Bosheit. Die Bosheit eines guten Witzes ist der Widerhaken, der ihn haften lässt. - Georg Christoph Lichtenberg
  Mit Zitat antworten Zitat