Как вставить диалог в ActiveX компонент (VS.Net 2003)?
От: ivan711  
Дата: 12.03.06 16:44
Оценка:
Что требуется — создать ActiveX компонент, выводящий на экран диалоговую форму.
Что делаю — создаю ActiveX компонент, добавляю в ресурсы новый диалог и по событию OnDraw вывожу его. Диалог выводится (компонент вставляю в HTML-страницу), но нажатия кнопок и т.д. не обрабатываются. Среда — VS.Net 2003
Вопрос — как,добиться нормальной работы диалогового окна ?
Ногами не пинайте, разбираюсь методом тыка
Re: Как вставить диалог в ActiveX компонент (VS.Net 2003)?
От: algol Россия about:blank
Дата: 12.03.06 21:23
Оценка:
Здравствуйте, ivan711, Вы писали:

I>Что требуется — создать ActiveX компонент, выводящий на экран диалоговую форму.

I>Что делаю — создаю ActiveX компонент, добавляю в ресурсы новый диалог и по событию OnDraw вывожу его.

Это же надо до такого додуматься! Выводи диалог по вызову метода компонента.

I>Диалог выводится (компонент вставляю в HTML-страницу), но нажатия кнопок и т.д. не обрабатываются.


И слава богу, что сообщения не обрабатываются. А то появление диалога перед контролом вызовет еще один вызов OnDraw, открытие еще одного диалога и т.д.

I>Среда — VS.Net 2003


Исчерпывающее объяснение. VC++, ATL, MFC, C#, VB.NET?
Re[2]: Как вставить диалог в ActiveX компонент (VS.Net 2003)
От: ivan711  
Дата: 13.03.06 19:19
Оценка:
Здравствуйте, algol, Вы писали:

A>Здравствуйте, ivan711, Вы писали:


I>>Что требуется — создать ActiveX компонент, выводящий на экран диалоговую форму.

I>>Что делаю — создаю ActiveX компонент, добавляю в ресурсы новый диалог и по событию OnDraw вывожу его.

A>Это же надо до такого додуматься! Выводи диалог по вызову метода компонента.


I> Какого именно метода ?


A>Исчерпывающее объяснение. VC++, ATL, MFC, C#, VB.NET?


I> MFC
Re[3]: Как вставить диалог в ActiveX компонент (VS.Net 2003)
От: algol Россия about:blank
Дата: 14.03.06 23:02
Оценка:
Здравствуйте, ivan711, Вы писали:

A>>Выводи диалог по вызову метода компонента.

I> Какого именно метода ?

Как я понимаю, задача — показать отдельный модальный диалог. Обычно для этого имеется какой-то метод компонента типа ShowMySuperCoolDlg(). Если же имеется в виду сделать ActiveX контрол на основе диалога, то это немного другая задача. Это лучше сделать созданием дочернего диалога внутри окна контрола через CDialog.Create(). Диалогу в ресурсах нужно поставить стили WS_CHILD и WS_VISIBLE.
Очень просто такой контрол делается в ATL, там визардом создается composite control.
Re[4]: Как вставить диалог в ActiveX компонент (VS.Net 2003)
От: ivan711  
Дата: 15.03.06 09:25
Оценка:
Здравствуйте, algol, Вы писали:

A>Здравствуйте, ivan711, Вы писали:


A>>>Выводи диалог по вызову метода компонента.

I>> Какого именно метода ?

A>Как я понимаю, задача — показать отдельный модальный диалог. Обычно для этого имеется какой-то метод компонента типа ShowMySuperCoolDlg(). Если же имеется в виду сделать ActiveX контрол на основе диалога, то это немного другая задача. Это лучше сделать созданием дочернего диалога внутри окна контрола через CDialog.Create(). Диалогу в ресурсах нужно поставить стили WS_CHILD и WS_VISIBLE.

A>Очень просто такой контрол делается в ATL, там визардом создается composite control.

Задача — вставить модальный диалог в HTML-страницу. Чтобы это сделать предполагается вставить в HTML Active-X компонент (с помощью тега Object). У ActiveX-компонента, который создается с помошью MFC метода вроде ShowDlg нет. Создать и вывести диалог можно в конструкторе компонента, но, опять же, он только выводится и не реагирует на нажатия кнопок, ввод и т.д.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.