function MessageDlgPos(const Msg: WideString; DlgType: TMsgDlgType;
Buttons: TMsgDlgButtons; HelpCtx: Longint; X, Y: Integer;
DefaultBtn: TMsgDlgBtn = mbNone; Bitmap: TBitmap = nil): Integer;
begin
Result := MessageDlg(Application.Title, Msg, DlgType, Buttons, HelpCtx,
X, Y, DefaultBtn, Bitmap);
end;
Предпросмотр файла собственного типа в OpenDialog
Файл содержит некоторые модели (скажем, рисунки). Этот файл не откроется ничем другим, кроме этой программы.
Как при выборе этого файла в OpenDialog отобразить модель, содержащуюся в нем, как бы предпросмотром в OpenDialog?
Что требуется:
1. При выборе файла в OpenDialog выполнить функцию.
2. В результате функции будет создан TBitmap, который надо поместить в OpenDialog как предпросмотр
Код:
вобщем я бы искал в этом направлении...
1) Написать свой OpenDialog
2) Использовать виндовые preview handler"ы
(Для второго варианта: мелкософт
Preview Handlers — API, обеспечивающий использование встроенной в Windows Vista инфраструктуры для упрощенного просмотра содержимого файла с учетом его типа и форматирования, поддерживающей большинство распространенных типов файлов. Кроме того, Preview Handler API позволяет создавать обработчики для предварительного просмотра файлов нестандартных типов. )
Цитата: frid-karatel
Что требуется:
1. Унаследовать свой диалог от TOpenDialog
2. Заготовить файл ресурсов с "шаблоном" - это такое описание диалога в файле ресурсов содержащие твои доп. контроллы(прим. набор стилей д.б. таким WS_CHILDW|S_CLIPSIBLINGS|DS_3DLOOK|DS_CONTROL).
3. Присвоить св-ву Template имя твоего диалога напр. "DIALOG1"
4. Засабклассить оконную процедуру на предмет перехвата и обработки WM_COMMAND от твоих контроллов.
Вот так примерно.
А может так сделать - при открытии TOpenDialog открывать новую форму, на ней TImage. ПРи выборе файла в OpenDialog выполнять функцию по отрисовке графика, который содержится в выбранном файле...?
Тогда гибкости работы будет больше, т.к. на форму можно еще контролов всяких поместить, типа кол-во линий, максимум и минимум функции... Т.е. отображать не только график, но и всю инфу по файлу...
Как такой вариант?
PS: а как узнать, какой файл выбран и как запускать функцию при выборе другого файла? :)
на свою форму кидаешь TDirectoryListBox, TFileListBox в OnChange прописываешь все что надо (загрузка, отображение) и не паришься.
Цитата: frid-karatel
Блин, сложновато выглядит :)
это только выглядит сложновато, вот отстанут от меня на работе, то может разомнусь - попрограммирую маленько, выложу примерчик
Цитата: frid-karatel
А может так сделать - при открытии TOpenDialog открывать новую форму, на ней TImage. ПРи выборе файла в OpenDialog выполнять функцию по отрисовке графика, который содержится в выбранном файле...?
Тогда гибкости работы будет больше, т.к. на форму можно еще контролов всяких поместить, типа кол-во линий, максимум и минимум функции... Т.е. отображать не только график, но и всю инфу по файлу...
никто не мешает посадить фрейм/форму, на дочерний диалог и "... отображать не только график, но и всю инфу по файлу"
Цитата: frid-karatel
Как такой вариант?
мой - потомучта он правильный:)