Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение состояния кнопок в ToolBar_e, MFC 
:(
    Опции темы
Coocky
Дата 19.8.2004, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


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

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



Не могу поменять состояние кнопок.(CToolBarCtrl())....Изменяется нормально только CheckButton().А кнопка стает активной,только когда Добавляешь обработчик COMMAND(нажатие).(при появлении окна она неактивна...)Короче...(CToolBarCtrl()).Enable(....) не отрабатывает ни FALSE,ни TRUE...Почему?Может есть другой способ?(Заполнение струтуры кнопки не предлагать!).


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


GUI гуру
****


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

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



Прочитал,что каждой кнопке должен соответствовать пункт меню.Не помогает...Приложение SDI...


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


GUI гуру
****


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

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



Неужели у всех все получается biggrin.gif


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


Опытный
**


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

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



все это потому что mfc написана через задницу.
1. окно класса CToolbarCtrl не обновляется через механизм обработчиков UpdateCmdUI
тебе нужно делать обычный CToolbar, а у него есть метод получения СToolbarCrtrl

2. Нужно создать обработчик команды и состояния:
(в мессадж мапеsmile.gif
ON_COMMAND(ID_GROUP, OnGroup)
ON_UPDATE_COMMAND_UI(ID_GROUP, OnUpdateGroup)
(в классе)
void CMyClass::OnCommand()
{
AfxMessageBox( "It's work!");
}

void CMyClass::OnUpdateCmdUI(CCmdUI*pCmdUI )
{
pCmdUI->Endble( чтобы включить или выключить);
pCmdUI->SetCheck( чтобы поставить или снять чек);
}

в меню или в толбаре кнопка-команда - пофигу.
обработчик OnUpdate* должен исполняться достаточно быстро, поскольку вызывается в цикле сообщений между обычными сообщениями.





--------------------
PM MAIL WWW   Вверх
Nastya
Дата 20.8.2004, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 27.3.2002
Где: Мариуполь

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



Я как-то в этом форуме спрашивала про ДиалогБарыи инеактивность кнопок, если у них нет обработчика.
Так вот, мне посоветовали (работатет) у MainFrame перехватитьт ON_COMMAND_UPDATE (для кнопки) или ON_COMMAND_UPDATE_RANGE (для группы кнопак). И для параметра, который этот обработчик полычает, тип его я сейчас на вспомню sad.gif ) вызывать метод Enabled.
Я правильно поняла проблему?
Добавлено @ 17:06
Вот опять ответили одновременно smile.gif


--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
Coocky
Дата 31.8.2004, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


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

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



Код
void CMyClass::OnUpdateCmdUI(CCmdUI*pCmdUI )
{
pCmdUI->Endble( чтобы включить или выключить);
pCmdUI->SetCheck( чтобы поставить или снять чек);
}

Да я уже разобрался.Только вот проблема:pCmdUI указатель на нажатую кнопку smile.gif
А как сделать,что б другая кнопка стала,например,активной wink.gif В этом коде не получится sad.gif


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




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


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

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