Skocz do zawartości

Błąd w pierwszym programie WinAPI


Rekomendowane odpowiedzi

Opublikowano

Uczę się WinApi z tego kursu: http://stud.wsi.edu.pl/~sistudem

 

#include <windows.h>

int WINAPI WinMain(HINSTANCE hProgram, HINSTANCE, LPSTR, int swPokaz)
{

WNDCLASS wc;
wc.style	  = 0;
wc.hInstance	  = hProgram;
wc.lpszClassName = "Moja Klasa";
wc.lpfnWndProc	  = DefWindowProc;
wc.hIcon	  = LoadIcon(NULL,IDI_WINLOGO);
wc.hCursor	  = LoadCursor(NULL,IDC_ARROW);
wc.lpszMenuName  = NULL;
wc.cbClsExtra	  = 0;
wc.cbWndExtra	  = 0;
wc.hbrBackground = (HBRUSH) GetStockObject(BLACK_BRUSH);
if(!RegisterClass(&wc)) return 0;

HWND hOkno;
hOkno = CreateWindowEx(WS_EX_TOPMOST,"Moja Klasa","Program 1",
			WS_OVERLAPPEDWINDOW,100,100,200,100,
                       NULL,NULL,hProgram,NULL);

ShowWindow(hOkno,swPokaz);

MSG msg;
while(1) {
 if(!IsWindow(hOkno)) break;
 GetMessage(&msg,NULL,0,0);
 DispatchMessage(&msg);
}

return 0;
}

 

Taki program powinien wyświetlać okienko z czarnym tłem, ale coś nie idzie mi przy kompilacji :/ wy się na pewno lepiej znacie, więc powiedzcie mi o co biega.

 

Oczywiście daję treść błędów:

  [Linker error] undefined reference to `GetStockObject@4'

  ld returned 1 exit status

 

Proszę o pomoc i poprawki kodu.

Opublikowano
Dodaj do zlinkowania bibliotekę gdi32.

Co muszę dodać do kodu? Bo mi jakoś nie działa, daję #include i różne nazwy np. <gdi32.lib> itd.

Opublikowano

Po pierwsze: jakie IDE? (devcpp, code::blocks, visual?)

Opublikowano

opcje projektu -> parametry -> konsolidator

i dopisujesz linijke:

-lgdi32

Opublikowano

opcje projektu -> ogólne -> typ: Win32 GUI

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...