DzieckoBezZycia Temat założony przez niniejszego użytkownika |
[WinApi]Zabawy z obslugiwaniem klawiszy ciag dalszy... » 2012-08-24 21:57:40 Witam was moi drodzy! Chcialem zrobic prosty program, ktory po nacisnieciu danego klawisza bedzie wyswietlal jakis napis, ale wyszlo kilka bledy w kompilacji. Co jest nie tak? Czemu pisze, ze jest niezdefiniowane, jezeli znajduje sie w tej samej funkcji(Win main)? Kodzik: #include <windows.h> #define ID_PRZYCISK1 501 #define ID_PRZYCISK2 502 #define ID_PRZYCISK3 503 #define ID_PRZYCISK4 504 #define ID_PRZYCISK5 505 #define ID_PRZYCISK6 506 #define ID_PRZYCISK7 507 #define ID_PRZYCISK8 508 #define ID_PRZYCISK9 509
LPSTR NazwaKlasy = "Umyj mnie"; MSG Komunikat;
LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { 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 ); if( !RegisterClassEx( & wc ) ) { MessageBox( NULL, "Wysoka Komisja odmawia rejestracji tego okna!", "Niestety...", MB_ICONEXCLAMATION | MB_OK ); return 1; } HWND hwnd; hwnd = CreateWindowEx( WS_EX_CLIENTEDGE, NazwaKlasy, "LOL", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 160, 185, NULL, NULL, hInstance, NULL ); HWND hButton1 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "1", WS_CHILD | WS_VISIBLE | WS_BORDER, 0, 0, 50, 50, hwnd,( HMENU ) ID_PRZYCISK1, hInstance, NULL ); HWND hButton2 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "2", WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 0, 50, 50, hwnd,( HMENU ) ID_PRZYCISK2, hInstance, NULL ); HWND hButton3 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "3", WS_CHILD | WS_VISIBLE | WS_BORDER, 100, 0, 50, 50, hwnd,( HMENU ) ID_PRZYCISK3, hInstance, NULL ); HWND hButton4 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "4", WS_CHILD | WS_VISIBLE | WS_BORDER, 0, 50, 50, 50, hwnd,( HMENU ) ID_PRZYCISK4, hInstance, NULL ); HWND hButton5 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "5", WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 50, 50, 50, hwnd,( HMENU ) ID_PRZYCISK5, hInstance, NULL ); HWND hButton6 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "6", WS_CHILD | WS_VISIBLE | WS_BORDER, 100, 50, 50, 50, hwnd,( HMENU ) ID_PRZYCISK6, hInstance, NULL ); HWND hButton7 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "7", WS_CHILD | WS_VISIBLE | WS_BORDER, 0, 100, 50, 50, hwnd,( HMENU ) ID_PRZYCISK7, hInstance, NULL ); HWND hButton8 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "8", WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 100, 50, 50, hwnd,( HMENU ) ID_PRZYCISK8, hInstance, NULL ); HWND hButton9 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "9", WS_CHILD | WS_VISIBLE | WS_BORDER, 100, 100, 50, 50, hwnd,( HMENU ) ID_PRZYCISK9, hInstance, NULL ); HWND hStatic = CreateWindowEx( 0, "LOL", NULL, WS_CHILD | WS_VISIBLE | SS_CENTER, 200, 200, 200, 200, hwnd, NULL, hInstance, NULL ); SetWindowText( hStatic, "NIC" ); if( hwnd == NULL ) { MessageBox( NULL, "Okno odmówiło przyjścia na świat!", "Ale kicha...", MB_ICONEXCLAMATION ); return 1; } ShowWindow( hwnd, nCmdShow ); 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_COMMAND: switch( wParam ) { case ID_PRZYCISK1: SetWindowText( hStatic, "1" ); break; case ID_PRZYCISK2: SetWindowText( hStatic, "2" ); break; case ID_PRZYCISK3: SetWindowText( hStatic, "3" ); break; case ID_PRZYCISK4: SetWindowText( hStatic, "4" ); break; case ID_PRZYCISK5: SetWindowText( hStatic, "5" ); break; case ID_PRZYCISK6: SetWindowText( hStatic, "6" ); break; case ID_PRZYCISK7: SetWindowText( hStatic, "7" ); break; case ID_PRZYCISK8: SetWindowText( hStatic, "8" ); break; case ID_PRZYCISK9: SetWindowText( hStatic, "9" ); break; } case WM_CLOSE: DestroyWindow( hwnd ); break; case WM_DESTROY: PostQuitMessage( 0 ); break; default: return DefWindowProc( hwnd, msg, wParam, lParam ); } return 0; }
|
|
SeaMonster131 |
» 2012-08-24 22:19:32 HWND hStatic daj globalnie. To są 2 różne funkcje (tworzenie okna to jedna funkcja, obsługa zdarzeń do druga). |
|
DzieckoBezZycia Temat założony przez niniejszego użytkownika |
» 2012-08-24 23:55:31 Dziala, ale odrazu sie wylacza. Zgaduje ze trzeba gdzies wstawic jakas funkcje, tylko jaka i gdzie? ;p Kodzik: #include <windows.h> #define ID_PRZYCISK1 501 #define ID_PRZYCISK2 502 #define ID_PRZYCISK3 503 #define ID_PRZYCISK4 504 #define ID_PRZYCISK5 505 #define ID_PRZYCISK6 506 #define ID_PRZYCISK7 507 #define ID_PRZYCISK8 508 #define ID_PRZYCISK9 509
LPSTR NazwaKlasy = "Umyj mnie"; MSG Komunikat;
LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); HWND hStatic;
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { 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 ); if( !RegisterClassEx( & wc ) ) { MessageBox( NULL, "Wysoka Komisja odmawia rejestracji tego okna!", "Niestety...", MB_ICONEXCLAMATION | MB_OK ); return 1; } HWND hwnd; hwnd = CreateWindowEx( WS_EX_CLIENTEDGE, NazwaKlasy, "LOL", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 160, 185, NULL, NULL, hInstance, NULL ); HWND hButton1 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "1", WS_CHILD | WS_VISIBLE | WS_BORDER, 0, 0, 50, 50, hwnd,( HMENU ) ID_PRZYCISK1, hInstance, NULL ); HWND hButton2 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "2", WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 0, 50, 50, hwnd,( HMENU ) ID_PRZYCISK2, hInstance, NULL ); HWND hButton3 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "3", WS_CHILD | WS_VISIBLE | WS_BORDER, 100, 0, 50, 50, hwnd,( HMENU ) ID_PRZYCISK3, hInstance, NULL ); HWND hButton4 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "4", WS_CHILD | WS_VISIBLE | WS_BORDER, 0, 50, 50, 50, hwnd,( HMENU ) ID_PRZYCISK4, hInstance, NULL ); HWND hButton5 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "5", WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 50, 50, 50, hwnd,( HMENU ) ID_PRZYCISK5, hInstance, NULL ); HWND hButton6 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "6", WS_CHILD | WS_VISIBLE | WS_BORDER, 100, 50, 50, 50, hwnd,( HMENU ) ID_PRZYCISK6, hInstance, NULL ); HWND hButton7 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "7", WS_CHILD | WS_VISIBLE | WS_BORDER, 0, 100, 50, 50, hwnd,( HMENU ) ID_PRZYCISK7, hInstance, NULL ); HWND hButton8 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "8", WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 100, 50, 50, hwnd,( HMENU ) ID_PRZYCISK8, hInstance, NULL ); HWND hButton9 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "9", WS_CHILD | WS_VISIBLE | WS_BORDER, 100, 100, 50, 50, hwnd,( HMENU ) ID_PRZYCISK9, hInstance, NULL ); hStatic = CreateWindowEx( 0, "LOL", NULL, WS_CHILD | WS_VISIBLE | SS_CENTER, 200, 200, 200, 200, hwnd, NULL, hInstance, NULL ); SetWindowText( hStatic, "NIC" ); if( hwnd == NULL ) { MessageBox( NULL, "Okno odmówiło przyjścia na świat!", "Ale kicha...", MB_ICONEXCLAMATION ); return 1; } ShowWindow( hwnd, nCmdShow ); 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_COMMAND: switch( wParam ) { case ID_PRZYCISK1: SetWindowText( hStatic, "1" ); break; case ID_PRZYCISK2: SetWindowText( hStatic, "2" ); break; case ID_PRZYCISK3: SetWindowText( hStatic, "3" ); break; case ID_PRZYCISK4: SetWindowText( hStatic, "4" ); break; case ID_PRZYCISK5: SetWindowText( hStatic, "5" ); break; case ID_PRZYCISK6: SetWindowText( hStatic, "6" ); break; case ID_PRZYCISK7: SetWindowText( hStatic, "7" ); break; case ID_PRZYCISK8: SetWindowText( hStatic, "8" ); break; case ID_PRZYCISK9: SetWindowText( hStatic, "9" ); break; } case WM_CLOSE: DestroyWindow( hwnd ); break; case WM_DESTROY: PostQuitMessage( 0 ); break; default: return DefWindowProc( hwnd, msg, wParam, lParam ); } return 0; }
|
|
xevuel |
» 2012-08-25 07:59:30 Nic dziwnego, gdzie break po WM_COMMAND? |
|
DzieckoBezZycia Temat założony przez niniejszego użytkownika |
» 2012-08-25 12:25:22 Wszystko ladnie, ale gdzie tekst? ;p
Kodzik: #include <windows.h> #define ID_PRZYCISK1 501 #define ID_PRZYCISK2 502 #define ID_PRZYCISK3 503 #define ID_PRZYCISK4 504 #define ID_PRZYCISK5 505 #define ID_PRZYCISK6 506 #define ID_PRZYCISK7 507 #define ID_PRZYCISK8 508 #define ID_PRZYCISK9 509
LPSTR NazwaKlasy = "Umyj mnie"; MSG Komunikat;
LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); HWND hStatic;
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) {
// WYPEŁNIANIE STRUKTURY 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 );
// REJESTROWANIE KLASY OKNA if( !RegisterClassEx( & wc ) ) { MessageBox( NULL, "Wysoka Komisja odmawia rejestracji tego okna!", "Niestety...", MB_ICONEXCLAMATION | MB_OK ); return 1; }
// TWORZENIE OKNA HWND hwnd;
hwnd = CreateWindowEx( WS_EX_CLIENTEDGE, NazwaKlasy, "LOL", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 160, 185, NULL, NULL, hInstance, NULL );
HWND hButton1 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "1", WS_CHILD | WS_VISIBLE | WS_BORDER, 0, 0, 50, 50, hwnd,( HMENU ) ID_PRZYCISK1, hInstance, NULL );
HWND hButton2 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "2", WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 0, 50, 50, hwnd,( HMENU ) ID_PRZYCISK2, hInstance, NULL );
HWND hButton3 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "3", WS_CHILD | WS_VISIBLE | WS_BORDER, 100, 0, 50, 50, hwnd,( HMENU ) ID_PRZYCISK3, hInstance, NULL );
HWND hButton4 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "4", WS_CHILD | WS_VISIBLE | WS_BORDER,0, 50, 50, 50, hwnd,( HMENU ) ID_PRZYCISK4, hInstance, NULL );
HWND hButton5 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "5", WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 50, 50, 50, hwnd,( HMENU ) ID_PRZYCISK5, hInstance, NULL );
HWND hButton6 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "6", WS_CHILD | WS_VISIBLE | WS_BORDER, 100, 50, 50, 50, hwnd,( HMENU ) ID_PRZYCISK6, hInstance, NULL );
HWND hButton7 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "7", WS_CHILD | WS_VISIBLE | WS_BORDER, 0, 100, 50, 50, hwnd,( HMENU ) ID_PRZYCISK7, hInstance, NULL );
HWND hButton8 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "8", WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 100, 50, 50, hwnd,( HMENU ) ID_PRZYCISK8, hInstance, NULL );
HWND hButton9 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "9", WS_CHILD | WS_VISIBLE | WS_BORDER, 100, 100, 50, 50, hwnd,( HMENU ) ID_PRZYCISK9, hInstance, NULL );
hStatic = CreateWindowEx( 0, "LOL", NULL, WS_CHILD | WS_VISIBLE | SS_CENTER, 200, 200, 200, 200, hwnd, NULL, hInstance, NULL );
SetWindowText( hStatic, "NIC" );
if( hwnd == NULL ) { MessageBox( NULL, "Okno odmówiło przyjścia na świat!", "Ale kicha...", MB_ICONEXCLAMATION ); return 1; }
ShowWindow( hwnd, nCmdShow ); // Pokaż okienko... UpdateWindow( hwnd );
// Pętla komunikatów while( GetMessage( & Komunikat, NULL, 0, 0 ) ) { TranslateMessage( & Komunikat ); DispatchMessage( & Komunikat ); } return Komunikat.wParam; }
// OBSŁUGA ZDARZEŃ LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) { switch( msg ) { case WM_COMMAND:
switch(wParam) {
case ID_PRZYCISK1: SetWindowText( hStatic, "1" ); break;
case ID_PRZYCISK2: SetWindowText( hStatic, "2" ); break;
case ID_PRZYCISK3: SetWindowText( hStatic, "3" ); break;
case ID_PRZYCISK4: SetWindowText( hStatic, "4" ); break;
case ID_PRZYCISK5: SetWindowText( hStatic, "5" ); break;
case ID_PRZYCISK6: SetWindowText( hStatic, "6" ); break;
case ID_PRZYCISK7: SetWindowText( hStatic, "7" ); break;
case ID_PRZYCISK8: SetWindowText( hStatic, "8" ); break;
case ID_PRZYCISK9: SetWindowText( hStatic, "9" ); break;
} break;
case WM_CLOSE: DestroyWindow( hwnd ); break;
case WM_DESTROY: PostQuitMessage( 0 ); break;
default: return DefWindowProc( hwnd, msg, wParam, lParam ); }
return 0; }
|
|
xevuel |
» 2012-08-25 12:44:26 Ciekawą klasę podałeś do funkcji tworzącej kontrolkę STATIC... |
|
DzieckoBezZycia Temat założony przez niniejszego użytkownika |
» 2012-08-25 13:17:12 Myslalem, ze mozna tam wstawic co sie chce ;p. Na przyszlosc bede juz wiedzial ;D. Dziekuje!
EFEKT KONCOWY:
#include <windows.h> #define ID_PRZYCISK1 501 #define ID_PRZYCISK2 502 #define ID_PRZYCISK3 503 #define ID_PRZYCISK4 504 #define ID_PRZYCISK5 505 #define ID_PRZYCISK6 506 #define ID_PRZYCISK7 507 #define ID_PRZYCISK8 508 #define ID_PRZYCISK9 509
LPSTR NazwaKlasy = "Umyj mnie"; MSG Komunikat;
LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); HWND hStatic;
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) {
// WYPEŁNIANIE STRUKTURY 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 );
// REJESTROWANIE KLASY OKNA if( !RegisterClassEx( & wc ) ) { MessageBox( NULL, "Wysoka Komisja odmawia rejestracji tego okna!", "Niestety...", MB_ICONEXCLAMATION | MB_OK ); return 1; }
// TWORZENIE OKNA HWND hwnd;
hwnd = CreateWindowEx( WS_EX_CLIENTEDGE, NazwaKlasy, "LOL", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 160, 237, NULL, NULL, hInstance, NULL );
HWND hButton1 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "1", WS_CHILD | WS_VISIBLE | WS_BORDER, 0, 50, 50, 50, hwnd,( HMENU ) ID_PRZYCISK1, hInstance, NULL );
HWND hButton2 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "2", WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 50, 50, 50, hwnd,( HMENU ) ID_PRZYCISK2, hInstance, NULL );
HWND hButton3 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "3", WS_CHILD | WS_VISIBLE | WS_BORDER, 100, 50, 50, 50, hwnd,( HMENU ) ID_PRZYCISK3, hInstance, NULL );
HWND hButton4 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "4", WS_CHILD | WS_VISIBLE | WS_BORDER,0, 100, 50, 50, hwnd,( HMENU ) ID_PRZYCISK4, hInstance, NULL );
HWND hButton5 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "5", WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 100, 50, 50, hwnd,( HMENU ) ID_PRZYCISK5, hInstance, NULL );
HWND hButton6 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "6", WS_CHILD | WS_VISIBLE | WS_BORDER, 100, 100, 50, 50, hwnd,( HMENU ) ID_PRZYCISK6, hInstance, NULL );
HWND hButton7 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "7", WS_CHILD | WS_VISIBLE | WS_BORDER, 0, 150, 50, 50, hwnd,( HMENU ) ID_PRZYCISK7, hInstance, NULL );
HWND hButton8 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "8", WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 150, 50, 50, hwnd,( HMENU ) ID_PRZYCISK8, hInstance, NULL );
HWND hButton9 = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "9", WS_CHILD | WS_VISIBLE | WS_BORDER, 100, 150, 50, 50, hwnd,( HMENU ) ID_PRZYCISK9, hInstance, NULL );
hStatic = CreateWindowEx( 0, "STATIC", NULL, WS_CHILD | WS_VISIBLE | SS_CENTER, 0, 0, 150, 50, hwnd, NULL, hInstance, NULL );
SetWindowText( hStatic, "NIC" );
if( hwnd == NULL ) { MessageBox( NULL, "Okno odmówiło przyjścia na świat!", "Ale kicha...", MB_ICONEXCLAMATION ); return 1; }
ShowWindow( hwnd, nCmdShow ); // Pokaż okienko... UpdateWindow( hwnd );
// Pętla komunikatów while( GetMessage( & Komunikat, NULL, 0, 0 ) ) { TranslateMessage( & Komunikat ); DispatchMessage( & Komunikat ); } return Komunikat.wParam; }
// OBSŁUGA ZDARZEŃ LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) { switch( msg ) { case WM_COMMAND: Beep(300,300); switch(wParam) {
case ID_PRZYCISK1: SetWindowText( hStatic, "1" ); break;
case ID_PRZYCISK2: SetWindowText( hStatic, "2" ); break;
case ID_PRZYCISK3: SetWindowText( hStatic, "3" ); break;
case ID_PRZYCISK4: SetWindowText( hStatic, "4" ); break;
case ID_PRZYCISK5: SetWindowText( hStatic, "5" ); break;
case ID_PRZYCISK6: SetWindowText( hStatic, "6" ); break;
case ID_PRZYCISK7: SetWindowText( hStatic, "7" ); break;
case ID_PRZYCISK8: SetWindowText( hStatic, "8" ); break;
case ID_PRZYCISK9: SetWindowText( hStatic, "9" ); break;
} break;
case WM_CLOSE: DestroyWindow( hwnd ); break;
case WM_DESTROY: PostQuitMessage( 0 ); break;
default: return DefWindowProc( hwnd, msg, wParam, lParam ); }
return 0; }
|
|
« 1 » |