아래 소스는 '팁모아'란의 심동훈(SHIMDH@hitel.net)님께서 올리신
3가지 Select Directory Dialog 입니다.
그런데 루트 폴더는 선택 할 수 있지만
원하는 폴더를 미리 선택해 놓을 수 없어요 (제 실력으론...도무지)
창을 뛰울때마다 마우스로 처음부터 다시 선택할려니 정말 귀찮네요.
좋은 방법이 있으면 좀 알려 주십시요...
//-----------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
Dir : String;
begin
SelectDirectory(Dir,[],0);
ShowMessage(Dir);
end;
//============================================================
procedure TForm1.Button1Click(Sender: TObject);
var
BrowseInfo : TBrowseInfo;
PIDL : PItemIDList;
DisplayName : array[0..MAX_PATH] of Char;
begin
FillChar(BrowseInfo,SizeOf(BrowseInfo),#0);
BrowseInfo.hwndOwner := Handle;
BrowseInfo.pszDisplayName := @DisplayName[0];
BrowseInfo.lpszTitle := 'Select Directory';
BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
PIDL := SHBrowseForFolder(BrowseInfo);
if Assigned(PIDL) then
if SHGetPathFromIDList(PIDL, DisplayName) then
ShowMessage(DisplayName);
end;
//======================================================================
procedure TForm1.Button1Click(Sender: TObject);
var
BrowseInfo : TBrowseInfo;
PIDL : PItemIDList;
DisplayName : array[0..MAX_PATH] of Char;
begin
FillChar(BrowseInfo,SizeOf(BrowseInfo),#0);
BrowseInfo.hwndOwner := Handle;
BrowseInfo.pszDisplayName := @DisplayName[0];
BrowseInfo.lpszTitle := 'Select Directory';
BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS or BIF_EDITBOX or $40;
CoInitialize(NIL);
PIDL := SHBrowseForFolder(BrowseInfo);
if Assigned(PIDL) then
if SHGetPathFromIDList(PIDL, DisplayName) then
ShowMessage(DisplayName);
end;
//==========================================================================
강좌란에 답변드렸습니다.
^^ 항상 즐코하세요...
김광수 wrote:
>
> 아래 소스는 '팁모아'란의 심동훈(SHIMDH@hitel.net)님께서 올리신
> 3가지 Select Directory Dialog 입니다.
>
> 그런데 루트 폴더는 선택 할 수 있지만
> 원하는 폴더를 미리 선택해 놓을 수 없어요 (제 실력으론...도무지)
> 창을 뛰울때마다 마우스로 처음부터 다시 선택할려니 정말 귀찮네요.
>
> 좋은 방법이 있으면 좀 알려 주십시요...
>
>
> //-----------------------------------------------------------------------
> procedure TForm1.Button1Click(Sender: TObject);
> var
> Dir : String;
> begin
> SelectDirectory(Dir,[],0);
> ShowMessage(Dir);
> end;
>
> //============================================================
>
> procedure TForm1.Button1Click(Sender: TObject);
> var
> BrowseInfo : TBrowseInfo;
> PIDL : PItemIDList;
> DisplayName : array[0..MAX_PATH] of Char;
> begin
> FillChar(BrowseInfo,SizeOf(BrowseInfo),#0);
> BrowseInfo.hwndOwner := Handle;
> BrowseInfo.pszDisplayName := @DisplayName[0];
> BrowseInfo.lpszTitle := 'Select Directory';
> BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
> PIDL := SHBrowseForFolder(BrowseInfo);
> if Assigned(PIDL) then
> if SHGetPathFromIDList(PIDL, DisplayName) then
> ShowMessage(DisplayName);
> end;
>
> //======================================================================
>
> procedure TForm1.Button1Click(Sender: TObject);
> var
> BrowseInfo : TBrowseInfo;
> PIDL : PItemIDList;
> DisplayName : array[0..MAX_PATH] of Char;
> begin
> FillChar(BrowseInfo,SizeOf(BrowseInfo),#0);
> BrowseInfo.hwndOwner := Handle;
> BrowseInfo.pszDisplayName := @DisplayName[0];
> BrowseInfo.lpszTitle := 'Select Directory';
>
> BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS or BIF_EDITBOX or $40;
>
>
> CoInitialize(NIL);
>
> PIDL := SHBrowseForFolder(BrowseInfo);
> if Assigned(PIDL) then
> if SHGetPathFromIDList(PIDL, DisplayName) then
> ShowMessage(DisplayName);
> end;
>
> //==========================================================================
>
>