Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.47 MB
Время: 0.005 c
2-1228091350
Deled
2008-12-01 03:29
2009.01.18
Принтер


15-1226943419
Маэстро
2008-11-17 20:36
2009.01.18
Почему не дают больничный когда депрессия?


15-1227128472
АгатаКристи
2008-11-20 00:01
2009.01.18
JavaScript


15-1227066140
ArMellon
2008-11-19 06:42
2009.01.18
Нужен совет...


4-1204619883
Тфьу
2008-03-04 11:38
2009.01.18
Как узнать высоту заврапленного текста?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский