Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: ShowMessage ungewollt auf zweitem Monitor

  Alt 1. Jul 2009, 21:21
Delphi-Quellcode:
// dieses
ShowMessage(Msg);

// ruft jenes auf
ShowMessagePos(Msg, -1, -1);

// welches wiederum an dieses weiterleitet
MessageDlgPos(Msg, mtCustom, [mbOK], 0, -1, -1);

// was nochmals an das weitergeleitet wird
MessageDlgPosHelp(Msg, mtCustom, [mbOK], 0, -1, -1, '');

// welches dann WindowsVersions- und Themeabhängig dort weitergeht
DoTaskMessageDlgPosHelp('', Msg, mtCustom, [mbOK], 0, -1, -1, '')
// oder
DoMessageDlgPosHelp(CreateMessageDialog(Msg, mtCustom, [mbOK]), 0, -1, -1, '');

// und CreateMessageDialog erstellt es letztendlich dort
Left := (Screen.Width div 2) - (Width div 2);
Top := (Screen.Height div 2) - (Height div 2);
also bei ShowMessage kannst du nix festlegen
und es ist auch vollkommen unabhängig von einer Form, von wessen Ereignisprozeduren es aus aufgerufen wird.
(denn keine der Funktionen da oben bekommt mitgeteilt, an welcher Form es sich ausrichten soll )

Ab ShowMessagePos kannst du die Position selbst festlegen.

Aber es wäre einfacher einen Dialog zu nehmen, welcher seine "Mutter"-Form mitgeteilt bekommt und sich dann daran ausrichtet.
$2B or not $2B
  Mit Zitat antworten Zitat