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

Вниз

OpenDialog - вид по умолчанию   Найти похожие ветки 

 
CbIH ©   (2004-04-21 15:33) [0]

Можно ли изменить вид OpenDialog - например, чтобы сразу открывался вид "Таблица" с сортировкой по дате?


 
Johnmen ©   (2004-04-21 15:37) [1]

Нет.


 
CbIH ©   (2004-04-21 15:38) [2]

Удалено модератором


 
Johnmen ©   (2004-04-21 15:49) [3]

Удалено модератором


 
nikkie ©   (2004-04-21 15:50) [4]

>Нет.
я бы не был столь категоричен...


 
Reindeer Moss Eater ©   (2004-04-21 15:52) [5]

Удалено модератором


 
Johnmen ©   (2004-04-21 15:53) [6]

>nikkie ©   (21.04.04 15:50) [4]

С удовольствием узнаю как. Только без извращения, пожалуйста...:)


 
VMcL ©   (2004-04-21 15:59) [7]

>>Johnmen ©  (21.04.04 15:53) [6]

Сначала, нужно определиться с понятием, что есть "извращение"?


 
WondeRu ©   (2004-04-21 16:04) [8]

Весна пришла, вот МАСТЕРов все больше и больше пробивает  на болтовню! )))

Сорри за отвлеченные реплики в последнее время - Весна, Девушки и все такое!)))


 
nikkie ©   (2004-04-21 16:07) [9]

код я, конечно, не приведу. но OpenDialog имеет богатые возможности по настройке. в структуре OPENFILENAME имеется поле lpfnHook, таким образом, можно официальным образом получать сообщения адресованные диалогу. вероятно, получив WM_INITDIALOG, мы сможем сделать, что хочется.


 
PVOzerski ©   (2004-04-21 16:07) [10]

>Сначала, нужно определиться с понятием, что есть "извращение"?
С этим лучше разбираться на форуме "Потрепаться". А вот мои соображения по поводу OpenDialog. Непосредственно comdlg32.dll средств управления видом диалогов, вроде бы, не предотавляет. Остается одно: захватить из другого потока хэндл диалога - GetParent(OpendialogN.Handle) - и порезвиться над ним и его child-контролами.


 
WebErr ©   (2004-04-21 16:19) [11]


> PVOzerski ©   (21.04.04 16:07) [10]

А не достаточно просто TOpenDialog.Handle, а уже потом извращаться с его компонентами?


 
nikkie ©   (2004-04-21 16:24) [12]

>Непосредственно comdlg32.dll средств управления видом диалогов, вроде бы, не предотавляет.
предоставляет и еще какие... кроме lpfnHook можно еще и указать темплату диалога (lpTemplateName). пример использования этого механизма - TOpenPictureDialog.


 
PVOzerski ©   (2004-04-21 16:26) [13]

>А не достаточно просто TOpenDialog.Handle
А не получается :^(((


 
Игорь Шевченко ©   (2004-04-21 16:27) [14]


> Непосредственно comdlg32.dll средств управления видом диалогов,
> вроде бы, не предотавляет


OFN_ENABLETEMPLATE,OFN_ENABLETEMPLATEHANDLE,OFN_EXPLORER,OFN_ENABLEHOOK  в структуре OPENFILENAME.

OpenDialog можно преобразовать примерно во что угодно, чем и пользуется, например, Microsoft Office.


 
PVOzerski ©   (2004-04-21 16:31) [15]

>предоставляет и еще какие... кроме lpfnHook можно еще и указать темплату диалога (lpTemplateName). пример использования этого механизма - TOpenPictureDialog.

Согласен. Но придется переписывать tOpenDialog.


 
WebErr ©   (2004-04-21 16:41) [16]


> PVOzerski ©   (21.04.04 16:31) [15]

Не надо, нужно только написать function GetFileName: String;
С использованием своего API.
Хотя и переписАть его полностью никто не запрещает! :))))


 
nikkie ©   (2004-04-21 16:50) [17]

>Согласен. Но придется переписывать tOpenDialog.
не знаю, то, что я делал, я делал на api. но я так не думаю.
TOpenPictureDialog ведь обошелся без переписывания TOpenDialog - просто унаследовался...

например, вот на торри нашелся

TMyOpenDialog - Custom Windows Dialogs Demo v.1.0  FWS 9 Kb 12 Sep 2000
By O. Sosonnykh. TMyOpenDialog demonstrates a possibility of enhancing the common Windows open dialog by means of a dialog template. TMyOpenDialog is not a recreation of Windows open dialog from scratch, but its true ancestor.
This example shows how to:
add control s to the open dialog, change their properties and "see" their events
use standard Help button and fire an OnHelp event after it"s clicking
use standard "?" button and a right-mouse context menu to show a Help hint for controls in a dialog (including added ones).  

а вообще мне кажется я встречал упоминание о наборе компонент, которые позволяли делать темплату в виде Delphi-формы.


 
PVOzerski ©   (2004-04-21 16:51) [18]

>Не надо, нужно только написать function GetFileName: String;
По кр. мере в D3 эта функция не виртуальная. Значит, невозможно просто сделать класс-потомок от tOpenDialog и переопределить в нем эту функцию. Да и сама эта функция тут ни при чем, она решает другие задачи, чем те, о которых речь шла изначально.



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

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

Наверх




Память: 0.51 MB
Время: 0.044 c
3-1078931874
Anarki
2004-03-10 18:17
2004.04.11
ADOQuery - проблемы


1-1079965607
naiman_de
2004-03-22 17:26
2004.04.11
Как сделать так,чтобы приложение копировало само себя


1-1079886820
Batoon
2004-03-21 19:33
2004.04.11
Тильда и VK_...


1-1082465675
Tornado
2004-04-20 16:54
2004.04.11
почему не работает OEM_CHARSET в TListView ?


8-1071474772
Dimmu
2003-12-15 10:52
2004.04.11
Аналог паскального Sound