![]() |
anstelle von 'ShowMessage' formatierten Text anzeigen lassen
Hallo zusammen,
ich habe nun einiges gesucht aber leider nicht das gefunden was ich benötige. Ich gebe über einen Buttonklick ein Messagefenster aus. Hier habe ich aber das Prob, dass ich hier keinen formatierten Text ausgeben kann. (Absätze, eingerückter Text ect.) Ich kann zwar auf eine feste Monitor-Auflösung den Messagetext "anpassen" , aber sowie man eine andere Auflösung verwendet, sieht es halt chaotisch aus... Was könnt ihr mir als Alternative zum ShowMessage empfehlen? Bitte so antworten, dass ich als Newbie es auch verstehe ;-) Vielen Dank schon mal vorab! Gruß Jürgen |
Re: anstelle von 'ShowMessage' formatierten Text anzeigen la
Ich empfehle dir da einfach mal "MessageBox". Damit kannst du dem Fenster ein typisches Icon (Fragezeichen, Warnzeichen etc. pp.) verpassen und das Fenster außerdem noch mit einem individuellen Titel versehen.
Übrigens: Auch mit showmessage kann man einen formatierten Text ausgeben. Um z.B. eine Neue Zeile zu beginnen, nimmst du:
Delphi-Quellcode:
mfg
showmessage('Zeile 1' + #13#10 + 'Zeile 2');
Daniel |
Re: anstelle von 'ShowMessage' formatierten Text anzeigen la
Du könntest dir auch nen eigenen MessageDialog erstellen (Form mit ShowModal anzeigen). Den kannst du dann beliebig Formatieren.
MfG Pr0g |
Re: anstelle von 'ShowMessage' formatierten Text anzeigen la
Delphi-Quellcode:
usw
ShowMessage(Format('Zeile1%sZeile2%0:sZeile3%0:sZeile4', [#13#10]));
|
Re: anstelle von 'ShowMessage' formatierten Text anzeigen la
Erste einmal vielen Dank an alle!
Mit der Möglichkeit der Formatierung im ShowMessage bin ich schon ein ganzes Stück weiter. Aber: ich glaube MessageBox wäre noch besser :-) Ich habe nun einiges probiert damit und auch verschiedene Codeschnipsel ausprobiert, aber mein Delphi5 gibt mir immer folgende Fehlermeldung aus: "Unbekannte Anweisung: 'Messagebox' Hat jemand eine Ahnung woran das liegen könnte? Grüße Jürgen |
Re: anstelle von 'ShowMessage' formatierten Text anzeigen la
Delphi-Quellcode:
Für die Parameter kannst du die Delphi - OH zu Rate ziehen.
application.messagebox
[Edit] Hast du eigentlich die Unit "Dialogs" bzw. "Windows" in der Uses - Klausel?[/Edit] |
Re: anstelle von 'ShowMessage' formatierten Text anzeigen la
@Daniel G:
Danke für Deine schnelle Antwort. Ich hatte mir vorher schon in der Hilfe die Parameter angeschaut. Es kommt aber immer diese Fehlermeldung... Als ob Delphi mit Messagebox nichts anfangen kann. Ich denke aber, dass ich nicht in der Lage bin den Code richtig zu schreiben. Die Unit "Dialogs" bzw. "Windows" sind in der Uses - Klausel... Wie genau müsste der Code denn geschrieben werden um z.B. erst einmal nur "Text-Probe" anzuzeigen?
Delphi-Quellcode:
Meine ganzen "Versuche" hierzu will ich erst gar nicht zeigen...;-)
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} //Test Messagebox function MessageBox(const Text, Caption: PChar; Flags: Longint): Integer; end. Grüße Jürgen |
Re: anstelle von 'ShowMessage' formatierten Text anzeigen la
Moment, ich mach dir mal eben ein Beispiel fertig... Und du versprichst mir, ein gutes Buch über Delphi zu lesen, ja?
[Edit] So dala:
Delphi-Quellcode:
Erklärung:
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin MessageBox(application.Handle,'Dies ist ein Text','Das der Titel',MB_OK or MB_ICONWARNING); end; end. Zuerst erstellst du ein Formular, packst ein Button darauf und klickst diesen Doppelt an. Dann schreibst du in das OnClick-Event wie oben zu sehen ist, folgendes:
Delphi-Quellcode:
Eigentlich müsste sich das von selbst erklären. Mit dem logischen "or" verknüpfst du halt mehrere Attribute.
MessageBox(application.Handle,'Dies ist ein Text','Das der Titel',MB_OK or MB_ICONWARNING);
Bei Fragen geht's am Besten per PN weiter... Sonst werden wir noch OT... ;) |
Re: anstelle von 'ShowMessage' formatierten Text anzeigen la
Hi,
ich verlinke mal auf Matzes Standard-Dialoge Tutorial, dort ist auch alles gut erklärt. ![]() |
Re: anstelle von 'ShowMessage' formatierten Text anzeigen la
Vielen Dank an Daniel G und Spider für Eure Mühen!
Beides ist für mich sehr hilfreich. Mein Prob war, dass ich "erwartet" hatte, dass wie bei ShowMessage sich von ganz allein ein Fenster auch bei Messagebox öffnet... Allen ein schönes, sonniges Wochenende! Grüße Jürgen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz