Динамическоє создание"common controls"
От: romka_911  
Дата: 21.11.01 08:56
Оценка:
нужно динамически создать контрол, к примеру кнопочку, с возможностью обработки сообщений от него. В моем случае в CDialog приложении. Работает в OnInitDialog, а нужно например в OnButton. Помогите начинающему кто чем может!
Re: Динамическоє создание
От: OlegO Россия http://www.mediachase.ru
Дата: 21.11.01 09:15
Оценка:
Здравствуйте romka_911, Вы писали:

R9>нужно динамически создать контрол, к примеру кнопочку, с возможностью обработки сообщений от него. В моем случае в CDialog приложении. Работает в OnInitDialog, а нужно например в OnButton. Помогите начинающему кто чем может!


Проще наверное тут реализовать такой подход: создать свой класс СMyButton
порожденный от CButton в нем отловить сообщение нажатие кнопки.
В дополнение к этому свой класс надо снабдить методами, информаторами
родителями, что ее нажали. Как пример родителю будет посылаться
сообщений WM_MYBUTTONCLICK с идентификационным номером кнопки, и дополнителная информация.

Тереперь в любом месте диалога пишем

СMyButton *pNewButton = new СMyButton;
pNewButton->Create(..)

ну в дополнение указатель можно (нужно) сохранить, чтоб потом
не забыть очистить память.

PS>> Однако на практике это получается порой запутано, и в своих реализациях

я создавал ActiveX аналог кнопки, благо для этого все есть, и уже с ним работал.
Сразу же разрешается цепочка получения событий родителем , плюс появляются все
приемущества использования компонениной модели при создании приложения.
С уважением, OlegO.
Re[2]: Динамическоє создание
От: Аноним  
Дата: 21.11.01 09:24
Оценка:
Здравствуйте OlegO, Вы писали:

OO>Проще наверное тут реализовать такой подход: создать свой класс СMyButton

OO>порожденный от CButton в нем отловить сообщение нажатие кнопки.
[skip]

Пол-царства за кусок кода!
Re[3]: Динамическоє создание
От: OlegO Россия http://www.mediachase.ru
Дата: 21.11.01 09:46
Оценка:
Здравствуйте Аноним, Вы писали:

А>Пол-царства за кусок кода!


В смысле

класс поражденный от кнопки, можно руками,
можно визардом в VC "New Class" -> Class type:"MFC Class", Base Class:"CButton".
ни и события туда как обычно.
С уважением, OlegO.
Re[4]: Динамическоє создание
От: romka_911  
Дата: 21.11.01 10:11
Оценка:
Здравствуйте OlegO, Вы писали:
OO>В смысле
OO>класс поражденный от кнопки, можно руками,
OO>можно визардом в VC "New Class" -> Class type:"MFC Class", Base Class:"CButton".
OO>ни и события туда как обычно.

Просто я что-то похожее начал делать, но запутался Хотелось би посмотреть на рабочий вариант (интересует часть с отправкой сообщений родителям). Ну чайник я, чаййник
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.