debilek Temat założony przez niniejszego użytkownika |
winAPI obsługa text area » 2014-02-24 16:31:08 Witam! Mam coś takiego #define BUTTON_1 501 #define BUTTON_2 502 #define BUTTON_3 503 #define EXIT 504 #define TEKST 505
g_przycisk_1 = CreateWindowEx( 0, "BUTTON", "BUTTON 1", WS_CHILD | WS_VISIBLE, 100, 100, 100, 50, g_okno,( HMENU ) BUTTON_1, * g_hInst_wsk, 0 ); g_przycisk_2 = CreateWindowEx( 0, "BUTTON", "BUTTON 2", WS_CHILD | WS_VISIBLE, 201, 100, 100, 50, g_okno,( HMENU ) BUTTON_2, * g_hInst_wsk, 0 ); g_przycisk_3 = CreateWindowEx( 0, "BUTTON", "BUTTON 3", WS_CHILD | WS_VISIBLE, 302, 100, 100, 50, g_okno,( HMENU ) BUTTON_3, * g_hInst_wsk, 0 );
g_exitButton = CreateWindowEx( 0, "BUTTON", "EXIT", WS_CHILD | WS_VISIBLE, 403, 100, 100, 50, g_okno,( HMENU ) EXIT, * g_hInst_wsk, 0 );
g_txtArea = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", 0, WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL, 100, 210, 200, 200, g_okno,( HMENU ) TEKST, * g_hInst_wsk, 0 );
LRESULT CALLBACK WndProc( HWND hwnd, UINT komunikaty, WPARAM wPar, LPARAM lPar ) { switch( komunikaty ) { case WM_COMMAND: switch( wPar ) { case BUTTON_1: MessageBox( hwnd, "Nacisnoles button 1", "INFO", MB_OK | MB_ICONINFORMATION ); break; case BUTTON_2: MessageBox( hwnd, "Nacisnoles button 2", "INFO", MB_OK | MB_ICONINFORMATION ); break; case BUTTON_3: MessageBox( hwnd, "Nacisnoles button 3", "INFO", MB_OK | MB_ICONINFORMATION ); break; case EXIT: PostQuitMessage( 0 ); break; case TEKST: MessageBox( hwnd, "Nacisnoles button 3", "INFO", MB_OK | MB_ICONINFORMATION ); break; } break; case WM_CLOSE: PostQuitMessage( 0 ); break; default: return DefWindowProc( hwnd, komunikaty, wPar, lPar ); } return 0; }
i teraz tak: kiedy nacisnę w obszarze g_txtArea to powinien się wywołać 'case TEKST:', ale się tak nie dzieje, zamiast tego wykonuje się default (jeśli od komentuje). ale w ten sposób if(( HWND ) lPar == g_txtArea ) SetWindowText( g_txtArea, "blablablabla" )
funkcja setWindowsText aktywuje się dopiero po kliknięciu w obszar g_txtArea. Dlaczego rzutowanie stałej na HMENU w tym przypadku nie działa? oraz dlaczego kiedy sprawdzam kliknięcie za pomoca if to blokuje wprowadzanie danych?? proszę o pomoc |
debilek Temat założony przez niniejszego użytkownika |
» 2014-02-25 17:56:22 juz nic nie rozumiem, lecę z waszym kursem winapi, a już przy kontrolkach jest pełno luk których nigdzie nie moge znaleźć. Więc jak klikam w obszarze kontrolki EDIt to jak uniknąć żeby się ten default nie wywołał, mam ten sam problem z comboboxem. żeby uzyć tego makra to odczytania indexu to musialem dołączyć windowsx.h, a pisało że windows.h wystarcza, to jeszcze jak wybiore opcje w comboboxie to sie Message box wyświetla kilka razy |