![]() |
|
![]() ![]() ![]() |
|
xTr1m |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Я недавно изучаю MFC, поэтому помогите пожалуйста. Например, есть такой код класса кнопки :
И есть класс рамки окна :
И в этой рамке мы создали объект MyButton типа CMyButton. Но ведь событие, которое здесь описано для кнопки , будет одно и тоже для каждой кнопки типа CMyButton. Так что же это получается, если у меня будет 20 кнопок, то мне придется создавать 20 классов (порожденных от CButton) и для каждого такого клааса определять событие Click? ![]() Или я что-то не понимаю. Спасибо. |
||||
|
|||||
Step |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 2 Всего: 25 |
ваш клас в функцию онлбаттонап вставляете код отправки сообщения в фрейм и параметром отправляете nID, не знаете как его узнать, перегрузити Create и сохраните во внутренней переменной класса во фрейме вы сможете по параметру сообщения какая кнопка кликнута Добавлено @ 11:52 вроде так
WM_MY_CLICK этот символ нужно указать определить, можно конечно отфонарно число вписать, но это когданибудь может дать ошибку.... так как отфонарное число это не идентификатор а во фрейме обрабатываете ОнКомманд проверяете левый на равенство WM_MY_CLICK, а в правом ид кнопки -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
||||
|
|||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
xTr1m
есть такое сообщение ON_COMMAND_RANGE(nID,nID2,Func); где nID-номер ID первого элемента,nID2-номер ID последнего,Функция обработки. те.есть набор кнопок с ID от 2000 до 2015 для всех них будет візіваться функция(обработчик Func); Добавлено @ 12:04 Ну вот еще и код дам ![]()
-------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
xTr1m |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Coocky,
я, наверное, не так объяснил. Мне хотелось бы узнать не как объединить одинаковые события для разных кнопок, а наоборот, как в принципе определить разные события для разных кнопок одного класса (например для кнопока типа CMyButton, порожденного от базового CButton) Но все равно спасибо за твою инфу, этого я тоже не знал. |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
xTr1m
Перевожу: как обьединить разные события для одной кнопки? -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
xTr1m |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Ну, например, есть класс кнопки :
И есть фрейм с двумя кнопками MyFirstButton и MySecondButton :
И как мне сделать, чтобы событие Click для этих 2 кнопок делало разные операции. Просто везде в примерах (электронные учебники) описан вариант только с одной кнопкой, а я хочу понять принцип, со многими элемнетами. Ну, скажем, клик для первой выводил сообщение "Нажата 1ая кнопка", а клик на второй ЭНажата 2ая кнопка". Если можно, то приведите примерный код плз. Спасибо заранее. |
||||
|
|||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Дык мог бы воспользоваться моим примером.Ведь у каждой кнопки свой ID
![]() Еще раз мой пример
-------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
xTr1m |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Спасибо. Что-то я сразу не догадался =(( Ну тогда последний вопрос : как определить, что функция OnMyButton будет считаться за событие Click?
|
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
xTr1m
Не понял? А что на клик не реагирует? -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
xTr1m |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
ой, извини я что-то сначала подумал, что это просто ты так на обум название функции написал.
А вообще так можно про любые события писать или только про конкретные? И можно ли эту инфу найти в хелпе VC? |
|||
|
||||
Coocky |
|
||||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
только про COMMAND,насколько я знаю..
Ну набери в МСДН WM_ или ON_ и ищи все,что связано с RANGE -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
||||
|
|||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |