Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Диалоговые окна в ATL компонентах.  (Прочитано 7828 раз)
0 Пользователей и 1 Гость смотрят эту тему.
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« : 10-10-2003 09:07 » 

Есть там один из компоентов- диологовое окно
Генерится как
Код:
class CTPC_Dlg { 
public CAxDialogImpl<CTPC_Dlg>



Работать с ним жудко не удобно, виртуальных функций нет, сообщения стандартным способом не перехватываются,
как загнать данные в контролы диалога если он должен быть модальным вообше непонятно.

Вопрос зачем он такой нужен и как с ним работать?
Записан

Да да нет нет все остальное от лукавого.
Serega
Гость
« Ответ #1 : 10-10-2003 16:06 » 

Данные можно передавать в конструкторе или самому устанавливать переменные, а в обработчике WM_INITDIALOG настраивать контролы
Виртуальные функции в общем-то и не нужны, т.к. CAxDialogImpl обрабатывает только WM_INITDIALOG и WM_DESTROY, чтобы определить свои обработчики виртуальность не требуется, остальные же функции служебные и врядли тебе захочется их переписывать, код все равно не будет отличаться
Не знаю что ты считаешь стандартным способом обработки сообщений, в ATL это делается с помощью карт сообщений
С контролами конечно не супер, общатся через мессаги придется, но это поправимо, какраз для этого и написана WTL
Записан
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 13-01-2004 10:42 » new

Жизнь сделала еще один оборот и я снова занаялся этим проектом...

Трабл
Есть в ATL компоненте еще один диалог  образованый  от CDialog,
великолепно работал в плоть до того момента пока я не захотел разместить  на нем ActiveX... с  ActiveX диалог не грузится, без ошибок и эксепшенов.
Какой компонент не важно ситуация наблюдается при размешении любого компонета.

Как это вылечить?
Записан

Да да нет нет все остальное от лукавого.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines