2013-02-28 3 views
0

У меня есть окно с различным управлением и TabControl, который содержит некоторые TabPage. Каждая вкладка связана с классом. Код этого класса должен иметь возможность управлять элементами главного окна.Интерфейс MFC с tabControl

Я попытался в классе TabPage создать указатель на главное окно и связанный с ним метод набора, но я не могу создать тип элемента главного окна.

Как мне это сделать?

класс CMedialexieDlg: общественный CDialogEx { общественности:

CTabCtrl  m_TabControl; /*!< TabControl de la fenetre */ 
TabPage1  tabPage1; /*!< Onglet des contacts */ 
TabPage2  tabPage2; /*!< Onglet des groupes */ 
TabPage3  tabPage3; /*!< Onglet des ventes */ 
CTreeCtrl  m_TreeControlContact; /*!< TreeControl regroupant les differents contacts */ 
CTreeCtrl m_TreeControlGroupe; /*!< TreeControl regroupant les differents groupes et contacts */ 

... }

и в классе TabPage1

аннулируются TabPage1 :: OnClickedTbp1ButtonAnuler() { m_TreeControlGroupe.EnableWindows (false); }

ответ

1

Прежде всего, вам действительно нужно показать какой-то код, демонстрирующий то, что вы пытались сделать, вместо того, чтобы (плохо) описать его нам и оставив нас гадать.

Сказав это, почему вы не можете использовать AfxGetMainWnd(), чтобы получить указатель на свое главное окно?

Следует обратить внимание на то, что вы должны быть осторожны, так как прямое управление другими окнами может вызывать тонкие проблемы/ошибки, которые трудно отследить; он также может вызвать головные боли, если вы позже попытаетесь сделать ваше приложение многопоточным. Вы должны предпочесть обмен сообщениями.

+0

А как я должен использовать функцию AfxGetMainWnd()? – artoon

+0

Вы называете это, и вы возвращаете указатель 'CWnd' в главное окно? –

Смежные вопросы