2010-12-16 4 views
1

방금 ​​WNDCLASSEX를 사용하도록 게임을 전환 했으므로 hIconSm을 변경할 수 있습니다. 그러나 어떤 이유로 제목 표시 줄에 더 이상 아이콘이 없습니다. 작업 표시 줄의 커서와 아이콘과 EXE 아이콘은 모두 올바르게 작동합니다. 나는 어쩌면 내가 아이콘없이 스타일을 사용 희망 CreateWindowEx 함수에 대한 몇 가지 다른 설정을 시도했습니다WNDCLASS에서 WNDCLASSEX로 전환 한 후 제목 표시 줄에 아이콘이 없음

WNDCLASSEX wc; 

wc.cbSize = sizeof(WNDCLASSEX); 
wc.cbClsExtra = 0; 
wc.cbWndExtra = 0; 
wc.style = CS_HREDRAW | CS_VREDRAW; 
wc.lpfnWndProc = WinProc; 
wc.hInstance = hInstance; 
wc.hIcon = LoadIcon(NULL, IDI_ERROR); 
wc.hIconSm = LoadIcon(NULL, IDI_ASTERISK); 
wc.hCursor = LoadCursorFromFile((LPCSTR)"FierceCursor.cur"); 
wc.hbrBackground = (HBRUSH) (COLOR_WINDOW+1); 
wc.lpszClassName = "FierceWindow"; 

RegisterClassEx(&wc); 

game->hinstance = hInstance; 

hWnd = CreateWindowEx(WS_EX_CLIENTEDGE, 
          "FierceWindow", "Fierce", 
          WS_OVERLAPPED, 400, 100, 
          game->SCREEN_WIDTH, game->SCREEN_HEIGHT, 
          NULL, NULL, hInstance, NULL); 

하지만 행운 : 여기에 윈도우 생성 코드의 주요 부분이다. 지금 테스트 할 기본 아이콘을 사용하고 있습니다.

답변

0

는 컴파일되지 않습니다 :

error: cast from 'CHAR*' to 'WORD' loses precision 

감사를 편집하기위한 BTW. 때문에 당신의 창 스타일의

wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(32513)); 
wc.hIconSm = LoadIcon(hInstance, MAKEINTRESOURCE(32513)); 
+0

@MJ : 삭제 ... 죄송합니다. – sje397

+0

나는 그것이 작동하지만 여전히 아이콘이 없다. : –

+0

CreateWindow를 그냥 사용하면 작동합니까? –

0

그건 : -

편집은로 변경하여 컴파일 할 수있어. 이 아이콘은 WS_SYSMENU 스타일을 추가하는 경우에만 나타납니다.

WS_OVERLAPPED | WS_SYSMENU

관련 문제