Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Eine einfaches Nachrichtenfenster (MessageDlg, Messagebox) ? (https://www.delphipraxis.net/53915-eine-einfaches-nachrichtenfenster-messagedlg-messagebox.html)

Qnkel 25. Sep 2005 11:41


Eine einfaches Nachrichtenfenster (MessageDlg, Messagebox) ?
 
Moin.

Ich sitz hier vor einem eigentlich simplen Problem.

Ich will ein eines Fenster anzeigen lassen, wo eine Nachricht drin steht.

Ich kenne dafür 2 Methoden:

Delphi-Quellcode:
function MessageDlg(const Msg: string, DlgType: TMsgDlgType, Buttons: TMsgDlgButtons, HelpCtx: Integer): Integer;
Delphi-Quellcode:
function MessageBox(const Text: PAnsiChar, const Caption: PAnsiChar, Flags: Integer): Integer;
Ich benutze gerne die 2.Methode Application.Messagebox, weil ich dort auch die Titelzeile selber wählen kann.

So nun bekomme ich in der Delphi-Hilfe für die Buttons die verschiedenen Flags:
  • MB_ABORTRETRYIGNORE
  • MB_OK
  • MB_OKCANCEL
  • MB_RETRYCANCEL
  • MB_YESNO
  • MB_YESNOCANCEL

Sollte jeder kennen.

Ich kannte bis dato nur Zahlenkombinationen. Die Zahlen für die Buttons sind:
  • 0 = OK
  • 1 = OK und Abbrechen
  • 2 = Beenden, Wiederholen, Ignorieren
  • 3 = Ja, Nein, Abbrechen
  • 4 = Ja, Nein
  • 5 = Wiederholen, Abbrechen

Naja OK, kann man ja auch die MB_-Flags nehmen, sind ja schneller erkennbar.

Jetzt das eigentliche Problem:

Ich finde nirgends die Flags für die Dialog-Art!
Ich kenne die Zahlen-Flags:
  • 16 = Warnkreuz
  • 32 = Fragezeichen
  • 48 = Ausrufezeichen
  • 64 = Infozeichen (i)

Soweit ich das herausgefunden habe, sind diese Flags mit mt*.
Ich glaube das soweit rausgefunden zu haben:
  • 16 = Warnkreuz = mtWarning
  • 48 = Ausrufezeichen = mtError

Wie heißt der Rest und was gibt es noch für Möglichkeiten?

sECuRE 25. Sep 2005 11:43

Re: Eine einfaches Nachrichtenfenster (MessageDlg, Messagebo
 
Hi,

die Konstanten für die Icons fangen mit MB_ICON an, zum Beispiel MB_ICONINFORMATION. Wenn du das eingibst, mit der rechten Maustaste klickst und "Definition suchen" wählst, solltest du zu der Stelle kommen, an der diese definiert wurden. Dort siehst du dann alle Konstanten inklusive ihrer Werte. Die Hilfe sollte darüber aber auch Informationen haben.

cu

Qnkel 25. Sep 2005 11:54

Re: Eine einfaches Nachrichtenfenster (MessageDlg, Messagebo
 
Irgendwie nich.

Mein Code:
Delphi-Quellcode:
Application.MessageBox('Die Teamspeak-Bibliothek wurde bereits intialisiert!', 'Fehler bei der Initialisierung',
So und wenn ich da MB_OK eintippe, is alles in Ordnung. Wenn ich nur MB_ eintippe, unterstreicht Delphi is rot. Ich kann rechte Maustaste > Deklaration suchen, aber da passiert nix.

Wenn ich MB_ICON eingebe wirds auch nur rot unterstrichen.

sECuRE 25. Sep 2005 12:19

Re: Eine einfaches Nachrichtenfenster (MessageDlg, Messagebo
 
Hi,

gib mal MB_ICONERROR ein und probier's dann ;).

cu

Matze 25. Sep 2005 12:21

Re: Eine einfaches Nachrichtenfenster (MessageDlg, Messagebo
 
Die würden auch hier stehen.

Qnkel 25. Sep 2005 13:35

Re: Eine einfaches Nachrichtenfenster (MessageDlg, Messagebo
 
Zitat:

Zitat von sECuRE
Hi,

gib mal MB_ICONERROR ein und probier's dann ;).

cu

Ja ne is klar. Das funzt. Nur ich dachte, wenn ich MB_ICON eingebe, dann bekomme ich ne Liste oder sonstwas, was alles zur Verfügung steht. So habe ich das aus deiner Antwort interpretiert.

Qnkel 25. Sep 2005 13:38

Re: Eine einfaches Nachrichtenfenster (MessageDlg, Messagebo
 
Zitat:

Zitat von Matze
Die würden auch hier stehen.

OK, das hat es beantwortet. Danke.

Christian Seehase 25. Sep 2005 14:29

Re: Eine einfaches Nachrichtenfenster (MessageDlg, Messagebo
 
Moin Qnkel,

solche API-Konstanten kannst Du auch über das PSDK finden, oder im MSDN (z.B. MSDN-Library durchsuchenMessageBox)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz