Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.03;
Скачать: CL | DM;

Вниз

Изменение стандартных диалогов.   Найти похожие ветки 

 
AlexanderMS ©   (2006-08-13 18:02) [0]

Скажите, пожалуйста, можно ли как-нибудь получить доступ к элементам окна стандартных диалогов? (Диалоги открытия/сохранения, диалог выбора шрифта, например). Вообще мне нужно внести изменения в диалог выбора шрифта: нужно увеличить высоту GroupBox "Видоизменение", включив чуть ниже поля "Цвет" ещё 2 параметра. Как я могу это сделать, не прибегая к созданию новой формы?

Посмотрел исходный код диалога открытия картинки. С виду - усовершенствованный OpenDialog. Но мне не совсем понятно, как это чудо реализуется. Просто создан наследник, и программно созданы элементы управления? А как само окно шире становится? Как вообще стало возможным добавить новые элементы, ведь диалоги загружаются из DLL?
Объясните подробнее обо всём, пожалуйста.


 
begin...end ©   (2006-08-13 18:28) [1]

Чтобы добавить новые элементы управления в диалог (например, OpenDialog), можно разместить эти элементы на собственном диалоговом окне и указать имя ресурса этого диалога при вызове API-функции создания стандартного диалога (для OpenDialog -- GetOpenFileName). Именно так и работает TOpenPictureDialog.

И, конечно, нужно будет назначить "hook procedure" для окна стандартного диалога -- чтобы получать уведомления о тех действиях, которые пользователь выполняет с новыми элементами управления, и нужным образом реагировать на это.

Подробнее см. MSDN:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/CommonDialogBoxLibrary/CommonDialogBoxReference/CommonDialogBoxFunctions/GetOpenFileName.asp

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/aboutcommondialogboxes/openandsaveasdialogboxes.asp


 
AlexanderMS ©   (2006-08-14 16:06) [2]

Большое спасибо.



Страницы: 1 вся ветка

Текущий архив: 2006.09.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
4-1147090318
Tarantino
2006-05-08 16:11
2006.09.03
Мерцание при BitBlt экрана с параметром CAPTUREBLT.


2-1155460952
Vovan#1
2006-08-13 13:22
2006.09.03
Назначит событию процедуру


15-1154452246
Kerk
2006-08-01 21:10
2006.09.03
Есть тут мастаки из Казани?


4-1147244677
DancerMan
2006-05-10 11:04
2006.09.03
Заводской серийный номер CD-R


2-1155382320
K_Lock
2006-08-12 15:32
2006.09.03
Открыть все ДатаСеты......