Здравствуйте, Lebets_VI, Вы писали:
L_V>На диалоге несколько контролов, некоторые из них не видимы. (ShowWindow(SW_HIDE) или Visible=false — Это не столь важно). L_V>Так вот, в vc++6.0 при нажати на клаву "Tab" фокус перескакивает в одного видимого контрола на другой ВИДИМЫЙ, L_V>а вот в VC++7.1 (т.е. NET), при нажатии на ту же клаву, фокус теряется, а не прыгает на видимый контрол, при чем если между выдимыми допустим находятся 3 невидимых, то надо 3 раза нажать на "Tab", что бы попасть на видимый.
L_V>В чем дело?
Конкретно в чём дело не скажу, но, возможно, тебе поможет снятие галочки Tab Stop в свойствах невидимых контролов.
Здравствуйте, Lebets_VI, Вы писали:
L_V>переход между контролами
L_V>На диалоге несколько контролов, некоторые из них не видимы. (ShowWindow(SW_HIDE) или Visible=false — Это не столь важно). L_V>Так вот, в vc++6.0 при нажати на клаву "Tab" фокус перескакивает в одного видимого контрола на другой ВИДИМЫЙ, L_V>а вот в VC++7.1 (т.е. NET), при нажатии на ту же клаву, фокус теряется, а не прыгает на видимый контрол, при чем если между выдимыми допустим находятся 3 невидимых, то надо 3 раза нажать на "Tab", что бы попасть на видимый.
L_V>В чем дело?
L_V>P.S. Ф-я SetWindowPos с первым параметром, указывающим от кого плясать, в VC++7.1 по барабану.((
L_V>с Ув. Слава.
Посмотри определение функции SetFocus, может, поможет.
Здравствуйте, Lebets_VI, Вы писали:
L_V>переход между контролами
L_V>На диалоге несколько контролов, некоторые из них не видимы. (ShowWindow(SW_HIDE) или Visible=false — Это не столь важно).
Дополнительно к ShowWindow(SW_HIDE) сделай EnableWindow(.., FALSE).
На диалоге несколько контролов, некоторые из них не видимы. (ShowWindow(SW_HIDE) или Visible=false — Это не столь важно).
Так вот, в vc++6.0 при нажати на клаву "Tab" фокус перескакивает в одного видимого контрола на другой ВИДИМЫЙ,
а вот в VC++7.1 (т.е. NET), при нажатии на ту же клаву, фокус теряется, а не прыгает на видимый контрол, при чем если между выдимыми допустим находятся 3 невидимых, то надо 3 раза нажать на "Tab", что бы попасть на видимый.
В чем дело?
P.S. Ф-я SetWindowPos с первым параметром, указывающим от кого плясать, в VC++7.1 по барабану.((
Это Native проект или dotNET. Что-то по тексту и то и др. упоминается... В Native с такой проблемой не сталкивался — может у тебя есть своя оконная процедура в которой ты че-то не то делаешь?
Не проблема все сделать программно, все очередности расставлены, ситуация такая, что в разные вызовы диалога нужны разные контролы, поэтому некоторые прячутся, некоторые показываются.
Проблема больше теоретическая: ПОЧЕМУ при простом портировании из VC++6.0 в VC++7.1, в первом случае переходы по табу отрабатываются корректно (перепрыгиваетчся через невидимые контролы), а во втором случае (VC++7.1) не перепрыгиваются, а фокус уходит в невидимый контрол, пока N-ое (зависящее от кол-ва спрятанных контролов) количество раз не нажмешь таб.