Witam! Robię program w zakładkach (tabControl
). Niestety, jeśli wcisnę strzałkę w lewo lub w prawo, to zakładki się automatycznie przełączają, co jest efektem całkowicie niepożądanym. Czy jest możliwość, by zablokować to przechodzenie między zakładkami na wciśnięcie strzałki w lewo/prawo?
Niestety, jeśli wcisnę strzałkę w lewo lub w prawo, to zakładki się automatycznie przełączają, co jest efektem całkowicie niepożądanym.
E, jak to...? Oczywiście powinny się przełączać ale wtedy, gdy na aktywnej zakładce jest skupiony focus - inaczej to nie powinno; Jeżeli na formularzu jedynym komponentem jest tabControl
i na jego zakładkach nie ma żadnej kontrolki przechwytującej focus'a i obsługującej strzałki to będzie Ci się przełączać; Zawsze możesz ręcznie obsługiwać wciskanie klawiszy w odpowiednich zdarzeniach;
Krata się należy... jakie pijesz?
Nie wiedziałem nawet że istnieje coś takiego jak fokus, dzięki! Problem rozwiązany - przy każdej zmianie zakładki ustawiam focus na labela znajdującego się w niej i to działa.
przy każdej zmianie zakładki ustawiam focus na labela znajdującego się w niej i to działa.
Gorzej będziesz miał jeśli wciśniesz Tab
- wtedy focus skupi się znowu na aktywnej zakładce i już Tab
'em z niego nie zdejmiesz fokusa - będziesz musisał przechwycić klawisz Tab
w odpowiednim zdarzeniu i każdorazowo ustawić fokusa na czymś innym;
Jeśli pracujesz pod VCL to powinieneś wcześniej zauważyć w OI, że kontrolka klasy TTabControl
jak i wiele innych posiadają właściwość TabStop
, którą wystarczy przestawić na False
by przestała zbierać fokusa; To chyba najprostsze rozwiązanie - nie trzeba nic pisać a działać będzie zawsze;