Вниз
Скачать: 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.011 c
15-1206300829
Дмитрий С
2008-03-23 22:33
2008.05.11
Размещение Secondary DNS


2-1207841263
smartleds
2008-04-10 19:27
2008.05.11
Подскажите в чем может быть причина создаю массив меток таким


4-1188809871
Prohodil Mimo
2007-09-03 12:57
2008.05.11
Проблема с немодальными окнами.


15-1206805991
Antonio
2008-03-29 18:53
2008.05.11
делфи через div и mod


2-1207833052
Снежинка
2008-04-10 17:10
2008.05.11
Запрос




   Наверх