2010-12-16 8 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 

感謝を編集するためにところで。

編集 - それはそれを変更してコンパイルするガット:

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

関連する問題