Здравствуйте, небольшая проблемка. Возможно здесь уже были ответы на подобный вопрос, но не нашел что-то. Написал ActiveX Control (MFC). Там происходит обработка сообщений на типа WM_LBUTTONUP и т.д. Тестил в ActiveX test container все работает. Вставляю в новое окно (приложение создаю). Не работает. В том смысле, что на экране видим, но не обрабатывает ничего. Т.е. вообще на мышь никак не реагирует. При создании приложения указал поддержку АктивХ. Класс создал для контрола, переменную данного класса создал. Но ничего.
Надо как-то инициализировать UI, но что-то не нашел как. Подскажите, плиз.
Здравствуйте, DenXX, Вы писали:
DXX>Здравствуйте, небольшая проблемка. Возможно здесь уже были ответы на подобный вопрос, но не нашел что-то. Написал ActiveX Control (MFC).
ИМХО MFC здесь не рулит. Лучше ATL/WTL.
DXX>Там происходит обработка сообщений на типа WM_LBUTTONUP и т.д. Тестил в ActiveX test container все работает.
ИМХО test container также не рулит. Тестировать нужно сначала в Visual Basic, а потом в том контейнере, где планируется использовать.
DXX>Вставляю в новое окно (приложение создаю). Не работает. В том смысле, что на экране видим, но не обрабатывает ничего. Т.е. вообще на мышь никак не реагирует. При создании приложения указал поддержку АктивХ. Класс создал для контрола, переменную данного класса создал. Но ничего.
Надо сначала разобраться чья это проблема — ActiveX или контейнера. Проверялся ли ActiveX еще где-нибудь, например в IE? Что за приложение, на чем оно сделано? Работают ли в нем другие ActiveX контролы?
Здравствуйте, algol, Вы писали:
A>ИМХО MFC здесь не рулит. Лучше ATL/WTL.
Ну на чем уж смог, пока.
A>ИМХО test container также не рулит. Тестировать нужно сначала в Visual Basic, а потом в том контейнере, где планируется использовать.
Ну просто это мой первый ActiveX контрол. Опыта нет.
A>Надо сначала разобраться чья это проблема — ActiveX или контейнера. Проверялся ли ActiveX еще где-нибудь, например в IE? Что за приложение, на чем оно сделано? Работают ли в нем другие ActiveX контролы?
Да, вроде работают. Ну я думаю, проблема все-таки в контейнере, так как хоть Test Container и плохая штука, но так никаких проблем нету. Там в меню есть пункты UIActivate, UIDeactivate. Вот когда DeActivate очень похоже на то, что получается в приложении. Да и ничего особого я вроде не писал. Ну есть в контроле обработка сообщений мыши. Ну отрисовывает он себя. А в контейнере почему-то не происходит обработка сообщений.
Здравствуйте, DenXX, Вы писали:
DXX>Да, вроде работают. Ну я думаю, проблема все-таки в контейнере, так как хоть Test Container и плохая штука, но так никаких проблем нету.
Не надо думать, надо проверять. Кинуть контрол в форму на VB или на html страницу дело двух минут.
DXX>Ну есть в контроле обработка сообщений мыши. Ну отрисовывает он себя. А в контейнере почему-то не происходит обработка сообщений.
Раз уж мы не имеем никакого примера кода, то можно хотя бы сообщить, на чем сделана программа, в которой тестируется контрол? Вдруг это проблема какого-то конкретного контейнера, которая уже описана.
Здравствуйте, DenXX, Вы писали:
DXX>Ну есть в контроле обработка сообщений мыши. Ну отрисовывает он себя. А в контейнере почему-то не происходит обработка сообщений.
Все, вчера разобрался. Я создал контрол на основе статика. А как я понял статик не предназначен для обработки таких сообщений. Удалил эту строку про статик, и все заработало и в VB, и в IE.