debilek Temat założony przez niniejszego użytkownika |
kurs winAPI przycik widoczny dopiero po jego kliknieciu » 2014-02-21 10:49:15 Witam!! Próbuje stworzyć przycisk w winAPI zgodnie z kursem, okno się tworzy, a przycisk jest widoczny dopiero po jego kliknięciu, wcześniej mam tylko białe okno. Mam zrobione tak HWND okno = CreateWindowEx( 0, NazwaKlasyOkna, "Trolololololololo", WS_OVERLAPPEDWINDOW | WS_VISIBLE, 50, 50, 800, 500, 0, 0, hInstance, 0 );
HWND przycisk_1 = CreateWindowEx( 0, "BUTTON", "EXIT", WS_CHILD | WS_VISIBLE, 100, 100, 100, 50, okno, 0, hInstance, 0 );
ShowWindow( okno, nShowCmd );
|
|
DejaVu |
» 2014-02-21 11:18:53 Zapewne czyścisz kontekst okna, bo chcesz po tym oknie rysować jak i mieć różne kontrolki. Wywal kod odpowiedzialny za manualne rysowanie sceny i zweryfikuj swój problem. |
|
debilek Temat założony przez niniejszego użytkownika |
» 2014-02-21 13:32:01 mam taki kod, i nie wiem które to manualne rysowanie, #include <windows.h>
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM );
const char NazwaKlasyOkna[] = "Vengeance";
INT WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ) { WNDCLASSEX okienko; okienko.hInstance = hInstance; okienko.lpszClassName = NazwaKlasyOkna; okienko.lpfnWndProc = WndProc; okienko.style = CS_DBLCLKS; okienko.cbSize = sizeof( WNDCLASSEX ); okienko.hIcon = LoadIcon( hInstance, "ikona" ); okienko.hIconSm = LoadIcon( hInstance, "ikona" ); okienko.hCursor = LoadCursor( 0, IDC_ARROW ); okienko.lpszMenuName = 0; okienko.hbrBackground =( HBRUSH )( COLOR_WINDOW + 10 ); okienko.cbWndExtra = 0; okienko.cbClsExtra = 0; if( RegisterClassEx( & okienko ) == 0 ) return 1; HWND okno = CreateWindowEx( 0, NazwaKlasyOkna, "Trolololololololo", WS_OVERLAPPEDWINDOW | WS_VISIBLE, 50, 50, 800, 500, 0, 0, hInstance, 0 ); HWND przycisk_1 = CreateWindowEx( 0, "BUTTON", "EXIT", WS_CHILD | WS_VISIBLE, 100, 100, 100, 50, okno, 0, hInstance, 0 ); ShowWindow( okno, nShowCmd ); MSG komunikaty; while( GetMessage( & komunikaty, 0, 0, 0 ) ) { TranslateMessage( & komunikaty ); DispatchMessage( & komunikaty ); } return komunikaty.wParam; }
LRESULT CALLBACK WndProc( HWND hwnd, UINT komunikaty, WPARAM wPar, LPARAM lPar ) { switch( komunikaty ) { case WM_PAINT: break; case WM_CLOSE: PostQuitMessage( 0 ); break; default: return DefWindowProc( hwnd, komunikaty, wPar, lPar ); } return 0; }
|
|
maly |
» 2014-02-21 14:22:26 Przechwytujesz komunikat WM_PAINT a nic z nim nie robisz. |
|
« 1 » |