Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Caption von Showmessage (https://www.delphipraxis.net/25298-caption-von-showmessage.html)

delirium 4. Jul 2004 13:14


Caption von Showmessage
 
Sers Delphientwickler,

wie kann ich die Caption von Showmessage ändern? Normalerweise erscheint der Name des Projektnamens. In C++ kann man das ja so machen:

MessageBox("Inhalt der Nachricht", "Captionname");

doch bei Delphi 7 Enterprise klappt dies nicht ;-)

Neuni 4. Jul 2004 13:17

Re: Caption von Showmessage
 
Sowas?
Code:
application.messagebox('TEXT','TITEL',36);
PS: Herzlich willkommen in der DP :party:

xineohp 4. Jul 2004 13:19

Re: Caption von Showmessage
 
moin,

schau dir mal "MessageDlg" an.

Neuni 4. Jul 2004 13:19

Re: Caption von Showmessage
 
Und do ohne Ja und Nein, sondern mit OK:
Code:
application.messagebox('TEXT','TITEL');

xineohp 4. Jul 2004 15:35

Re: Caption von Showmessage
 
Delphi-Quellcode:
messagedlg('Titel','Text',mtCustom,[mbOK],0,mbNone, nil);
erzeugt genau das selbe (man muss nur die unit QDIALOGS einbinden)

Dafür hat man viel mehr Einstellungsmöglichkeiten (wenn man die denn braucht :) )

Christian Seehase 4. Jul 2004 16:08

Re: Caption von Showmessage
 
Moin Delirium,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.


Zitat:

Zitat von Delirium
In C++ kann man das ja so machen:

MessageBox("Inhalt der Nachricht", "Captionname");

In Delphi, im Prinzip, auch.

Wichtig:
Hier ist nicht direkt Application.MessageBox gemeint, sondern die API Funktion.

Delphi-Quellcode:
MessageBox(0,'Eigentliche Meldung','Titel',Flags);
als Flags sind hierbei die Konstanten gemäss MSDN/PSDK möglich.
Statt der 0 kannst Du auch ein Fensterhandle angeben.
Application.Messagebox ruft diese Funktion auch auf, und übergibt dabei Application.Handle statt der 0.

Zitat:

Zitat von Delirium
doch bei Delphi 7 Enterprise klappt dies nicht

Du musst zugeben, dass das nicht sonderlich aussagekräftig ist, oder? ;-)

Bekommst Du vom Compiler Meldungen, wird nichts angezeigt?

Ich vermute mal, dass die " das Problem sind, denn in Delphi werden Stringliterale in ' eingeschlossen.

@xineohp:
Zitat:

Zitat von xineohp
man muss nur die unit QDIALOGS einbinden

wohl besser Dialogs. QDialogs ist IMHO für Linux. ;-)

xineohp 4. Jul 2004 19:00

Re: Caption von Showmessage
 
@chris:

Hätte ich ja auch gesagt, aber probiers aus ... Dialogs ist ja standardmäßig eingebunden. Wenn du nun, wie in meinem Beispiel, einen Dialog mit Titel willst, dann erkennt der Compiler nicht welche der vielen overloaded functions (siehe OH) du verwendest?! mit QDialogs klappts!

delirium 4. Jul 2004 19:04

Re: Caption von Showmessage
 
Hallo,

danke für die prompten Antworten. Jetzt hat es funktioniert - es lag an den " Zeichen. Mit ' ist es gelaufen ;-)

Luckie 4. Jul 2004 19:04

Re: Caption von Showmessage
 
Zitat:

Zitat von xineohp
Wenn du nun, wie in meinem Beispiel, einen Dialog mit Titel willst, dann erkennt der Compiler nicht welche der vielen overloaded functions (siehe OH) du verwendest?! mit QDialogs klappts!

Sehr schön und damit darf er dann selbst unter Windows die nötige mehrere MB große DLL mitliefern. Was spricht also dagegen entweder die API Funktion MSDN-Library durchsuchenMessagebox oder die VCL Kapselung Application.Messagebox zu nehmen?

delirium 4. Jul 2004 19:06

Re: Caption von Showmessage
 
Hallo nochmal,

ich möchte in meiner Anwendung ein zweites Fenster aufklappen, eine neue Form sozusagen. Wie geht denn das?

fkerber 4. Jul 2004 19:09

Re: Caption von Showmessage
 
Hi!

Erstelle am Besten für deinen neue Frage einen neuen Thread.
Dann kann dir schneller und besser geholfen werden.

Ciao fkerber

Alexander 4. Jul 2004 19:11

Re: Caption von Showmessage
 
Da diese Frage im Prinzip nichts mehr mit der Ursprungsfrage zu tun hat, würde ich dich bitten beim nächsten Mal ein neuen Thread zu erstellen.
Es gibt zu jedem Formular Show bzw. ShowModal, die musst du einfach aufrufen und vorher natrülich noch ein neues Formualr erstellen.

delirium 4. Jul 2004 19:12

Re: Caption von Showmessage
 
Ok, mache ich :wink:

xineohp 4. Jul 2004 19:13

Re: Caption von Showmessage
 
@Lukie:

ist ja gut, es ging mir hier nur um das Kuriosum, dass es mit QDialogs funzt und mit Dialogs nicht.
Ob es unbedingt sinnvoll ist das Ganze auch zu verwenden stand nie zu Debatte. (mal abgesehen von der Tatsache, dass mir die API Funktion nicht bekannt war)

delirium 4. Jul 2004 19:22

Re: Caption von Showmessage
 
Nochwas dazu:

wenn ich das hier versuche:

Code:
MessageBox(0,IdMessage1.Subject,'Titel',Flags);
dann kommt:

Incompatible Types: 'String' and 'PAnsiChar'

Wie kann ich den PANSICHAR (was auch immer das sein soll) in String umwandeln?

xineohp 4. Jul 2004 19:24

Re: Caption von Showmessage
 
die Umwandlung von string nach PAnsichar erfolgt mit PChar( s )

Christian Seehase 4. Jul 2004 19:25

Re: Caption von Showmessage
 
Moin xineohp,

ausprobieren kann ich das nicht, weil es die in D5 noch nicht gibt, und ich bei D7 nur die PE habe ;-)

Zitat:

Zitat von xineohp
...dann erkennt der Compiler nicht welche der vielen overloaded functions (siehe OH) du verwendest

Ich denke mal, dass es daran liegt, dass MessagDlg in Dialogs keinen Titel kennt (zumindest in der PE).

Vielleicht könntest Du aber dann mal etwas ausprobieren:

Delphi-Quellcode:
Dialogs.MessageDlg(...);
um den Compiler zu informieren, welche Version man gerne hätte.

xineohp 4. Jul 2004 19:29

Re: Caption von Showmessage
 
hm, wie's aussieht sind die Varianten mit Caption in Dialogs schlicht nicht vorhanden ...

Christian Seehase 4. Jul 2004 19:31

Re: Caption von Showmessage
 
Moin xineohp,

da ich eigentlich nur MessageBox verwende ist mir das nie aufgefallen :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:54 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