ActiveX + Dll + PreTranslateMessage.
От: Аноним  
Дата: 01.12.03 16:44
Оценка:
Здравствуйте.
Столкнулся со следующей проблемкой:
Забацал на ВБ АктивХ с кучкой DbGrid-ов.
В тестовых проэктах (на ВБ и на С++) все работает хорошо.

Теперь вставил этот OCX в диалог в COM Dll (ATL + MFC) и вызываю как немодальный диалог. Результат — клавиши навигации по гриду не работают.
Добавляю PreTranslateMessage(...). Он конечно никогда не вызывается (в ДЛЛ нет собственного MessagePump). Ладно, вызовем етот диалог в собственном thread (используя CWinThread). Теперь PreTranslateMessage(...) в диалоге работает, но толку от этого никакого. Т.е. даже если я переадресую нажатие клавиш курсора в мой ОСХ (с помощью ::SendMessage(...), то ему это до фени...
Может кто-нибудь уже сталкивался с этим и знает как это побороть...
Причем все дело именно в DataGride (так как ОСХ с FlexGrid работает (правда там мне ручками пришлось ЕдитВох вставлять в нужную ячейку и соответствкенно все KeyUp/KeyPress в ОСХ обрабатывать, а тут этот Грид сам все делает...)
Уточнение: OCX на самом деле не в простом диалоге а в PropertyPage. Но вряд ли это имеет значение...
Спасибо всем кто попытался вникнуть и большое спасибо тем кто что-то сможет посоветовать...
Виктор
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.