Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > диалоги в CTabCtrl и главная форма |
Автор: semerson 12.2.2007, 18:28 |
На главной форме расположен CTabCtrl и ряд чекбоксов. На одной из закладок tabctrl'а лежит CListCtrl. При дабл-клике на одном из полей листконтрола нужно получить состояние чекбоксов которые относятся к главной форме. Как это сделать? |
Автор: vinter 12.2.2007, 18:55 |
заведи bool массив, в котором будут находиться состояния checkbox, и при необходимости используй его |
Автор: semerson 12.2.2007, 19:13 |
глобальный массив через extern? |
Автор: vinter 12.2.2007, 21:09 |
а это уж полет твоей фантазии![]() ![]() |
Автор: Earnest 13.2.2007, 10:23 | ||||
Не надо заводить никакой массив: чем локальнее тем лучше. Тебе всего-то надо спросить состояние check-боксов у парента. Если лист-контрол является чайлдом tab-контрола, а тот, в свою очередь - формы - значит, вызови GetParent дважды:
Если вложенность не такая, скорректируй число GetParent(). Можно даже функцию нарисовать, чтобы добраться до формы от произвольного чайлда:
Если RTTI не включен, используй DYNAMIC_DOWNCAST() вместо dynamic_cast<>. |
Автор: semerson 13.2.2007, 13:32 |
Это хорошо, но если вместо чекбоксов на главной форме есть CSliderCtrl и надо изменить положение бегунка, как поступить в этом случае? |
Автор: Earnest 14.2.2007, 10:49 |
Точно так же: Добраться до главной формы и до ее контролов. Это если к моему посту вопрос, конечно. |
Автор: semerson 17.2.2007, 20:12 |
Спасибо разобрался ![]() |