Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.11;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.016 c
2-1207832097
Polar
2008-04-10 16:54
2008.05.11
Направление текста в QRLabel


2-1207834516
bagos
2008-04-10 17:35
2008.05.11
выход из зацикливания


2-1208076136
TRSteep
2008-04-13 12:42
2008.05.11
Динамический массив


2-1207850349
vodvorezlaya
2008-04-10 21:59
2008.05.11
Смена атрибутов только чтение у папки


2-1207738265
Fr1K
2008-04-09 14:51
2008.05.11
Событие по нажатию