Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WinApi]Zabawy z obslugiwaniem klawiszy ciag dalszy...

Ostatnio zmodyfikowano 2012-08-25 13:17
Autor Wiadomość
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:

C/C++
#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 )
{
   
    // 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 );
   
    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 ); // 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;
           
        }
       
    case WM_CLOSE:
        DestroyWindow( hwnd );
        break;
       
    case WM_DESTROY:
        PostQuitMessage( 0 );
        break;
       
        default:
        return DefWindowProc( hwnd, msg, wParam, lParam );
    }
   
    return 0;
}
P-63548
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).
P-63549
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:

C/C++
#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;
           
        }
       
    case WM_CLOSE:
        DestroyWindow( hwnd );
        break;
       
    case WM_DESTROY:
        PostQuitMessage( 0 );
        break;
       
        default:
        return DefWindowProc( hwnd, msg, wParam, lParam );
    }
   
    return 0;
}
P-63550
xevuel
» 2012-08-25 07:59:30
Nic dziwnego, gdzie
break
 po WM_COMMAND?
P-63554
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;
}
P-63559
xevuel
» 2012-08-25 12:44:26
Ciekawą klasę podałeś do funkcji tworzącej kontrolkę STATIC...
P-63561
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;
}
P-63562
« 1 »
  Strona 1 z 1