Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Что такое CPropertySheet?


Автор: Rapalex 31.8.2006, 16:30
У мен язадачя сделать диалог настроек приложения с деревом (как в VS), решил я изуродовать стандартную CPropertySheet.

И пейджами всё ясно они обыкговенный диалог, а шит унаследована из окна и я рылся в исходникак и немогу найти где же создаётся таб контрол, кнопки и где берутся размеры отступовв контролов в щите.

Кто знает smile 

Может это гдето в системных дллельках?

А покая я просто изменил размеры окна и передвинул все дочерние окна!

Щяс буду создавать дерево!

Жду ответы и измышления, спасибо...

Автор: Rapalex 31.8.2006, 17:09
Меня настораживает то - что щит сам себе сообщения шлёт (напимер устанавливая активную вкладку).

Автор: Earnest 31.8.2006, 17:18
1) Рыться нужно в исходниках API. А ты где рылся? В MFC? Нет там ничего.
2) Если тебе нужно именно дерево + страницы (причем всегда, а не переключение - то с деревом, то стандартно), забей на Проперти-щит, делай все на основе обычного диалога.
Я бы так сделала: в диалоговом ресурсе рисуем слева дерево, а справа - прямоугольник (Static - Frame), чтобы обозначить место, где будет TabControl создаваться.
Ну и т.д. Несложно, но кода написать нужно прилично. Да, страницы тоже не от CPropertyPage наследуй, а от диалога или можно от форм-вью, по потребностям. Интерфейс - можно частично слизать у CProperySheet и CPropertyPage.

Автор: Rapalex 1.9.2006, 10:26
Цитата(Earnest @  31.8.2006,  17:18 Найти цитируемый пост)
кода написать нужно прилично
Вот это меня и останавливает.

Цитата(Earnest @  31.8.2006,  17:18 Найти цитируемый пост)
 можно частично слизать у CProperySheet и CPropertyPage
В том то и прикол, нехочется велосипед избретать.

Рылся я в МФЦ.
Цитата(Earnest @  31.8.2006,  17:18 Найти цитируемый пост)
Рыться нужно в исходниках API
А как это сделать???????????

Автор: HappyLife 1.9.2006, 10:36
никак. апи тебе не нужно переделывать. уж поверь;)

Автор: Earnest 1.9.2006, 11:00
Цитата(Rapalex @  1.9.2006,  11:26 Найти цитируемый пост)
В том то и прикол, нехочется велосипед избретать.

Это не изобретение велосипеда, а использование вполне удачной метафоры. 
Проектирование интерфейса - тоже работа, причем непростая.

Цитата(Rapalex @  1.9.2006,  11:26 Найти цитируемый пост)
Вот это меня и останавливает.

А ничего готового (стандартного) нет. Использование проперти-щита тебе ну ничем не поможет, только мешать будет. 
Знаю коммерческую библиотеку (BCG), которая такую штуку реализует.
Можешь посмотреть на codeproject - вполне возможно, там есть.
Но в плане повышения квалификации - задача вполне полезная.

Автор: Rapalex 1.9.2006, 11:05
Знначитэтот щит гдето в апи зашит.

Облом  smile 

Автор: Earnest 3.10.2006, 06:38
Модератор: Пожалуйста, один топик - один вопрос.

Gremlin, сколько можно в чужие темы влазить? И не по делу!

Автор: Dart 3.10.2006, 14:39
Попробуй посмотреть http://www.codeproject.com/property/TreePropSheetEx.asp
Может, это тебя на определённые мысли наведет.

Добавлено @ 14:49 
И еще - есть новая версия, не выложенная на codeproject - не помню, где качал, если надо, мылом могу скинуть

Автор: Rapalex 3.10.2006, 14:55
Да не уже разобрался, спасибо, даже забыл про существованеи этой темы  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)