Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

CPropertySheet с вертикальными листами

8.9K
04 марта 2007 года
demask
4 / / 08.12.2004
Добрый день.

Как правильно создать объект CPropertySheet с вертикальными листами CPropertyPage?

Сюда я загрузил готовый демонстрационный проект с исходниками — это простое MDI приложение, класс представления CVerticalPropSheetView (производный от CView) которого отображает объект property sheet CPropSheetDemo (производный от CPropertySheet) с тремя листами:

http://forum.codenet.ru/attachment.php?attachmentid=1633&stc=1&d=1173007311
http://www.rsdn.ru:80/File/35531/VerticalPropSheet.rar

Я пробовал воспользоваться советом из переписки на CodeGuru: http://www.codeguru.com/forum/archive/index.php/t-331500.html, однако обнаружились следующие деффекты, связанные с изменением размеров окна property sheet в обработчике CVerticalPropSheetView::OnSize:

1) При изменении размеров окна CPropSheetDemo таким образом, что ширина меньше высоты, ярлыки самых нижних листов (property pages) не прорисовываются. Причем выглядит это так, что корректно отрисовывается только квадратная область, с длиной стороны равной ширине CPropertySheet.

2) При изменении высоты окна CPropertySheet таким образом, что оно не вмещает ярлыки всех листов, появляется spin control для выбора листов. Однако он не работает.

Как решить данную проблему? Все описанное выше появляется только при вертикальном отображении листов, т.е. пока в CPropSheetDemo::OnInitDialog() не закомментировать следующие строчки:


// create the new font for property pages' titles
CreateNewFont(&m_Font,14,_T("Microsoft Sans Serif"));

// make our property sheet vertical-oriented
CWnd* pctrlTab=GetDlgItem(AFX_IDC_TAB_CONTROL);
if (pctrlTab!=NULL) {
pctrlTab->ModifyStyle(TCS_FOCUSONBUTTONDOWN,TCS_VERTICAL,0);
pctrlTab->SetFont(&m_Font);
}




Заранее спасибо.
8.9K
31 марта 2007 года
demask
4 / / 08.12.2004
Неужели никто не сталкивался с такой проблемой?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог