Вниз
Скачать: CL | DM;

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

← →
savyhinst ©   (2008-04-11 14:17) [0]

Здраствуйте.
Подскажите пожалуйста, как вызвать диалог выбора папки???
Спасибо за внимание.


← →
Palladin ©   (2008-04-11 14:17) [1]

SelectDirectory


← →
Anatoly Podgoretsky ©   (2008-04-11 14:21) [2]

> savyhinst  (11.04.2008 14:17:00)  [0]

SelectDirectory


← →
Семеныч   (2008-04-11 14:31) [3]

И я тоже хочу!

> savyhinst ©   (11.04.08 14:17)  

SelectDirecory


← →
{RASkov} ©   (2008-04-11 14:35) [4]

> [3] Семеныч   (11.04.08 14:31)

две-то есть(uses FileCtrl), а третья откуда? ;)


← →
clickmaker ©   (2008-04-11 14:36) [5]

это не спортивно
SHBrowseForFolder )


← →
Johnmen ©   (2008-04-11 14:37) [6]


> Семеныч   (11.04.08 14:31) [3]
> И я тоже хочу!

Хотел, но не смог :))


← →
Anatoly Podgoretsky ©   (2008-04-11 14:53) [7]

> Семеныч  (11.04.2008 14:31:03)  [3]

Тебе не досталось, мы все раздали.


← →
Семеныч   (2008-04-11 15:10) [8]

Вот так всегда. Злые вы, уйду я от вас... к Коле Быкову...


← →
webpauk ©   (2008-04-11 15:13) [9]

unit BrowseDialog;

interface

uses
 Windows, Messages, SysUtils, Classes, Controls, ShlObj, Forms;

type
 TBrowseDialog = class(TComponent)
 private
   fFlagOnlyDir: Boolean;
   fFlagEditBox: Boolean;
   fFlagStatusText: Boolean;
   fText: String;
   fDir: String;
 public
   function Execute: Boolean;
 published
   property OnlyDir: Boolean read fFlagOnlyDir write fFlagOnlyDir;
   property EditBox: Boolean read fFlagEditBox write fFlagEditBox;
   property StatusText: Boolean read fFlagStatusText write fFlagStatusText;
   property Title: String read fText write fText;
   property Dir: String read fDir;
 end;

procedure Register;

implementation

procedure Register;
begin
 RegisterComponents("Dialogs", [TBrowseDialog]);
end;

function TBrowseDialog.Execute: Boolean;
var
 lpItemID: PItemIDList;
 path: array[0..Max_path] of Char;
 BrowseInfo: TBrowseInfo;
begin
 Result:=False;
 FillChar(BrowseInfo, SizeOf(TBrowseInfo), #0);
 SHGetSpecialFolderLocation(TApplication(Owner).Handle, csidl_desktop, BrowseInfo.pidlRoot);
 with BrowseInfo do
 begin
   hwndOwner:=TApplication(Owner).Handle;
   lpszTitle:=PChar(fText);
   if fFlagOnlyDir then ulFlags:=ulFlags+BIF_RETURNONLYFSDIRS;
   if fFlagEditBox then ulFlags:=ulFlags+BIF_EDITBOX;
   if fFlagStatusText then ulFlags:=ulFlags+BIF_STATUSTEXT;
 end;
 lpItemID := SHBrowseForFolder(BrowseInfo);
 if lpItemId<>nil then
 begin
   SHGetPathFromIDList(lpItemID, Path);
   fDir:=path;
   Result:=True;
   GlobalFreePtr(lpItemID);
 end;
end;

end.


← →
Германн ©   (2008-04-11 17:18) [10]


> Anatoly Podgoretsky ©   (11.04.08 14:53) [7]
>
> > Семеныч  (11.04.2008 14:31:03)  [3]
>
> Тебе не досталось, мы все раздали.
>

Врешь. Не всё. В загашнике ещё TDirectoryListBox валяется.


← →
clickmaker ©   (2008-04-11 17:23) [11]

а также ShellTreeView и DirectoryOutline



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.01 c
15-1206401988
Поп Гапон
2008-03-25 02:39
2008.05.11
Перегнать строку в Unicode, зная ее LangID


15-1206644556
Andy BitOff
2008-03-27 22:02
2008.05.11
Алгоритмы искусственного интеллекта


15-1206518179
asdf2
2008-03-26 10:56
2008.05.11
Как сравнить строки на "похожесть"?


15-1206735083
Игорь Шевченко
2008-03-28 23:11
2008.05.11
Если ли софт, позволяющий проигрывать MP3 на замедленной скорости


15-1206828712
Riply
2008-03-30 01:11
2008.05.11
Vista и ограничения




   Наверх