Вопрос — дурацкий до нельзя...
Есть некое окошко, на нем живет кнопочка. Мы берем эту кнопочку вот таким вот образом:
CButton *chaButton = (CButton *)m_wndDlgBar.GetDlgItem(IDC_ORD_CHA);
и потом делаем ей так:
chaButton->EnableWindow(false);
Что должно получиться по логике вещей? Правильно, кнопочка должна стать се-е-еренькой такой... А вот хрен! Причем, если вместо
EnableWindow
писать
ShowWindow
то все очень даже прелестно работает...
Люди, ЧТО ДЕЛАТЬ???
Здравствуйте misty, Вы писали:
M>Люди, ЧТО ДЕЛАТЬ???
А если просто попробовать
m_wndDlgBar.GetDlgItem(IDC_ORD_CHA)->EnableWindow(false);
или
m_wndDlgBar.GetDlgItem(IDC_ORD_CHA)->SendMessage(WM_ENABLE);
... << RSDN@Home 1.0 alpha 12 >>
Здравствуйте misty, Вы писали:
M>Вопрос — дурацкий до нельзя...
M>Есть некое окошко, на нем живет кнопочка. Мы берем эту кнопочку вот таким вот образом:
M>CButton *chaButton = (CButton *)m_wndDlgBar.GetDlgItem(IDC_ORD_CHA);
M>и потом делаем ей так:
chaButton->>EnableWindow(false);
M>Что должно получиться по логике вещей? Правильно, кнопочка должна стать се-е-еренькой такой... А вот хрен! Причем, если вместо EnableWindow
писать ShowWindow
то все очень даже прелестно работает...
M>Люди, ЧТО ДЕЛАТЬ???
Уфф. Ты уже четвертый (вроде).
Проблема в том, что MFC автоматически энейблит пункты меню и кнопки на тулбарах, к которым привязаны обработчики.
Самое простое и универсальное решение — обрабатывать UPDATE_COMMAND_UI.
Для более полного понимания или если это решение не устраивает полазай на этом форуме, я уже постил сюда несколько вариантов решения.
Здравствуйте misty, Вы писали:
M>Вопрос — дурацкий до нельзя...
M>Есть некое окошко, на нем живет кнопочка. Мы берем эту кнопочку вот таким вот образом:
M>CButton *chaButton = (CButton *)m_wndDlgBar.GetDlgItem(IDC_ORD_CHA);
M>и потом делаем ей так:
chaButton->>EnableWindow(false);
M>Что должно получиться по логике вещей? Правильно, кнопочка должна стать се-е-еренькой такой... А вот хрен! Причем, если вместо EnableWindow
писать ShowWindow
то все очень даже прелестно работает...
M>Люди, ЧТО ДЕЛАТЬ???
m_wndDlgBar это не toolbar случайно ?
Если да , то нужно использовать
CToolBarCtrl::EnableButton(..) // TB_ENABLEBUTTON
Здравствуйте Demon, Вы писали:
D>Уфф. Ты уже четвертый (вроде).
Приятно это слышать
D>Проблема в том, что MFC автоматически энейблит пункты меню и кнопки на тулбарах, к которым привязаны обработчики.
D>Самое простое и универсальное решение — обрабатывать UPDATE_COMMAND_UI.
Спасибо, все заработало.