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

WinAPI, Error "... before "}" token"

Ostatnio zmodyfikowano 2018-02-02 22:00
Autor Wiadomość
Svviftt
Temat założony przez niniejszego użytkownika
WinAPI, Error "... before "}" token"
» 2018-02-02 21:29:31
Hejka naklejka, uczę się biblioteki WinAPI, nie z kursu z tej strony, lecz z YouTube. Mam problem z owym kodem, wyskakuje błąd (linia 84)"error: expected unqualified-id before "}" token", szukam dość dużo, gdzie mógłbym zrobić błąd, lecz nie widzę nic takiego. Oto mój kod(dodam, że korzystam z Code::Blocks), z góry dziękuję za pomoc :D
C/C++
#include <windows.h>

LPSTR NazwaKlasy = "Klasa123";

MSG Komunikat;

HWND hPrzycisk;
HWND hCheckBox;
HWND hRadio;
HWND hRamka;

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

int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )

{
    WNDCLASS wc;
   
    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;
   
   
    RegisterClass( & wc );
   
    HWND hWnd = CreateWindowEx( WS_EX_CLIENTEDGE, NazwaKlasy, "okienko",
    WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,
    CW_USEDEFAULT, 480, 240, NULL, NULL,
    hInstance, NULL );
   
   
    hPrzycisk = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON",
    "przycisk", WS_CHILD | WS_VISIBLE,
    5, 10, 100, 30, hWnd, NULL, hInstance, NULL );
   
   
    hCheckBox = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON",
    "checkbox", WS_CHILD | WS_VISIBLE | BS_CHECKBOX,
    5, 50, 100, 30, hWnd, NULL, hInstance, NULL );
   
   
    hRadio = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON",
    "radiobox", WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON,
    5, 100, 100, 30, hWnd, NULL, hInstance, NULL );
   
   
    hRamka = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON",
    "ramka", WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
    5, 150, 100, 30, hWnd, NULL, hInstance, NULL );
   
   
   
    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:
        if(( HWND ) lParam == hPrzycisk )
             MessageBox( hwnd, "Przycisk", "ABC", MB_OK );
       
        break;
       
    case WM_CLOSE:
        DestroyWindow( hwnd );
        break;
       
    case WM_DESTROY:
        PostQuitMessage( 0 );
        break;
       
        default:
        return DefWindowProc( hwnd, msg, wParam, lParam );
       
    }
}
P-169200
pekfos
» 2018-02-02 21:38:55
Wywal średnik po WndProc.
P-169201
Svviftt
Temat założony przez niniejszego użytkownika
» 2018-02-02 21:47:50
Jeśli usunę ";" przy WndProc przed switchem to dostaje "error: 'WM_CLOSE' was not declared in this scope". A jak usunę ";" przy WndProc przed WinMain to dostaje "error: expected initializer before 'int'". Nie wiem co dalej.. :/
P-169202
Svviftt
Temat założony przez niniejszego użytkownika
» 2018-02-02 22:00:53
Znalazłem błąd, wywaliłem ; i działa, dzięki @Pekfos :D
P-169203
« 1 »
  Strona 1 z 1