|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.03.2008, 13:58 | #1 |
Пользователь
Регистрация: 01.03.2008
Сообщений: 47
|
Вопрос:: Visual C++:: Doubleclicked
Привет всем! Осваиваю MFC в C++Visual Studio 2005. Проблема на самом раннем этапе: не срабатывает функция по событию "двойной щелчок".
Вот фрагмент кода: void CMy555Dlg::OnDoubleclickedButton1() { MessageBox ("IIIII") } То же самое с одним щелчком работает. Событие также менял в диалоговом окне ClassWizard. Что-то я сделал не так? Спасибо. |
04.03.2008, 14:35 | #2 | |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Цитата:
В MFC "самодельные" классы обычно регистрируются в PreCreateWindow примерно таким образом: Код:
|
|
04.03.2008, 15:01 | #3 |
Пользователь
Регистрация: 01.03.2008
Сообщений: 47
|
Большое спасибо, но не смог найти ни в одном файле подобный класс. В каком файле он должен быть? Под "самодельный" классом имеется в виду тот, что в среде создается автоматически по умолчанию?
|
04.03.2008, 15:28 | #4 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
как говорит MSDN: "Other button types send BN_DBLCLK only if they have the BS_NOTIFY style."
т.е. у кнопки выставляем свойство Notify = true и наслаждаемся и не забываем, что "BS_NOTIFY Enables a button to send BN_DBLCLK, BN_KILLFOCUS, and BN_SETFOCUS notification messages to its parent window. Note that buttons send the BN_CLICKED notification message regardless of whether it has this style. " |
04.03.2008, 15:34 | #5 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Фу ты, ёлки... Ceprey, извиняюсь, думал про одно, написал другое. Конечно, там же про кнопку речь. pu4koff совершенно прав, просто Notify нужно включить...
|
05.03.2008, 16:10 | #6 |
Пользователь
Регистрация: 01.03.2008
Сообщений: 47
|
Спасибо, Pu4koff, B_N! И все-таки я еще не успокоился. Я пробовал прописать это свойство, но то ли не там пишу, то ли не тот синтаксис. Я весь вечер искал в инете пример, не нашел. Я понял, что в строчке, которая прописывается в файле ***dlg.h:
afx_msg void OnDoubleclickedButton1(); надо как-то прописать этот Notify. Но как? Вообще, я думал, что в Visual Studio такие вещи максимально наглядны, и если в диалоговом окне Wizarrd´a я выбираю Doubleclicked, то оно само пропишет свойства, какие нужно. Или я не так понимаю Visual Studio вообще концептуально? |
05.03.2008, 16:31 | #7 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
если кнопочка в диалоге, то в редакторе последнего выделяешь ее и справа будет панель свойств кнопки. там ищешь свойство Notify. иначе при создании задаешь свойство BS_NOTIFY. Вроде как-то так
|
05.03.2008, 16:51 | #8 |
Пользователь
Регистрация: 01.03.2008
Сообщений: 47
|
Спасибо, сработало! Кстати, проверял, как оно отобразилось в самом коде. Вроде никак.
|
05.03.2008, 17:30 | #9 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
ну так это все в файле ресурсов храница, а не в коде
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по Microsoft Visual C++ | DiZZZ | Visual C++ | 3 | 06.04.2009 18:45 |
вопрос о <Visual Studio 2008> | Hayk | Visual C++ | 1 | 10.08.2008 22:45 |
Вопрос по Visual Basic | Иллидан | Помощь студентам | 3 | 20.04.2008 13:08 |
У меня вопрос простой помогите мне найти книги поMicrosoft Visual Studio 2005 | LuMax | Помощь студентам | 1 | 11.12.2007 15:14 |