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

[WinAPI] Problem z programem z Lekcji 1.

Ostatnio zmodyfikowano 2015-06-19 16:47
Autor Wiadomość
BadBullPL
Temat założony przez niniejszego użytkownika
[WinAPI] Problem z programem z Lekcji 1.
» 2015-06-19 16:23:33
A więc uczę się WinAPI z kursu który jest na stronie i to jest kod:
C/C++
#include <windows.h>

MSG Komunikat;

////////////////////////////////////////////////////
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
   
    LPSTR NazwaKlasy = "Klasa Okienka";
   
    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, "Oto okienko", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 240, 120, NULL, NULL, hInstance, NULL );
    if( hwnd == NULL )
    {
        MessageBox( NULL, "Okno odmówiło przyjścia na świat!", "Ale kicha...", MB_ICONINFORMATION );
        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_CLOSE:
        DestroyWindow( hwnd );
        break;
    case WM_DESTROY:
        PostQuitMessage( 0 );
        break;
        default:
        return DefWindowProc( hwnd, msg, wParam, lParam );
    }
}
A to log kompilacji:

C:\Users\AdminToJa\Desktop\Nowy folder\winapi\pierwsza apka okienkowa\main.cpp: In function 'int WinMain(HINSTANCE__*, HINSTANCE__*, CHAR*, int)':
C:\Users\AdminToJa\Desktop\Nowy folder\winapi\pierwsza apka okienkowa\main.cpp:9: warning: deprecated conversion from string constant to 'CHAR*'
C:\Users\AdminToJa\Desktop\Nowy folder\winapi\pierwsza apka okienkowa\main.cpp:14: error: 'WndProc' was not declared in this scope
Process terminated with status 1 (0 minutes, 0 seconds)
1 errors, 1 warnings
i teraz dlaczego w 14 linijce jest błąd ale jak skopiuje i skompiluje gotowy kod z końca rozdziału to kompiluje się bez problemu
P-133798
pekfos
» 2015-06-19 16:47:19
ale jak skopiuje i skompiluje gotowy kod z końca rozdziału to kompiluje się bez problemu
Sam sobie odpowiedz. Co było tu, a wywaliłeś?
C/C++
MSG Komunikat;

////////////////////////////////////////////////////
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
Podpowiedź (kod z kursu):
C/C++
MSG Komunikat;

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

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
P-133801
« 1 »
  Strona 1 z 1