Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Default Delphi-Icon in MessageBox/MessageDLG entfernen (https://www.delphipraxis.net/29671-default-delphi-icon-messagebox-messagedlg-entfernen.html)

Whistler 12. Sep 2004 23:17


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?

Luckie 12. Sep 2004 23:27

Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Messagebox(Handle, 'hja', 'klajsdh', MB_ICONSTOP);
end;
Mit Angabe des Handles kein Button in der Taskleiste und mit 0 als Handle Button ohne Symbol in der Taskleiste.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Application.Messagebox('hja', 'klajsdh', MB_ICONSTOP);
end;
Kein Button und somit auch kein Handle.

scp 12. Sep 2004 23:34

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?

Luckie 12. Sep 2004 23:38

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.

scp 12. Sep 2004 23:40

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?

Luckie 12. Sep 2004 23:41

Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
 
Was hast du benutzt? MessageDlg oder ShowMessage oder Messagebox oder Application.Messagebox?

scp 12. Sep 2004 23:44

Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  MessageBox(0, 'huhu', 'info', 0);
end;

Luckie 12. Sep 2004 23:51

Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
 
Kompilierte Exe (D6 Personal) aus dem Explorer gestartet: Button in der Taskleiste ohne Icon.

Whistler 13. Sep 2004 12:38

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;

Luckie 13. Sep 2004 13:41

Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
 
Zitat:

Zitat von Whissi
Und wie soll das bei "MessageDLG" anzuwenden sein?

Was meinst du damit?

Und warum gibst du bei deinem Code kein Handle an, sondern übergibst null?

Matze 13. Sep 2004 13:49

Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
 
Zitat:

Zitat von Luckie
Und warum gibst du bei deinem Code kein Handle an, sondern übergibst null?

:hi: Luckie.

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.

scp 13. Sep 2004 14:15

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.

Whistler 13. Sep 2004 14:15

Re: Default Delphi-Icon in MessageBox/MessageDLG entfernen
 
*urghs* - habe "Handle" angegeben und es funktioniert ;)
Danke!


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