API Icons

elfvyn

Mitglied
Hi ... wie bekomme ich Icons dazu das man diesebenutzen kann Also außer den standart Windows dingern! Hab schon nach einem Beitrag geschaut aber so wie da beschrieben kriege ichs nicht hin. Habe zwei Varianten gefunden. Einmal was mit einer Imageliste erzeugen...so stands in der Hilfe(Um einen Tree aufzubauen) und einmal über eine Message. HAbe nun eines in Visual studio gezeichnet! Also eigentlich sind das ja zwei(16x16 und 32x32). So dazu gibts dann natürlich auch einen Eintrag im Resource File:
Code:
IDI_ICON1               ICON    DISCARDABLE     "ICON.ico"
Hat er aber selber erstellt
Variante 1(Tree):
Code:
// First create the image list you will need.
	hIml = ImageList_Create (	BITMAP_WIDTH, // width
	BITMAP_HEIGHT, // height
	0, // creation flags
	NUM_BITMAPS, // number of images
	0); // amount this list can grow

	// Load the bitmaps and add them to the image list.
	hBmp = LoadBitmap (hInstance, MAKEINTRESOURCE (IDI_ICON1));

	idx=ImageList_Add (	hIml, // handle to image list
			hBmp, // handle of bitmap to add
			NULL); // handle of bitmap mask

Variante 2(Message)
Code:
	SendMessage(hWndMainFrame,WM_SETICON, TRUE,(LPARAM)LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1)));

Beides funktioniert ihrgendwie nicht.. hab auch schon mit beiden Varianten eine Weile rumgespielt. aber ich bekomme immer nur diese standart Fragezeichen-Blase
thx schonmal im vorraus
 
moin


Mit
Code:
HICON LoadIcon(     
    HINSTANCE hInstance,
    LPCTSTR lpIconName
);
lpIconName wäre bei dir dann ICON.ico


mfg
umbrasaxum
 
Zuletzt bearbeitet:
Du sagst nicht direkt, welches Icon du eigentlich meinst.

Wenn du das Icon eines Fensters ändern willst (das kleine links oben), dann ist

SendMessage(hWndMainFrame,WM_SETICON, TRUE,(LPARAM)LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1)));

schon richtig. Zusätzlich aber nocheinmal mit FALSE aufrufen:

SendMessage(hWndMainFrame,WM_SETICON, TRUE,(LPARAM)LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1)));

Hintergrund: TRUE setzt das "grosse" Icon eines Fensters (das bei Alt-Tab angezeigt wird), FALSE das kleine, dass in der Caption angezeigt wird.


Die ImageListe wird nur bei TreeControls und ListControls benötigt, die muss man dann mit SetImageList an die Control binden. Das hat aber mit einem normalen Fenster nichts zu tun.
 
Zurück