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

[WinApi] Lekcja 1, błędy.

Ostatnio zmodyfikowano 2012-11-30 22:51
Autor Wiadomość
rafixxx25
Temat założony przez niniejszego użytkownika
[WinApi] Lekcja 1, błędy.
» 2012-11-30 22:15:13
Witam!

Mam problem. Zrobiłem wszystko tak jak w kursie » Kurs WinAPI, C++ » PodstawyPodstawy WinAPI lekcja
C/C++
#include <windows.h>

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_ICONEXCLAMATION );
        return 1;
    }
    ShowWindow( hwnd, nCmdShow );
    UpdateWindow( hwnd );
    return 0;
}
Gdy próbuję skompilować pojawiają się błędy:
In function `int WinMain(HINSTANCE__*, HINSTANCE__*, CHAR*, int)':
`WndProc' undeclared (first use this function)
...
Po zastąpieniu WndProc liczbą 0 wyskakuje okno "Ale kicha..." "Okno odmówiło przyjścia na świat!".

Być może problemem jest to, ze w ustawieniach projektu nie wybrałem "Type" "Win32 GUI", ponieważ wchodząc w opcje projektu wyskakuje mi okienko z bombą z błędem:

Application version: 4.9.9.2

Machine info
---------
Platform       : Windows NT
OS version     : version 6.1 (build 7601)
Additional info: Service Pack 1


The following error occured in version 4.9.9.2:
Access violation at address 0018F9DF. Write of address 0018F9DF (at address 0x0018F9DF)

Przeinstalowywałem Dev'a i nadal to samo.

Umie ktoś pomóc?

Pozdrawiam

PS: Jak włączyć blok kodu C++ na tym forum?
P-70181
Admixior
» 2012-11-30 22:45:41
Po prostu nie napisałeś sobie funkcji WndProc, jak się ją pisze znajdziesz w kursie.

//» KursyJakie są znaczniki na tym forum kurs
P-70189
rafixxx25
Temat założony przez niniejszego użytkownika
» 2012-11-30 22:51:10
Hmm... teraz widzę, że jest to poniżej :P
Po prostu przeczytałem wszystko do pewnego momentu i nie pomyślałem, że to może być dalej.
(myślałem, że może wynika to z nieustawienia tej opcji w ustawieniach)
P-70190
« 1 »
  Strona 1 z 1