Re: Реакция на события для динамич. созд. объектов?
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 29.04.02 07:32
Оценка: 3 (1)
Здравствуйте leonkiller, Вы писали:

L>Например я сделал в проге добавление пункта меню

L>CMenu::InsertItemMenu(...)

L>Внимание вопрос?

L>Как на него навесить обработку событий

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

в карте сообщений будет что-то типа

ON_COMMAND_RANGE( ID_FIRST, ID_LAST, OnCommandRange )


в void OnCommandRange( UINT nID ) вычисляешь нужный индекс nID — ID_FIRST и вызываешь соответствующий обработчик из массива.
Реакция на события для динамич. созд. объектов?
От: leonkiller  
Дата: 29.04.02 06:22
Оценка:
Например я сделал в проге добавление пункта меню
CMenu::InsertItemMenu(...)

Внимание вопрос?
Как на него навесить обработку событий

Или если это не элемент меню, а например я динамически из проги (тоесть не заранее определяю объект а создаю его в процессе выполнения программы) создаю текстовое поле в диалоговом окне, или еще что-нибудь, как зделать для таких объектов реакцию на событие
Re: Реакция на события для динамич. созд. объектов?
От: Кирпа В.А. Украина  
Дата: 29.04.02 06:57
Оценка:
Здравствуйте leonkiller, Вы писали:

L>Например я сделал в проге добавление пункта меню

L>CMenu::InsertItemMenu(...)

L>Внимание вопрос?

L>Как на него навесить обработку событий

L>Или если это не элемент меню, а например я динамически из проги (тоесть не заранее определяю объект а создаю его в процессе выполнения программы) создаю текстовое поле в диалоговом окне, или еще что-нибудь, как зделать для таких объектов реакцию на событие


Повтори то что делает Колдун


В H файле

afx_msg void OnMyCommand();

В CPP файле

ON_COMMAND(ID_MYCOMMAND, OnMyCommand)

void MyClass::OnMyCommand()
{

}
!0xDEAD
Re: Реакция на события для динамич. созд. объектов?
От: Аноним  
Дата: 29.04.02 12:42
Оценка:
Odi$$ey спасибо, хороший вариант.

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

Тоесть чтобы можно было обойтись без макросов:
BEGIN_MESSAGE_MAP(CMainWnd, CFrameWnd)
...
END_MESSAGE_MAP()
Re[2]: Реакция на события для динамич. созд. объектов?
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 30.04.02 01:48
Оценка:
Здравствуйте Аноним, Вы писали:

А>Odi$$ey спасибо, хороший вариант.


А>Но вот вопрос, а если я незнаю возможное количество,


так и не надо. смущает что надо диапазон задавать? так сделай его на 5000 событий, мало? сделай на 10000, его же необязательно весь заполнять
Re: Реакция на события для динамич. созд. объектов?
От: Аноним  
Дата: 06.05.02 05:44
Оценка:
:)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.