Luksor Opublikowano 21 Lutego 2009 Opublikowano 21 Lutego 2009 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.
Luksor Opublikowano 21 Lutego 2009 Autor Opublikowano 21 Lutego 2009 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.
PsichiX Opublikowano 21 Lutego 2009 Opublikowano 21 Lutego 2009 Po pierwsze: jakie IDE? (devcpp, code::blocks, visual?)
PsichiX Opublikowano 21 Lutego 2009 Opublikowano 21 Lutego 2009 opcje projektu -> parametry -> konsolidator i dopisujesz linijke: -lgdi32
Luksor Opublikowano 21 Lutego 2009 Autor Opublikowano 21 Lutego 2009 opcje projektu -> parametry -> konsolidator i dopisujesz linijke: -lgdi32 Dzięki :thumbsup: Wszytko działa poprawnie. Tylko mam jeszcze jedną prośbę: jak usunąć z pod okna tą konsolę? http://img16.imageshack.us/my.php?image=konsola.png
PsichiX Opublikowano 21 Lutego 2009 Opublikowano 21 Lutego 2009 opcje projektu -> ogólne -> typ: Win32 GUI
Rekomendowane odpowiedzi
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ę