Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Написание компонента на основе TOpenPictureDialog


Автор: gabin 10.12.2008, 17:34
Помогите разработать диалог выбора файла текстового формата, использующий компонент RichEdit или меню с целью предварительного просмотра информации. Я думаю за родительский компонент нужно брать TOpenPictureDialog или TOpenDialog. 
Изучил исходники класса TOpenPictureDialog, но пока не могу понять что нужно изменять.
Может если где-то такие вещи уже встречались, не пройдите мимо плиз...

Автор: gabin 11.12.2008, 12:10
скажите хотя бы с чего начинать

Автор: Poseidon 11.12.2008, 13:32
По-моему TOpenPictureDialog вызывает стандартный виндовый диалог открытия графических файлов (хотя может я ошибаюсь). Поэтому изучение его исходников тебя не спасут. Я бы на твоем месте создал отдельную форму, похожую на диалог, и реализовал бы в ней все что надо. А когда понадобится вызывал бы ее как диалог.

Добавлено через 1 минуту и 13 секунд
Точно, я прав.

Цитата
TOpenDialog (TSaveDialog) и TOpenPictureDialog (TSavePictureDialog) отображают модальные диалоговые окна Windows для открытия (сохранения) файлов. Компоненты TOpenDialog и TSaveDialog работают с файлами любого типа, а компоненты TOpenPictureDialog и TSavePictureDialog - с файлами изображений.

Автор: gabin 13.12.2008, 17:15
Так создать новую форму, вроде ж нельзя если создаёшь компонент. У нас только окно редактора кода и всё. 
Да и при создании компонент обычно только перекрывают какие-то процедуры и свойства.. 

Автор: Rrader 13.12.2008, 17:44
Poseidon, ты не прав smile 

gabin, ты бы хоть попытался написать что-нибудь.

1) Открываешь ExtDlgs.pas и смотришь, как реализован TOpenPictureDialog. Кода там мало.
2) Удели внимание конструктору диалога и процедуре DoShow.
3) Попытайся самостоятельно хоть что-нибудь написать по аналогии.

Потом показывай результаты, тогда тебе гарантированно помогут. smile 

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