Форум: "Начинающим";
Текущий архив: 2009.01.18;
Скачать: [xml.tar.bz2];
ВнизКак в диалоге выбора каталога открыть последний выбранный? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c