Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по TOpenDialog [D7, Win95/98, WinME, NT4, Win2k, WinXP]


Asail ©   (2006-01-13 12:39:00) 

Здрасте.
Как можно задать в TOpenDialog, чтобы по умолчанию список файлов всегда открывался в виде "Details", а не "List"?
Спасибо.


Asail   (2006-01-13 13:28:00) [1]

Спасибо


Asail   (2006-01-13 13:27:00) [2]


> А что это за вид "Details"?

Имеется ввиду, что при просмотре списка файлов отображается подробная инфа (размер, дата/время и т.д.).


> http://msdn.microsoft.com/msdnmag/issues/04/03/cqa/

А можно примерчик на Delphi, а то я в C и в MFC не силен :-(.
Хотя разобраться, конечно, попробую...


Rouse_   (2006-01-13 13:23:00) [3]

Вот так короче будет:

procedure TForm1.Button2Click(Sender: TObject);
begin
 OpenDialog1.Execute;
end;

function NewOpenDlgProc(Wnd: HWND; uMsg: DWORD;
 WParam, LParam:integer): Integer; stdcall;
const
 ODM_VIEW_DETAIL = $702C;
var
 ShellHandle: THandle;
begin
if uMsg = WM_SHOWWINDOW then
begin
  ShellHandle := FindWindowEx(Wnd, 0, 'SHELLDLL_DefView', nil);
  SendMessage(ShellHandle, WM_COMMAND, $702c, 0);
end;

Result := CallWindowProc(Pointer(GetWindowLong(Wnd, GWL_USERDATA)), Wnd, uMsg, WParam, LParam);
end;

procedure TForm1.OpenDialog1Show(Sender: TObject);
begin
 SetWindowLong(GetParent(OpenDialog1.Handle), GWL_USERDATA,
   SetWindowLong(GetParent(OpenDialog1.Handle), DWL_DLGPROC, DWORD(@NewOpenDlgProc)));
end;


Rouse_   (2006-01-13 13:23:00) [4]

А вот список всех видов:

   ODM_VIEW_ICONS = 0x7029,
   ODM_VIEW_LIST  = 0x702b,
   ODM_VIEW_DETAIL= 0x702c,
   ODM_VIEW_THUMBS= 0x702d,
   ODM_VIEW_TILES = 0x702e,


Rouse_   (2006-01-13 13:20:00) [5]

http://msdn.microsoft.com/msdnmag/issues/04/03/cqa/


Johnmen   (2006-01-13 13:15:00) [6]

А что это за вид "Details"?


Наверх

Титульная страница Поиск, карта сайта Написать письмо