2013-11-20 25 views
0
#include<windows.h> 

LPSTR NazwaKlasy = "Klasa Okienka"; 
MSG Komunikat; 

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); 

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nShowCmd) 
{ 
WNDCLASSEX wc; 

wc.cbSize = sizeof(WNDCLASSEX); 
wc.style = 0; 
wc.lpfnWndProc = WndProc; 
wc.cbClsExtra = 0; 
wc.cbWndExtra = 0; 
wc.hInstance = hInstance; 
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); 
wc.hCursor = LoadCursor(NULL, IDC_ARROW); 
wc.hbrBackground =(HBRUSH)(COLOR_WINDOW + 1); 
wc.lpszMenuName = NULL; 
wc.lpszClassName = NazwaKlasy; 
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); 

//tutaj kłądż okienka 
HWND hwnd; 
hwnd = CreateWindowEx (WS_EX_CLIENTEDGE,NazwaKlasy,"Okienko",WS_EX_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,400,400,NULL,NULL,hInstance,NULL); 

//koniec obszaru okienek 

ShowWindow(hwnd, nShowCmd); // Pokaż okienko... 
UpdateWindow(hwnd); 

while(GetMessage(& Komunikat, NULL, 0, 0)) 
{ 
TranslateMessage(& Komunikat); 
DispatchMessage(& Komunikat); 
} 

return Komunikat.wParam; 
} 
    LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) 
{ 
switch(msg) 
{ 
case WM_CLOSE: 
     DestroyWindow(hwnd); 
    break; 

case WM_DESTROY: 
     PostQuitMessage(0); 
    break; 

    default: 
     return DefWindowProc(hwnd, msg, wParam, lParam); 
} 

return 0; 
} 

編輯器沒有顯示錯誤,運行沒有任何問題的程序,但沒有在節目不是很有經驗的窗口 IM的跡象,所以它最可能是一個愚蠢的錯誤,我只是不能發現但每個人都必須從某處開始
我想我正確地編寫了這篇文章試圖學習winapi。做了第一個節目,必須給我一個窗口。 CMD節目,但沒有窗戶

+0

Okienka,Okienko,Okienek?那麼你一定是來自芬蘭:) – dns

回答

1

你沒有註冊窗口類。你填寫WNDCLASSEX結構好,但你忽略撥打RegisterClassEx實際註冊它。

+0

謝謝你的工作。即時通訊學習的網站將其合併到代碼中,但我只是在那裏發佈,以便程序對學習它的人看起來更有趣,所以我沒有想到它的重要性 – user3015184

相關問題