![]() |
Icons aus MessageBox in eigenem Dialog verwenden?
Gibt es eine Möglichkeit, die Icons aus der MessageBox (zb.: MB_ICONEXCLAMATION) in einem
eigenen Dialog zu verwenden? TIA Whookie |
Re: Icons aus MessageBox in eigenem Dialog verwenden?
Einerseits könnte man diese zur Laufzeit direkt aus der entsprechenden Shell-Bibliothek "holen"... andererseits hat imho Microsoft für Vista angekündigt, daß dieses Verhalten nicht mehr benutzt werden sollte.
Schau mal in die Unit Dialogs, wie MessageDlg das macht, vielleicht taugt das ja auch was für Dich... |
Re: Icons aus MessageBox in eigenem Dialog verwenden?
Moin!
Guck Dir ![]()
Code:
Value Description
IDI_APPLICATION Default application icon. IDI_ASTERISK Asterisk (used in informative messages). IDI_EXCLAMATION Exclamation point (used in warning messages). IDI_HAND Hand-shaped icon (used in serious warning messages). IDI_QUESTION Question mark (used in prompting messages). IDI_WINLOGO Windows logo. |
Re: Icons aus MessageBox in eigenem Dialog verwenden?
Tja, so einfach kann das sein:
Delphi-Quellcode:
Danke nochmals für den Hinweis! Auf MSDN habe ich allerdings keinen Hinweis darauf gefunden, das diese Funktion nicht mehr verwendet werden soll. Gibts dazu Konkretes?
procedure TOKRightDlg.FormCreate(Sender: TObject);
begin Image1.Picture.Icon.Handle := LoadIcon(0, IDI_HAND); end; |
Re: Icons aus MessageBox in eigenem Dialog verwenden?
Zitat:
Hi Whookie, ich denke CCRDude meint, dass man die Icons nicht mehr aus der jeweiligen Shell holen sollte, sondern über den Weg, den Du gezeigt hast. Zitat:
[edit2]Erklärung falsch, siehe CCRDude eins drunter[/edit2] |
Re: Icons aus MessageBox in eigenem Dialog verwenden?
Hier steht schon ein kurzes Do und Don't-Do:
![]() Lustig da, daß das MS-Beispiel selber noch LoadIcon verwendet; denn das soll man eben nicht mehr direkt verwenden, stattdessen lieber LoadImage, wie hier zu finden ist: ![]() |
Re: Icons aus MessageBox in eigenem Dialog verwenden?
Zitat:
Delphi-Quellcode:
Nutze ich aber:
hndl := LoadImage(HInstance, IDI_QUESTION, IMAGE_ICON,0,0,LR_DEFAULTSIZE);
Delphi-Quellcode:
dann klappt es. Also was ist oben falsch ???
hndl := LoadIcon(0, IDI_QUESTION);
|
Re: Icons aus MessageBox in eigenem Dialog verwenden?
Abend!
Zitat:
1. Kein Instanz Handle setzen 2. Nicht die Icon Konstanten von LoadIcon verwenden 3. Die gewünschte Icon Konstante als Low Order Word übergeben Langer Rede, kurzes Beispiel:
Delphi-Quellcode:
Die Konstanten (OIC_QUES, etc.) finden sich in der Windows.pas
Application.Icon.Handle:=LoadImage(0, MakeIntResource(OIC_QUES), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE or LR_SHARED);
Mfg, Sun |
Re: Icons aus MessageBox in eigenem Dialog verwenden?
Zitat:
Zitat:
Zitat:
Ich meine, ich hätte das auch schon mal auf den "normalen" weg geschafft. |
Re: Icons aus MessageBox in eigenem Dialog verwenden?
Zitat:
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:03 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