Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Расширяем карту сообщений, Маленькие тайны.МФС. 
:(
    Опции темы
Coocky
Дата 20.10.2004, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Опять о Диалоговых окнах. :) Вставляя элементы в окно с помощью Wizarda,он,наш любимый :) предоставляет нам только обработку тех сообщений,которые присущи данному классу элемента.
Часто(очень часто :) )нас это может не устроить.Так например вы никогда не обработаете сообщение WM_MOUSEMOVE на кнопке,если просто нарисовали ее на окне.
Для этого нам нужно создать класс,производный от родителя!нужного нам класса.
Делаем Add New Class даем название к примеру MyButton.Выбираем базовый класс CButton,нажимаем ОК.
В окне просмотра классов у нас появится созданый класс.Нажимаем на нем правой кнопкой,выбираем Windows Message Handler...(кажется так,на вскидку синтаксис не вспомню,но вы не пропустите самый длинный пункт меню :) ) и увидите кучу сообщений.Выбирайте :)
Юзайте :)



--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
AlexNor
Дата 20.10.2004, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 11.6.2004

Репутация: 1
Всего: 2



Всё бы хорошо... Вот токо при этом элементы на форме надо создавать и привязывать к форме динамически (CMyButton* pMyButton = new CMyButton .... ). А на больших формах это конкретный гемор.

Может ты забыл добавить (или не знал) - но для удобства лучше этот класс привязать к уже созданному на форме элементу через DDX.

(Ну а в порожденном классе соответсвенно обрабатывать сообщения которые тебе нужно)
--------------------
"... зачем тратить время на учение, если невежество даётся даром..."" .... но невежество обходится, порой, слишком дорого... "
PM MAIL   Вверх
Step
Дата 21.10.2004, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 2
Всего: 25



AlexNor, не надо его создавать динамически... просто объект нужно сделать другого типа...


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Coocky
Дата 21.10.2004, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Цитата
Может ты забыл добавить (или не знал)

:D это отдельный топик :)


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
AlexNor
Дата 21.10.2004, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 11.6.2004

Репутация: 1
Всего: 2



Step
Цитата

просто объект нужно сделать другого типа...

перед тем как обьект сделать другого типа его (обьект) надо создать.

CButton или CMyButton но как-то надо создать....
--------------------
"... зачем тратить время на учение, если невежество даётся даром..."" .... но невежество обходится, порой, слишком дорого... "
PM MAIL   Вверх
Step
Дата 22.10.2004, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 2
Всего: 25



AlexNor, вот так и создать
CMyButton but;
т.е. вставить в редакторе кномку, связать с ней переменную и заменимть CButton на CMyButton


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
AlexNor
Дата 22.10.2004, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 11.6.2004

Репутация: 1
Всего: 2



Step
( странно... приехали....)
А я про что в начале говорил???:
Что с таким методом (свой класс пронаследовать от МФЦ класса) есть 2 варианта:
1. Создавать и привзывать её к форме динамически - то есть в программе
2.
Цитата
вставить в редакторе кномку, связать с ней переменную и заменимть CButton на CMyButton
- т.е. подкорректировать то что генерится для DDX...


Мы видно друг друга не поняли
--------------------
"... зачем тратить время на учение, если невежество даётся даром..."" .... но невежество обходится, порой, слишком дорого... "
PM MAIL   Вверх
Step
Дата 22.10.2004, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 2
Всего: 25



Цитата(AlexNor @ 20.10.2004, 23:53)
надо создавать и привязывать к форме динамически





--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Darked
Дата 22.10.2004, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 26.2.2004
Где: Южный Урал

Репутация: нет
Всего: нет



Step
CMyButton but;
Добавлено @ 20:11
Step
CMyButton but; - мне кажется это не создание объекта, а лишь его объявление.



--------------------
Veni, Vidi, Vici !!!
PM MAIL ICQ   Вверх
Coocky
Дата 22.10.2004, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Хватить рассуждать в моем топике :angry:


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
AlexNor
Дата 23.10.2004, 03:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 11.6.2004

Репутация: 1
Всего: 2



Step
да уж...
или я что-то не так написал - или ты что то не так понял, ну да ладно
:stena <-- не будем этим заниматься :)

Coocky
ты бы тогда сразу подписал - "немой топик" ('немой' в смысле неговорящий).
Извини - больше в твоих топиках говорить не буду

Это сообщение отредактировал(а) AlexNor - 23.10.2004, 03:46
--------------------
"... зачем тратить время на учение, если невежество даётся даром..."" .... но невежество обходится, порой, слишком дорого... "
PM MAIL   Вверх
Step
Дата 23.10.2004, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 2
Всего: 25



Цитата(Darked @ 22.10.2004, 20:11)
CMyButton but; - мне кажется это не создание объекта, а лишь его объявление.
с каойто стороны ты прав...

но если учесть, что в ресурсе будет иметься соответсвующая запись
а также будет подобный элемент
DDX_Control(pDX, IDC_*** , m_gh);

то это уже и созданием попахивает


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
threef
Дата 11.1.2006, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 27.10.2005
Где: Запорожье

Репутация: 1
Всего: 10



Coocky
Попробуй:

...OnButton1
{
SetCapture();
}
...OnMouseMove...
{
s.Format("x=%d,y=%d",point.x,point.y);
SetWindowText(s);
}

Никогда не говори "ни..."

ЗЫ:
а еще можно порыться в замечательной функции PreTranslateMessage

Это сообщение отредактировал(а) threef - 11.1.2006, 10:26
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0574 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.