Omega Napisano Sierpień 2, 2018 Autor Zgłoś Udostępnij Napisano Sierpień 2, 2018 Jak to jest w rzeczywistości z kontrolkami (np. buttonami), którym dodajessz styl WS_TABSTOP a oknu głównemu przypisujesz styl WS_EX_CONTROLPARENT i co? I nic. Klikasz tabulacją, a fokus wcale nie przeskakuje do następnej kontrolki ze stylem WS_TABSTOP Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Nemo Napisano Sierpień 3, 2018 Zgłoś Udostępnij Napisano Sierpień 3, 2018 Pewnie moje infromacje są błędne ale i tak napisze. Według moich źródeł musisz sam obslużyć kotnrolki w oknie tzn klawisz Tab poprzez Subclassing (czy jakos tak). Ja tak robie i mi to działa ;] Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Sierpień 3, 2018 Autor Zgłoś Udostępnij Napisano Sierpień 3, 2018 Nie jest to złe spostrzerzenie, bo też o tym zaczynam tak mysleć. Ale to po co jest ten WS_TABSTOP. Bo po co dodawać tyle kodu (samemu obsługiwać procedure) jak przecierz ta stała jakoś musi być wykorzystana. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Nemo Napisano Sierpień 3, 2018 Zgłoś Udostępnij Napisano Sierpień 3, 2018 Według mnie to działa tylko w okienkach dialogowych ;) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Sierpień 3, 2018 Autor Zgłoś Udostępnij Napisano Sierpień 3, 2018 Nie wydaje mi się. Poszukałem i troche poczytałem Wiem, że tworzy się kontrolki, która pierwsz musi mieć styl (oprócz WS_TABSTOP) WS_GROUP. Nastepne tylko WS_TABSTOP. Robi się to aby określić grupę kontrolek, które będą mogły być fokusowane przez strzałki. No ale cholera tworze tak i nic - a pisało jak wół. Napewno to działa tylko chyba coś źle robię. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Nemo Napisano Sierpień 4, 2018 Zgłoś Udostępnij Napisano Sierpień 4, 2018 Jak sie tego doczytales na msdn'ie to rzuc mi linkiem bo jakos ostatnio nie umie sie polapac na tym msdn'ie :/ Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Sierpień 4, 2018 Autor Zgłoś Udostępnij Napisano Sierpień 4, 2018 Nie na MSDN. Wszedłem na google, wpisałem WS_TABSTOP i kliknąłem enter Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Nemo Napisano Sierpień 4, 2018 Zgłoś Udostępnij Napisano Sierpień 4, 2018 ja w MSDNie wycztalem takei cos: WS_GROUP and WS_TABSTOP Flags in Controls A control should not use the WS_GROUP and WS_TABSTOP flags internally; some containers rely on these flags to manage keyboard handling. Nie wiem co to do konca znaxczy ale moze pomoze ;] Zreszta jak bedziesz wiedzial w koncu co i jak to daj znac na forum ;] Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Sierpień 4, 2018 Autor Zgłoś Udostępnij Napisano Sierpień 4, 2018 Wystarczyło, że wszedłem na stronę https://www.programmersheaven.com i znalazłem odpowiedź na tamtym forum. Ogólnie dużo osób się o to pyta, a odpowiedź jest bardzo prosta. Wystarczy w pętli komunikatów okna wykorzystać funkcję IsDialogMessage. A co najlepsze, otwieram plik pomocy win32.hlp, szukam informacji o tej funkcji (myslałe, że ona jest tylko wtedy potrzebna gdy wykorzystujemy w naszym głównym oknie okienka dialogowe z zasobów) i pisze jak wół o korzystaniu z tej funkcji też dla tabulacji: ... Remarks Although the IsDialogMessage function is intended for modeless dialog boxes, you can use it with any window that contains controls, enabling the windows to provide the same keyboard selection as is used in a dialog box. When IsDialogMessage processes a message, it checks for keyboard messages and converts them into selection commands for the corresponding dialog box. For example, the TAB key, when pressed, selects the next control or group of controls, and the DOWN ARROW key, when pressed, selects the next control in a group. ... 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.