![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вызвать диалог выбора папки??? [D7, XP]
savyhinst © (2008-04-11 14:17:00)Здраствуйте.
Подскажите пожалуйста, как вызвать диалог выбора папки???
Спасибо за внимание.
clickmaker (2008-04-11 17:23:00) [1]а также ShellTreeView и DirectoryOutline
Германн (2008-04-11 17:18:00) [2]
> Anatoly Podgoretsky © (11.04.08 14:53) [7]
>
> > Семеныч (11.04.2008 14:31:03) [3]
>
> Тебе не досталось, мы все раздали.
>
Врешь. Не всё. В загашнике ещё TDirectoryListBox валяется.
webpauk (2008-04-11 15:13:00) [3]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 15:10:00) [4]Вот так всегда. Злые вы, уйду я от вас... к Коле Быкову...
Anatoly Podgoretsky (2008-04-11 14:53:00) [5]> Семеныч (11.04.2008 14:31:03) [3]
Тебе не досталось, мы все раздали.
Johnmen (2008-04-11 14:37:00) [6]
> Семеныч (11.04.08 14:31) [3]
> И я тоже хочу!
Хотел, но не смог :))
clickmaker (2008-04-11 14:36:00) [7]это не спортивно
SHBrowseForFolder )
{RASkov} (2008-04-11 14:35:00) [8]> [3] Семеныч (11.04.08 14:31)
две-то есть(uses FileCtrl), а третья откуда? ;)
Семеныч (2008-04-11 14:31:00) [9]И я тоже хочу!
> savyhinst © (11.04.08 14:17)
SelectDirecory
Anatoly Podgoretsky (2008-04-11 14:21:00) [10]> savyhinst (11.04.2008 14:17:00) [0]
SelectDirectory
Palladin (2008-04-11 14:17:00) [11]SelectDirectory