Главная страница
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.049 c
4-1147446323
Dstr
2006-05-12 19:05
2006.09.03
Как создать форму в отдельном потоке?


10-1123224797
Breez
2005-08-05 10:53
2006.09.03
С чего начать описание opc клиента на delphi?


2-1155202342
ArtemESC
2006-08-10 13:32
2006.09.03
PopupMenu


15-1154954506
antonn
2006-08-07 16:41
2006.09.03
ищу музончик...


1-1153480564
МикроДИП
2006-07-21 15:16
2006.09.03
Вопрос по расположению формы...