Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Maus auf ein Ereignis reagieren lassen (https://www.delphipraxis.net/90311-maus-auf-ein-ereignis-reagieren-lassen.html)

RXR-Max 15. Apr 2007 20:34

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:

RXR-Max 15. Apr 2007 20:51

Re: Maus auf ein Ereignis reagieren lassen
 
Ist sowas vielleicht möglich?

Delphi-Quellcode:
const FarbAbweichung: Array [$FFFFFFFF..$BBBBBBBB] of Integer;
:gruebel: :gruebel: :gruebel: :gruebel: :gruebel: :gruebel: :gruebel: :gruebel:

TonyR 15. Apr 2007 20:56

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...

RXR-Max 15. Apr 2007 21:00

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:

bitsetter 15. Apr 2007 21:10

Re: Maus auf ein Ereignis reagieren lassen
 
Ich habe noch eine andere Funktion geschrieben, kannst ja mal testen ob die anders ist:
Delphi-Quellcode:
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;
Obwohl was ist denn das $B5D4F19E für eine Farbe?
z.B. Blau = $FF0000

Es kann natürlich auch sein, dass es so eine Funktion schon irgendwo gibt.

RXR-Max 15. Apr 2007 21:30

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:

bitsetter 15. Apr 2007 21:43

Re: Maus auf ein Ereignis reagieren lassen
 
Also bei mir ist die Farbe andersrum richtig :?: , probiere es doch mal aus:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Color:= $F1D4B5; //$B5D4F1;
end;
Kann ja sein, dass es daran liegt.

RXR-Max 15. Apr 2007 21:54

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:

RXR-Max 16. Apr 2007 14:54

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:

TonyR 16. Apr 2007 15:36

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 09:09 Uhr.
Seite 4 von 5   « Erste     234 5      

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