![]() |
Re: Maus auf ein Ereignis reagieren lassen
der letzte quellcode funzt leider nicht. die maus reagiert dann garnicht mehr. also sie macht den rechtsklick nicht meine ich. ich kapier garnix :wall:
|
Re: Maus auf ein Ereignis reagieren lassen
Ist sowas vielleicht möglich?
Delphi-Quellcode:
:gruebel: :gruebel: :gruebel: :gruebel: :gruebel: :gruebel: :gruebel: :gruebel:
const FarbAbweichung: Array [$FFFFFFFF..$BBBBBBBB] of Integer;
|
Re: Maus auf ein Ereignis reagieren lassen
Nee... geht net... (außer vielleicht mit nem Array of TColor??? glaub ich aber nicht)...
Man müsste die Farben auf einem Farbverlauf, der alle Farben beinhaltet darstellen können... Dann könnte man ganz einfach feststellen, ob sich die Farbe noch im gültigen Bereich befindet... Ich mach dazu auch noch ne Skizze... aber jetz muss ich ins Bett... morgen halb sechs aufstehen... |
Re: Maus auf ein Ereignis reagieren lassen
mir ist noch jede meneg eingefallen. ich probiere es einfach mal aus...
muss jetzt auch gleich pennen. :pale: |
Re: Maus auf ein Ereignis reagieren lassen
Ich habe noch eine andere Funktion geschrieben, kannst ja mal testen ob die anders ist:
Delphi-Quellcode:
Obwohl was ist denn das $B5D4F19E für eine Farbe?
function ColorToleranz(SollColor, IstColor: TColor; Toleranz: Byte): boolean;
var rSoll, gSoll, bSoll, rIst, gIst, bIst: byte; begin Result:= false; SollColor := ColorToRgb(SollColor); rSoll := GetRvalue(SollColor); gSoll := GetGvalue(SollColor); bSoll := GetBvalue(SollColor); IstColor := ColorToRgb(IstColor); rIst := GetRvalue(IstColor); gIst := GetGvalue(IstColor); bIst := GetBvalue(IstColor); if (rIst >= rSoll- Toleranz) and (rIst <= rSoll + Toleranz) and (gIst >= gSoll- Toleranz) and (gIst <= gSoll + Toleranz) and (bIst >= bSoll- Toleranz) and (bIst <= bSoll + Toleranz) then Result := true; end; procedure TForm1.Timer1Timer(Sender: TObject); var DCFarbe: TColor; begin DCFarbe := GetPixel(DesktopDC, Mouse.CursorPos.X, Mouse.CursorPos.Y); if ColorToleranz(clGreen, DCFarbe, 20) then//max 255 begin mouse_event(MOUSEEVENTF_RIGHTDOWN, Mouse.CursorPos.X, Mouse.CursorPos.Y, 0, 0); mouse_event(MOUSEEVENTF_RIGHTUP, Mouse.CursorPos.X, Mouse.CursorPos.Y, 0, 0); end; end; z.B. Blau = $FF0000 Es kann natürlich auch sein, dass es so eine Funktion schon irgendwo gibt. |
Re: Maus auf ein Ereignis reagieren lassen
Liste der Anhänge anzeigen (Anzahl: 1)
cool danke gleich mal angucken. ich weiß nicht was das für eine farbe ist :lol:
das war ja bloß ein beispiel. aber ich gucke gerne bei Photoshop: die letzten beiden hat er weggelassen wie du dem bild entnehmen kannst :gruebel: |
Re: Maus auf ein Ereignis reagieren lassen
Also bei mir ist die Farbe andersrum richtig :?: , probiere es doch mal aus:
Delphi-Quellcode:
Kann ja sein, dass es daran liegt.
procedure TForm1.Button1Click(Sender: TObject);
begin Color:= $F1D4B5; //$B5D4F1; end; |
Re: Maus auf ein Ereignis reagieren lassen
mal noch ne andere frage!? ich probiere gerade das ganze in eine dll zu 'basteln'. alles soweit fertig, lässt sich compilieren alles ok. aber wie setzte ich ein timer in einer dll bzw. einen intervall. das was ich jetzt da rein geschrieben habe soll ganz schnell gemacht werden, also der mausklick :?:
bis morgen geh jetzt erstmal pennen... :angel: |
Re: Maus auf ein Ereignis reagieren lassen
ok die funktion oben geht aber es wird immer ein mausklick simuliert auch wenn ich nicht über der farbe bin?? :gruebel:
|
Re: Maus auf ein Ereignis reagieren lassen
Wow :shock:
Bitsetter legt sich ja richtig ins Zeug... Ich teste den Code auch mal... Aber warum willst du das in eine DLL auslagern??? Nur so zum probieren??? Naja... jedenfalls, Wenn du dazu auch Fragen hast, dann bitte einen neuen Thread aufmachen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 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