Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как из метода CFrameWnd запустить метод CDocument 
V
    Опции темы
Alexander777
Дата 14.1.2007, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я делаю SDI приложение. Мне надо создать в CDialogBar элемент управления (ComboBox) так, чтобы при выборе некой строки из ComboBox запускался метод в классе документа. Как это можно сделать?
PM MAIL   Вверх
Earnest
Дата 15.1.2007, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



А в чем вопрос? Как комбобокс создать или как прицепить обработчик?
1) Комбобокс вставляешь в диалоговый ресурс, по которому создается CDialogBar
2) Лови CBN_SELENDOK в классе диалоговой панели (наследника CDialogBar), и либо прямо вызывай метод документа, либо отправляй соответствующую команду, которую документ поймает и вызовет свой метод. Или не документ, а фрейм или вью - что логически более подходит. 


--------------------
...
PM   Вверх
Alexander777
Дата 16.1.2007, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо. Вопрос был ещё и в том, как получить ссылку на объект документа из класса фрейма. Но я уже нашёл вариант - GetActiveDocument.
Кстати, чем CBN_SELENDOK отличается от CBN_SELCHANGE? Вроде бы оба сообщения реагируют на выбор в Комбобоксе  smile 
PM MAIL   Вверх
Earnest
Дата 17.1.2007, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Разница есть только при выборе клавиатурой, а при тычке мышью они оба приходят.
При выборе клавиатурой SELCHANGE приходит при перемещении маркера стрелками, а SELENDOK - если ENTER нажмешь. Вроде так.
... я пользуюсь обоими одинаково...



--------------------
...
PM   Вверх
Alexander777
Дата 17.1.2007, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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


 




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


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

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