Pssst, Delphi hat eine Abwärtskompatibilität, die auch in neueren Windows manchmal zum Zuge kommt.
ShowMessage bzw. MessageDlg schalten auf
VCL um verwenden statt der DialogAPI (MessageBox und Verwadte) eine TForm mit TLabel und paar TButtons,
und die kann man auch gezielt verwenden.
Witzig ist dort, dass man da z.B. auch die Captions der Buttons ändern kann.
Nur bei einem kommt diese Delphi-Funktion nicht ganz dem Windows-Styleguide hinterher,
wo z.B. Trennlinen und abgesetzte Farben zu den Buttons existieren oder wie sich im laufe der Jahre die Buttons verschoben. (mitte, links oder rechts)
Über die
WinAPI hat man den Vorteil immer einen Dialog nach dem aktuellen Design/Style-Guide des
OS zu bekommen
und bei dem Anderen kann man nach blieben an der Delphi-Form rumpfuschen, bevor/nachdem sie angezeigt wird.
ShowMessage -> ShowMessagePos -> MessageDlgPos -> MessageDlgPosHelp -> DoTaskMessageDlgPosHelp bzw.
CreateMessageDialog+DoMessageDlgPosHelp
Delphi-Quellcode:
function MessageDlgPosHelp(...): Integer;
begin
if TOSVersion.Check(6) and UseLatestCommonDialogs and IsNewCommonCtrl and StyleServices.IsSystemStyle then
Result := DoTaskMessageDlgPosHelp('', Msg, DlgType, Buttons, HelpCtx, X, Y, HelpFileName)
else
Result := DoMessageDlgPosHelp(CreateMessageDialog(Msg, DlgType, Buttons), HelpCtx, X, Y, HelpFileName);
end;
Und ja, bei Datei>Neu gibt es im Delphi auch einige Vorlagen für Dialoge (Panels und Buttons).