Prochor Napisano Wrzesień 5, 2018 Autor Zgłoś Udostępnij Napisano Wrzesień 5, 2018 No wiec sprawa jest nastepujaca: Te tutoriale z winapi dzialaja mi jak chca, czyli ze nie chca, w zwiazku z czym jestem tutaj : mam takie letko pogiete pytanka: 1. Chce zeby przy uruchamianiu aplikacji cursor pojawil sie automatycznie w edicie, niby gdzies tam znalazlem ze SetFocus(HandleToControl) powinno zalatwic sprawe ale nie wiem gdzie mam to wsadzic 2. Chce wczytac liczbe z editboxa do zmiennej i niby ja pobieram i zapisuje ale cos mi dalej nie dziala. Jezeli mam edita tylko z numerkami to musze miec subclassing bo juz sie zgubilem deczko 3. Jak chce wyswietlic TextOut()'em cos na ekran po wcisnieciu przycisku to gdzie powinienem wsadzic warunek i jak on mniej wiecej powinien wygladac Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Complex Napisano Wrzesień 6, 2018 Zgłoś Udostępnij Napisano Wrzesień 6, 2018 ad 1. SetFocus po utworzeniu kontrolki ad 2. Standardowo jak masz edita z tekstem to GetDlgItemText() ale potem musisz tekst zmienic na inta f. atoi(), albo od razu uzyc f. GetDlgItemInt() ktora zwraca int. (subclassing nie jest potrzebny w tym przypadku) ad. 3 jak chcesz wyswietlac podczas wcisniecia przycisku to musisz podczas WM_KEYDOWN (lub innych jak np. WM_CHAR) zapisywać sobie w zmiennej wartosc TRUE albo FALSE. Wtedy podczas WM_PAINT sprawdzasz czy ta zmienna ma true czy false i wyswietlasz textOutem albo nie. W razie niejasnosci porsze pytać ;) powodzenia Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Aspect Napisano Wrzesień 6, 2018 Zgłoś Udostępnij Napisano Wrzesień 6, 2018 1. W funkcji obsługi komunikatów, dodajesz obsługe komunikatu WM_CREATE. W niej najpierw używasz funkcji: HWND GetDlgItem( HWND hWnd, // uchwyt do Twojego głównego okna int nIDDlgItem // identyfikator edita, w którym chcesz mieć focus ); żeby uzyskać uchwyt do okna Edita, a potem wywołujesz HWND SetFocus( HWND hWnd // handle to window to receive focus ); podając jako parametr uchwyt uzyskany wcześniej. 2. Zeby uzyskać edit, do którego można wprowadzać tylko liczby nie trzeba subclassingu. Wystarczy nadać mu styl ES_NUMBER. Nie piszesz dokładnie co Ci nie działa, więc trudno cokolwiek powiedzieć. 3. Robisz sobie jakąś zmienną globalną, lub statyczną w funkcji obsługi komunikatów, np typu bool i ustawiasz na false. W obsłudze naciśniecia przycisku ustawiasz sobie tęzmiennąna true. Potem w obsłudze komunikatu WM_PAINT sprawdzasz czy wartość tej zmiennej jest równa true i jeżeli tak to wyrysowujesz tekst. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.