Всем привет!
Имеется:
1.COM объект
2.DLL написан на CBuilder6 или VisualC6
3.программа написана на CBuilder6 или VisualC6.
Программа создаёт COM объект(локально или на другом компьютере) -> COM объект загружает DLL -> в DLL создаётся форма. Проблема в том что все элементы на форме не получают события на нажатие клавиш, кроме системных(влево, вправо, малая клавиатура и др. ). Буду благодарен за помощь.
Здравствуйте, vic_k, Вы писали:
_>Всем привет! _>Имеется: _>1.COM объект _>2.DLL написан на CBuilder6 или VisualC6 _>3.программа написана на CBuilder6 или VisualC6.
_>Программа создаёт COM объект(локально или на другом компьютере) -> COM объект загружает DLL -> в DLL создаётся форма. Проблема в том что все элементы на форме не получают события на нажатие клавиш, кроме системных(влево, вправо, малая клавиатура и др. ). Буду благодарен за помощь.
А цикл выборки сообщений (while (GetMessage (...)) где реализован ?
И что это за события "влево", "вправо" ? Tab — Shift+Tab ?
Signed, [TSS] /SDL/
Re[2]: com + dll
От:
Аноним
Дата:
07.06.04 17:21
Оценка:
Добрый день,сообщаю дополнительные данные.
При создании формы ни один элемент не позволяет вводить текст!То есть допустим на форме лежит
TEdit, но при попытке ввести в него текст с клавиатуры ничего не получается,тем не менее
есть возможность вставить текст из буфера по правой кнопке мыши,также управление курсором с клавиатуры работает.Вообще всё похоже на то, что Edit->Enabled=false — но проверял это не так(также у формы Enabled=true,Edit1->ReadOnly=false).При попытке перехватить сообщения с клавиатуры в WndProc формы также ничего не приходит.У меня сложилось впечатление что сообщения от клавиатуры фильтруются где-то раньше.
Как этого избежать не знаю! Dll с формой написан уже и на Builder6 и на Visuale 6 — везде одно и тоже.
Капаюсь с этим уже довольно долго ,а жаль такая мелочь. Очень надо решить эту проблему!