Einzelnen Beitrag anzeigen

Rackergen2

Registriert seit: 13. Jul 2004
99 Beiträge
 
Delphi 7 Enterprise
 
#1

Drag&Drop aus Fenster in Windows (Koordinatenübergabe)

  Alt 20. Jul 2004, 23:25
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...
  Mit Zitat antworten Zitat