Цитата:
Сообщение от
Daido
...WinApi открывает форму нужную, нажимает TAB переходим в нужое место,и надо набить данные.
А Вы пробовали воспользоваться
советом kashperuk'a - методом pasteText? Полагаю, это то, что Вам нужно. В паре с этим методом используется setFocus, который "ставит курсор" на желаемое поле формы (т.е. не надо заморачиваться с подсчетом нажатий TAB).
P.S. Я сам
пользовался подобным подходом в гриде формы SysQueryForm и обнаружил следующую особенность: способ устойчиво срабатывал так, как мне хотелось, только в том случае, когда фокус предварительно устанавливался на другое поле - не на то, для которого в данный момент прописывалось значение при помощи pasteText. Возможно, это было связано с тем, что я еще использовал метод setSelection для затирания старого значения в поле. В общем, у меня сложилась вот такая схема использования последовательности этих операторов:
X++:
.setFocus();
.setSelection(0, 1000); // где 1000 - некоторое заведомо большое значение - больше максимально возможной длины строки контрола
.pasteText( );