Автоматическая разбивка для элементов управленияАвтор: Mike Melnikov ОписаниеЗдесь представлены два класса Обратите внимание, что Вам не нужно будет добавлять ресурсы и описывать зависимости между эелементами управления. Деостаточно содавать соответствующий размер и позицию контролов по средствам функций: void addControls(int count, bool connectVertical, ...); void addControl(int id); Демонстрационный проект показывает
автоматиеское добавление элементов управления в
классы
Использование классаСамый простой способ - это использовать шаблон
// в заголовке
class CTestDlg1 : public ZSplitterDlgImpl<CPropertyPage>
// в исходнике
CTestDlg1::CTestDlg1() : /*...*/ ZSplitterDlgImpl<CPropertyPage>(CTestDlg1::IDD) {}
BEGIN_MESSAGE_MAP(CTestDlg1, ZSplitterDlgImpl<CPropertyPage>)
// ...
END_MESSAGE_MAP()
BOOL CTestDlg1::OnInitDialog()
{
// ... здесь используем функцию addControl(s)
init();
// ...
}
Шаблон Шаблон Это пример Вашего диалога в редакторе ресурсов:
И пользователь может изменять его во время выполнения приложения.
Для добавления контрола в "раскладку
сплиттера" используйте функции addControls(2,false,IDC_LIST6,IDC_LIST7); addControls(2,true,IDC_LIST1,IDC_LIST8); addControl(IDC_LIST9); addControl(IDC_LIST2); addControl(IDC_LIST3); addControl(IDC_LIST4); addControl(IDC_LIST5); Кроме того Вы можете вручную добавлять класс
ZSPLITTER класс () на страницу. Посмотрите, как это
выглядит на рисунке, а так же в классе
|