![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
Ferrisgeneral |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 11.1.2010 Репутация: нет Всего: нет |
Столкнулся с необходимостью использовать Microsoft Forms 2.0 CommandButton (ActivX Control).
добавляю в диалоговое окно (через контекстное меню), и конечно же не вижу кнопочки (кроме как в привьющке). Где то видел, что надо инициализировать контрол прежде чем создавать окно в котором будет контрол, и вот тут перестаю понимать, чего же нужно сделать. проект с добавленным контролом: http://www.sendspace.com/file/cumtel |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
ActiveX control будет работать только внутри ActiveX контейнера. Обычный диалог таковым контейнером не является.
|
|||
|
||||
Ferrisgeneral |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 11.1.2010 Репутация: нет Всего: нет |
а как создается этот ActiveX контейнер ? и можно ли будет им пользоваться в диалоговом окне.
|
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Смотри исходники в ATL (CAxWindow CAxWindow2 в atlwin.h)
|
||||
|
|||||
Ferrisgeneral |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 11.1.2010 Репутация: нет Всего: нет |
неужели все настолько сложно ? ... и еще ATL надо применять (дело с ним никогда не имел)
|
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Да. ActiveX с 'голым' WinAPI не сочетаются
![]() |
|||
|
||||
Ferrisgeneral |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 11.1.2010 Репутация: нет Всего: нет |
а какой тогда надо код надо добавить, чтобы подружить контрол с WinAPI.
пытался перед созданием окна инициировать контрол
вот только при заполнении структуры, не знаю какой флаг нужно применить для инициализации контрола (стандартные флаги конечно же не катят). Библиотеку и header конечно же подключал. |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
CommonControls и ActiveX это не одно и то же, точнее это совсем разные вещи. Для CommonControls достаточно позвать InitCommonControlsEx перед созданием окна (диалога). Для ActiveX ваше окно должно выступать в роли ActiveX контейнера, т.е. имплементировать несколько COM интерфейсов и передать их ActiveX контролу после его создания. Как это делать я уже писал - см. исходники в ATL (я не призываю брать саму ATL, только посмотреть как сделано) |
|||
|
||||
Ferrisgeneral |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 11.1.2010 Репутация: нет Всего: нет |
||||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
С чего бы это вдруг? То, что на ATL нельзя сделать WF CommandButton еще не означает, что ее нельзя вставить в ActiveX контейнер, сделанный с применением ATL.
Кстати, у вас точно ActiveX контрол? Может это все таки .NET компонент? Ему даже ActiveX контейнер маловато будет. |
|||
|
||||
Ferrisgeneral |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 11.1.2010 Репутация: нет Всего: нет |
насколько я понимаю, всетаки ActiveX, хотя может и ошибаюсь.
Добавлял контрол так - в диалоговом окне в контекстном меню выбираю пунт insert ActiveX Control и в открывшемся окне выбираю пункт Microsoft Forms 2.0 CommandButton (хотя в другой версии студии в этом окне 4 закладки и данных контрол находится в закладке COM). у меня стоит VS 2008 Pro SP1. PS: а что, вообще реально использовать сделанные в дизайнере .Net окна и контролы ? |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Похоже ActiveX
|
||||
|
|||||
Ferrisgeneral |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 11.1.2010 Репутация: нет Всего: нет |
при каких условиях можно будет использовть .Net контролы в связке с WinAPI ?
|
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
IMHO не при каких (хотя я подробно этот вопрос не изучал) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |