kleines Icon im Systemmenue

22/05/2008 - 20:08 von Thomas Steinbach | Report spam
Hallo NG,

ich habe meinen modeless dialog die Eigenschaft
THIN bei Border zugewiesen. Dadurch erhalte
ich ein Systemmenue, das aber nicht das "kleine"
Icon hat. (ich habe ja auch keine Klasse registriert)

Wie kann ich aber in einem Modeless Dialog diesem
Systemmenue das "typische" kleine Icon zuweisen?

ich habe hier mit

SendMessage(hWnd, WM_SETICON, ICON_SMALL, 0L);

experimentiert, aber das will so nicht wirlich funktionieren.

btw: ich habe das 0L statt der 0 mal aufgeschnappt. Wofuer
war dieses "L" ? Long oder so?

Thomas
 

Lesen sie die antworten

#1 René König
24/05/2008 - 13:20 | Warnen spam
Hallo!

Thomas Steinbach schrieb:
ich habe meinen modeless dialog die Eigenschaft
THIN bei Border zugewiesen. Dadurch erhalte
ich ein Systemmenue, das aber nicht das "kleine"
Icon hat. (ich habe ja auch keine Klasse registriert)



Ich kann das Problem leider noch nicht erfassen. Wenn Du ein Systemmenü
hast, dann hast Du doch auch ein Icon sichtbar. Und wenn Du selber
keines zugewiesen hast, ist es eben das typische kleine Icon.

Wie kann ich aber in einem Modeless Dialog diesem
Systemmenue das "typische" kleine Icon zuweisen?



// Vor dem Inkludieren von windows.h OEMRESOURCE definieren!
#define OEMRESOURCE
#include <windows.h>
.
.
.
HICON hIcon = (HICON)LoadImage(NULL, MAKEINTRESOURCE(OIC_WINLOGO),
IMAGE_ICON,
GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON),
LR_DEFAULTCOLOR | LR_SHARED);

SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);


Oder suchst Du vielleicht das App-Icon? Das ist zwar nicht das typische
Icon, funktioniert aber so:

HICON hIcon = (HICON)LoadImage(NULL, IDI_APPLICATION,
IMAGE_ICON,
GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON),
LR_DEFAULTCOLOR | LR_SHARED);

SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);

btw: ich habe das 0L statt der 0 mal aufgeschnappt. Wofuer
war dieses "L" ? Long oder so?



Für long, genau.

Gruß,
René

Ähnliche fragen