Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: -0.97 c
15-1155207197
KilkennyCat
2006-08-10 14:53
2006.09.03
Будущее ковриков для мышек.


15-1154692059
Сергей М.
2006-08-04 15:47
2006.09.03
А.Мисин... "минус" ..


2-1155198993
Sania1
2006-08-10 12:36
2006.09.03
Запуск от имени


2-1155529024
mozilader
2006-08-14 08:17
2006.09.03
Написание программы для автоматической работы принтера


15-1155209259
ArtemESC
2006-08-10 15:27
2006.09.03
Не найдеться ли у кого звуков пишущей машинки...




   Наверх