Trix Napisano Listopad 24, 2019 Autor Zgłoś Napisano Listopad 24, 2019 Witam Mam kolejny "błahy" problem;) Mam dwie kontrolki Tab. Kiedy klikam na jedną z zakładek to pokazuje mi się druga kontrolka Tab, tylko że jest ona przysłonięta przez tą pierwszą...Włączyłem styl WS_EX_TRANSPARENT ale nic nie pomogło. Jak się z tym można uporać? Cytuj
Trix Napisano Listopad 26, 2019 Autor Zgłoś Napisano Listopad 26, 2019 Po kilku dniach użerania się z kontrolkami Tab udało mi się wreszcie rozwiązać ten problem. Rozwiązanie jest jak zwykle banalne... Mój problem odnosi się nie tylko do kontrolki zakładek ale ogólnie do okien ( czyli np. kontrolek zasłoniętych przez inne kontrolki ). Jak wiemy okno ma swoje współrzędne x,y ( lewy górny róg ) oraz szerokość i długość. Jednak aby system wiedział, które okno jest aktualnie widoczne ( jest na wierzchu), wykorzystuje współrzędną z, która określa, jak głeboko znajduje się okno. Do sterowania ( nie bezpośredniego) oknem w wymiarze z służy funkcja SetWindowPos. W moim przypadku pierwsza kontrolka zasłaniała drugą, więc przesłałem tą pierwszą na sam "spód": invoke SetWindowPos, hcMainTab, HWND_BOTTOM, 0, 0,\ 0, 0, SWP_NOMOVE or SWP_NOSIZE I tyle...Prawda, że banalne? Cytuj
Trace Napisano Grudzień 2, 2019 Zgłoś Napisano Grudzień 2, 2019 Swego czasu miałem podobny problem, rozwiązałem go jednak w inny sposób. Stworzyłem sobie nową klasę okna i na tabie umieszczałem jedynie okno tej klasy. Dopiero na nim znajdowały się poszczególne kontrolki. Kiedy użytkownik zmieniał zakładkę, przy pomocy funkcji ShowWindow ukrywałem stare okno bazowe (SW_HIDE), a nowe pokazywałem (SW_SHOW). Z tego co mi wiadomo podobnie działają równierz taby w property sheetach więc metoda ta nie była zła. Pozdrawiam :) Cytuj
Trix Napisano Grudzień 2, 2019 Autor Zgłoś Napisano Grudzień 2, 2019 Faktycznie - wydaje się to bardziej funkcjonalne niż to przełączanie. Dodatkowo, jeśli dobrze rozumiem wystarczyło, że ukryłeś całe okno i wszystkie kontrolki na nim były równierz ukrywane? Ja ukrywam i pokazuje kontrolki oddzielnie, co jest bardzo niewygodne, zajmuje dużo miejsca w kodzie i wprowadza bałagan...no ale cóż - początkujący jestem i uczę sie dopiero:) pozdrawiam Cytuj
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.