Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: ShowMessage oder Format kürzt Texte

  Alt 12. Jan 2020, 17:58
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. Delphi-Referenz durchsuchenCreateMessageDialog+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).
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (12. Jan 2020 um 20:46 Uhr)
  Mit Zitat antworten Zitat