2016-04-21 9 views
4

Wie lade ich eine TCustomImageList mit allen von Windows verwendeten Systemicons in Dialogfeldern (Standardsymbole wie Warnung, Fehler, Information, Bestätigung ...)?Wie lade ich eine Bildliste mit Systemdialogsymbolen?

enter image description here

Ich möchte eine Lösung finden, die unter Windows XP arbeitet und später.

+0

NB: Das ist heikel Sachen, je nachdem, was Sie mit der Bildliste machen wollen. Siehe z.B. http://stackoverflow.com/questions/4285890/how-to-load-a-small-system-icon/4286601, http://stackoverflow.com/questions/6613513/compliant-loading-of-small-oem- icon-with-loadimage –

+0

Siehe auch http://www.catch22.net/tuts/system-image-list –

Antwort

6

Siehe LoadImage und LoadIcon.

Schnell Beispiel:

procedure TForm1.Button2Click(Sender: TObject); 
var 
    t_Icon: TIcon; 

begin 
    t_Icon := TIcon.Create(); 
    t_Icon.Handle := LoadImage(0, MAKEINTRESOURCE(32513), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE or LR_SHARED); 

    if (t_Icon.Handle <> 0) then 
    ImageList1.AddIcon(t_Icon); 

// ............. 

    t_Icon.Free(); 
end; 
+0

Ich würde 'IDI_ERROR' anstelle von' MAKEINTRESOURCE (32513) ' – kobik

+0

verwenden Dann (im Falle von LoadImage) ist es besser um OIC _... Konstanten zu definieren, IMHO. –

Verwandte Themen