![]() |
Default Delphi-Icon in MessageBox/MessageDLG entfernen
Guten Abend,
ich stelle gerade fest, dass bei einer einfachen MessageBox bzw. MessageDLG als Icon in der Taskleiste das default Delphi-Icon verwendet wird. In einer vorherigen Anwendung, war hier aber das für die Anwendung eingestellte Icon zu sehen. Ich wüsste zur Zeit nichts, was ich bei der neuen Anwendung anders gemacht haben sollte. Hat jemand evtl. eine(n) Tipp/Idee? |
Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
Delphi-Quellcode:
Mit Angabe des Handles kein Button in der Taskleiste und mit 0 als Handle Button ohne Symbol in der Taskleiste.
procedure TForm1.Button1Click(Sender: TObject);
begin Messagebox(Handle, 'hja', 'klajsdh', MB_ICONSTOP); end;
Delphi-Quellcode:
Kein Button und somit auch kein Handle.
procedure TForm1.Button1Click(Sender: TObject);
begin Application.Messagebox('hja', 'klajsdh', MB_ICONSTOP); end; |
Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
Hmmm... ich habe gerade ein leeres Projekt mit einem Button, einem eigenen Icon und einer MessageBox mit Handle 0 in Delphi 7 PE angelegt.
Wenn ich das kompiliere und vom Explorer aus die .exe starte, bekommt die MessageBox trotzdem ein Standard-Delphi-Icon in der Taskleiste. In den Resourcen der .exe ist dies aber nicht zu finden. Wie geht das denn? |
Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
Steht das Icon eventuell binär in der dfm-Datei? Wo anders kann es ja kuaum herkommen, wenn es in der Ressource (res-Datei) nicht ist.
|
Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
Das ist ja der Witz: Ich habe sowohl das Icon der Form als auch das Anwendungs-Icon (Projekt->Optionen->Anwendung) geändert, trotzdem kommt noch das D7-Icon irgendwoher. Vielleicht im Icon Cache?
|
Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
Was hast du benutzt? MessageDlg oder ShowMessage oder Messagebox oder Application.Messagebox?
|
Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin MessageBox(0, 'huhu', 'info', 0); end; |
Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
Kompilierte Exe (D6 Personal) aus dem Explorer gestartet: Button in der Taskleiste ohne Icon.
|
Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
Und wie soll das bei "MessageDLG" anzuwenden sein? Aktuelle verwende ich bei der "Beenden-Prozedur" folgenden Code:
Code:
if (MessageBox(0, 'Wirklich beenden?', 'Beenden?', MB_ICONQUESTION or MB_YESNO or MB_SETFOREGROUND or MB_TASKMODAL) = idYes) then frmMain.close;
|
Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
Zitat:
Und warum gibst du bei deinem Code kein Handle an, sondern übergibst null? |
Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
Zitat:
Ich hab's grad nicht mehr gefunden, aber jemand aus der DP hatte Probleme, als er "Handle" verwendete, da Handle den Wert Null hat (so hier es in dem Beitrag) würde es nie probleme machen. Wie gesagt, habe den Beitrag grad nicht parat. |
Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
Kann das sein, das wir in verschiedene Richtungen denken?
Ich meinte die ganze Zeit den Button in der Taskleiste, der zusätzlich erscheint, wenn MessageBox() kein Handle (also null) verwendet. Bekommt MessageBox() ein Handle übergeben oder verwendet man MessageDlg(), dann ändert sich in der Taskleiste ja sowieso nichts (zumindest in D7), da das MainForm, das als Parent dient ja schon einen Button hat. |
Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
*urghs* - habe "Handle" angegeben und es funktioniert ;)
Danke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 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