Jestem początkującym "programistą" i próbowałem wstawić LoadMenu przed CreateWindowEx. Mam pytanie dotyczące Menu w języku C++.
Oto mój kod:
Kod:
#include <windows.h>
LPSTR NazwaKlasy = "program";
MSG Komunikat;
LRESULT CALLBACK WndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
WNDCLASS wc;
//Wypełanimy
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;
// REJESTROWANIE KLASY OKNA
if( !RegisterClass( & wc ) )
{
MessageBox( NULL, "Wysoka Komisja odmawia rejestracji tego okna!", "Niestety...",
MB_ICONEXCLAMATION | MB_OK );
return 1;
}
//Twożenie okna
HWND hwnd;
HWND hWnd = CreateWindowEx (WS_EX_CLIENTEDGE, NazwaKlasy, "Program", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,
CW_USEDEFAULT, 800, 600, NULL, NULL, hInstance, NULL);
//Wyswietlenie okna
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
//Pentla
while( GetMessage( & Komunikat, NULL, 0, 0) )
{
TranslateMessage(&Komunikat);
DispatchMessage(&Komunikat);
}
return Komunikat.wParam;
}
//Procedura Okna
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;
}
Notatka od kadzitas, 17-03-2013 19:45:
Nie to forum, nikt tu raczej nie pomoże i nie ma na to odpowiedniego działu, trzymam otwarte przez 24h, potem zamykam |