![]() |
|
|
![]()
|
|
| Kirow |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 1.11.2007 Репутация: нет Всего: нет |
Есть у меня CMFCRibbonBar, на котором имеется ComboBox.
Добавил переменную для комбо бокса и выполнил даункаст.
Есть у меня переменная CList<CString> tableList Отображаю содержимое этой переменной в комбо бокс.
Но в программе элемент комбо бокса остается неактивным. Как сделать комбо бокс активным? Либо какова причина что у меня он ничего не показывает и никак не реагирует ни на что? |
||||
|
|||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
"Либо" тут не катит, это 2 большие разницы. Чтобы помещать итемы в комбобок, его совсем не обязательно делать активным, но если надо, то как всегда SetRocus. Информации маловато, но скорее всего вы наступили на любимые грабли MFC-новичков: используете временную переменную как постоянную. Т.е. получили указатель на combobox когда-то, а потом используете его в других ф-ях. Так низзя, временные окна живут до первого идла. Либо делайте первую свою строчку каждый раз при использовании комбобокса (можно без DOWNCAST, просто C-style cast coйдет), либо сабкласьте (через DDX_Control либо SubclassWindow) его на постоянной основе (привяжите к своей переменной наглухо, но тогда она должна быть объектом CComboBox, а не указателем на него. Либо работать через сообщения. -------------------- ... |
|||
|
||||
| Kirow |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 1.11.2007 Репутация: нет Всего: нет |
не получается и все тут...
через DDX_Control нельзя привязать к переменной CMFCRibbonComboBox (хотя не факт что если привязал бы, то оно заработало бы), а если привязать к CComboBox, то на этапе выполнения получаю ошибку (к примеру если вызвать метод AddString). На счет временной переменной...я уже давно долбаюсь с этой проблемой и переменные у меня были как глобальные так и локальные(от безысходности)...по моему я даже во все классы пробовал пихать.. В общем было бы не плохо мне исходник подкинуть с рабочим CMFCRibbonComboBox на Ribbon'e (чтобы нажимался и выпадал список,ну и желательно чтобы из кода список заполнялся) 5 минут дела по идее...Создаем визардом проект, в ресунсах береходим на риббон, из тулбокса добавляем панельку и комбобокс, а как блин делать дальше я не могу догадатся...вроде бы делаю все правильно.Получаю ссылку на комбобокс и добавляю туда данные (ошибок на этапе выполнения никаких). Но вот на самом риббоне комбобокс остается неактивным и не кликабельным. UPD: срань...как же я не люблю С++, надо было тупо добавить пустой обработчик сообщений для комбобокса...для едита не добавлял, и он работал блин... Это сообщение отредактировал(а) Kirow - 13.10.2011, 13:56 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Так вот что ты под "неактивным" понимал... Странная ситуация, обычно так ведут себя только кнопки (задизэблены в отсутствие обработчика). И причем здесь C++, это реализация этого риббона такая кривая... Так получилось у тебя добавить элементы? Если сильно раздражает пустой обработчик для комбика, замени его обработчиком обновления (ON_UPDATE_COMMAND_UI) и сделай внутри Enable (true). -------------------- ... |
|||
|
||||
| Ghost99 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 6.6.2009 Репутация: нет Всего: нет |
Посмотри пример из MSDN "RibbonGadgets" - выдает готовый код
Это сообщение отредактировал(а) Ghost99 - 30.10.2011, 14:49 Присоединённый файл ( Кол-во скачиваний: 5 )
RibbonGadgets.rar 402,17 Kb |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |