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

Вниз

Как в диалоге выбора каталога открыть последний выбранный?   Найти похожие ветки 

 
NEWSER   (2008-12-03 15:34) [0]

Как сделать, чтобы в диалоге - выбор каталога, по умолчанию открывался последний выбранный (а не "Мой компьютер")?
Пока находил только код типа:
http://delphiworld.narod.ru/base/choose_folder.html


 
Rouse_ ©   (2008-12-03 15:39) [1]

Последние открытые приложениями лежат в MRU каталоге в реестре:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\La stVisitedMRU

Выставлять каталог ручками можно при помощи пвот этого:
http://rouse.drkb.ru/components.php#fwopendirectory
(второй с низу)


 
Anatoly Podgoretsky ©   (2008-12-03 16:25) [2]

> NEWSER  (03.12.2008 15:34:00)  [0]

Что за диалог ты используешь?


 
Как можно проще   (2008-12-03 16:42) [3]

На мой взгляд, он всегда вроде будет последний выбранный в этой "сессиии" приложения. Ну, а если, ты имеешь в виду последний выбранный неделю или месяц назад, то и вопрос задавай соответствующим образом.


 
NEWSER   (2008-12-03 19:22) [4]

> Anatoly Podgoretsky ©   (03.12.08 16:25) [2]

использую то, что написано (по ссылке выше)
uses
 ShellAPI, ShlObj;
...

procedure TForm1.Button1Click(Sender: TObject);
var
 TitleName : string;
 lpItemID : PItemIDList;
 BrowseInfo : TBrowseInfo;
 DisplayName : array[0..MAX_PATH] of char;
 TempPath : array[0..MAX_PATH] of char;
begin
 FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
 BrowseInfo.hwndOwner := Form1.Handle;
 BrowseInfo.pszDisplayName := @DisplayName;
 TitleName := "Please specify a directory";
 BrowseInfo.lpszTitle := PChar(TitleName);
 BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
 lpItemID := SHBrowseForFolder(BrowseInfo);
 if lpItemId <> nil then
 begin
   SHGetPathFromIDList(lpItemID, TempPath);
   ShowMessage(TempPath);
   GlobalFreePtr(lpItemID);
 end;
end;

и по умолчанию всегда курсор устанавливается на "Мой компьютер"...


 
clickmaker ©   (2008-12-03 19:26) [5]

смотри функцию SelectDirectory в исходниках VCL


 
NEWSER   (2008-12-03 20:05) [6]

> clickmaker ©   (03.12.08 19:26) [5]
> смотри функцию SelectDirectory в исходниках VCL


Посмотрел (((
И куда пропали все остальные диски!?!?
if SelectDirectory("Select a directory", "C:\", chosenDirectory)...
- показывает ТОЛЬКО диск "C:\"
а мне нужно всего-то установить курсор на нужную папку!


 
Anatoly Podgoretsky ©   (2008-12-03 22:46) [7]

> NEWSER  (03.12.2008 20:05:06)  [6]

Если ты указываешь Root то показываются только он и все подчиненые папки.
Параметра InitialDir у диалога нет, но можно попробовать сменить папку через BrowseCallbackProc, вот ссылка в MSDN


 
Anatoly Podgoretsky ©   (2008-12-03 23:17) [8]

> Anatoly Podgoretsky  (03.12.2008 22:46:07)  [7]

Ссылка куда то исчезла

http://msdn.microsoft.com/en-us/library/aa452900.aspx



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
2-1228755197
cruiser
2008-12-08 19:53
2009.01.18
чтение Unicode символов в caption компонентов


15-1227219455
{RASkov}
2008-11-21 01:17
2009.01.18
Диспетчер устройств


2-1228392234
linx
2008-12-04 15:03
2009.01.18
Лишние знаки после запятой при отображ. результ. запр.в DBGreed


2-1228411164
Витя
2008-12-04 20:19
2009.01.18
Совместный доступ разных процессов к одним данным


4-1204522266
uroksan
2008-03-03 08:31
2009.01.18
считывание данных через Usb