как с помощью API определить в каком текстбоксе находится ку
От: zavaliy  
Дата: 25.03.03 13:25
Оценка:
Есть прога на VB6 которая написана "с ненавистью к пользователю" т.е. не поддерживает справочники, и пользователям приходится набирать одно и то же десятки раз в день. До этого они привыкли пользоваться справочниками и им очень нравилось (т.е. ввели несколько букв — высветилось нужное слово — нажали ентер и приняли его...). Теперь хочу реализовать тоже через API.. Сама программа содержащая справочники написана на VFP6 (в принципе не критично на чем я ее написал...) Т.е. пользователь работает в программе, входит курсором в поле, для которого есть справочник, нажимает комбинацию клавиш, на передний план показывается моя программа и в интерактивном режиме находится нужное слово (несколько слов как правило...) причем слова из справочника, которые подходят ИМЕННО для этого тексбокса, из которого был вызван справочник... Счас реализовано так:
sendmessage(hwnd,50,1114,0) &&установим вызов по альт+z
SetForegroundWindow(HWND) && показываем на переднем плане
и дальше при нажатии любой клавиши в моей программе определяю из какого окна вызвано:
ctitle="Редагування правовстановлювального документу"
hwnd =FindWindow(0,ctitle)
if hwnd<>0
sele * from bti_data!dov_vid;
where dov_vid.vidan=allt(index.text1.value);
order by vidan into table c:\bti_rpvn\temp_zapr
endif
и так для многих окон... НО! проблема возникла в окне, в котором ДВА тексбокса должны заполняться из справочника — не могу отловить из какого именно тексбокса вызван справочник... Как это узнать? Если поставлю GetFocus() в своей проге — получую hwnd СВОЕЙ программы.....
Сорри за длинное объяснение......
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.