Russian Qt Forum
Апрель 29, 2024, 15:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Использование QT в MFC-приложениях  (Прочитано 8002 раз)
dr_Begemot
Гость
« : Декабрь 05, 2008, 12:02 »

В примерах QT 4.4.3 есть пример wrapper (C:\Qt\4.4.3\examples\activeqt\wrapper) который создает ActiveX-обертку для 4-х стандартных объектов QT - QCheckBox, QRadioButton, QPushButton и QToolButton.

После того, как этот пример скомпилирован и dll зарегестрированна в системе создаю MFC-диалог и добавляю на форму например QCheckBox. Все замечательно работает, на странице свойств можно задать нужные параметры, такие как текст, checked или unchecked и т.д.

Вопрос в следующем: Как из MFC получить доступ к методам и свойствам объекта программно?


Если использовать QueryInterface то какие туда параметры передавать?
Я пробовал следующее: Директивой import подключаем wrapperax.dll к проекту, чтобы были видны типы интерфейса. Далее завожу в описании класса переменную m_pQCheckBox типа IQCheckBoxPtr.

Теперь нужно проинициализировать m_pQCheckBox, для чего я вызываю

...->QueryInterface( IID_QCheckBox, (void **)&m_pQCheckBox );

Обнаружилось что IID_QCheckBox как такового нет... Как быть?
И потом, просмотрев методы класса IQCheckBoxPtr я не нашел ничего такого, что относилось бы к QCheckBox.
Может кто-то знает другой способ?

Надеюсь на Вашу помощь, спасибо)
Записан
dr_Begemot
Гость
« Ответ #1 : Декабрь 16, 2008, 11:15 »

И это форум QT-программистов???
Неужели ни у кого нет хоть каких-то соображений на этот счет?
Записан
BRE
Гость
« Ответ #2 : Декабрь 16, 2008, 11:24 »

И это форум QT-программистов???
Неужели ни у кого нет хоть каких-то соображений на этот счет?
Ну Qt это не обязательно windows и тем более MFC.
Некоторые windows уже давно отлюбили.  Подмигивающий
Записан
dr_Begemot
Гость
« Ответ #3 : Декабрь 16, 2008, 16:26 »

И это форум QT-программистов???
Неужели ни у кого нет хоть каких-то соображений на этот счет?
Ну Qt это не обязательно windows и тем более MFC.
Некоторые windows уже давно отлюбили.  Подмигивающий

Ну у QT есть поддержка ActiveX, нужно заставить виджет написаный изначально для Linux работать также и под виндой. Тем более что есть пример в самом QT, однако, метод как обычно я работаю с ActiveX не проходит...
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #4 : Декабрь 16, 2008, 17:41 »

Воспользуйтесь патерном декоратор..
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Tonal
Гость
« Ответ #5 : Декабрь 17, 2008, 09:08 »

Ежели дизайнер видет свойства, стало быть они есть в tlb-шке, и работать с ними из MFC можно как и с любыми другими свойствами обычных активиксин.

Попробуй, например, через variant. Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 22.