Hallo,
ich arbeite gerade an einer Bildschirmpipette. Ich hab nämlich mein Problem mit Farben (rotblind und grünschwach).
Nun möchte ich ein Objekt, welches ich aus meinem Fenster irgendwo auf den Bildschirm draggen kann.
Ich habe es mit einem Panel versucht, aber sobald ich zu draggen anfange, verwandelt sich der Cursor in diesen durchgestrichenen Kreis, also hat er kein gültiges Ziel. Die Funktion funktioniert trotzdem, ich möchte nur, dass er den richtigen Cursor zeigt...
Ich hab es inzwischen schon soweit gebracht:
Ich starte die Anwendung, bewege mene Maus über ein Feld (Pixel) und drücke <Leertaste>, um Button1Click auszuführen (Button1 ist selektiert)
Button1Click enthält folgende Procedure:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
dc: hDC;
rgb: Integer;
rot, blau, gruen: Integer;
begin
try
dc := GetDC(0);
rgb:=GetPixel(
dc,mouse.CursorPos.X,mouse.CursorPos.Y);
finally
ReleaseDC(0,
dc);
end;
rot:=
rgb and $FF;
gruen:=(
rgb and $FF00)
div $100;
blau:=(
rgb and $FF0000)
div $10000;
messagedlg('
rot: '+inttostr(rot)+#13#10+
'
grün: '+inttostr(gruen)+#13#10+
'
blau: '+inttostr(blau), mtinformation, [mbok],0);
end;
Soweit, sogut. Wie packe ich das Ganze jetzt in eine Drag&Drop-Variante? Mir wäre es ganz lieb, wenn ich den Cursor crCross benutzen könnte...
PS: Um Sicherheiten mache ich mir vorerst keine Sorgen, ich möchte nur ein Grundgerüst...