Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - TColorDialog-Objekt positionieren


hRb - Mo 17.11.14 14:39
Titel: TColorDialog-Objekt positionieren
ich rufe in meinem Programm das Standard-Objekt TColorDialog auf. Dieses erscheint auch (hübsch zentriert) auf dem Bildschirm, allerdings ganz gleich an welcher Bildschirmposition sich mein Programm befindet und überdeckt auch wichtige Teile. Das TColorDialog-Objekt hat leider keinen Left- und keinen Top-Parameter. Den Versuch das Objekt auf ein Panel zu plazieren widersteht es hartnäckig. Wie kann ich das Objekt positionieren?
PS: hoffe, dass diese Frage nicht zum 1000mal gestellt wurde. Kann es zumindest nicht finden. Danke für Antworten.

Moderiert von user profile iconNarses: Titel geändert.


Gerd Kayser - Mo 17.11.14 16:32

user profile iconhRb hat folgendes geschrieben Zum zitierten Posting springen:
Wie kann ich das Objekt positionieren?

Zum Beispiel so:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TMainform.ColorDialog1Show(Sender: TObject);
var
  Dialog : THandle;
begin
  Dialog := TColorDialog(Sender).Handle;
  SetWindowPos(Dialog, HWnd_Top, Mainform.Left + 50, Mainform.Top + 50,
    00, Swp_NoSize);
end;

Siehe auch: http://msdn.microsoft.com/en-us/library/windows/desktop/ms633545(v=vs.85).aspx


hRb - Mo 17.11.14 17:51

vielen Dank, klappt prima. Wer mit Turbo-Pascal in Ruhestand ging, dem fehlt doch einiges an Wissen. Schön, dass es so selbstlose Helfer gibt!