【delphi开源代码栏目提醒】:网学会员delphi开源代码为您提供Demo1Frm.pas参考,解决您在Demo1Frm.pas学习中工作中的难题,参考学习。
unit Demo1Frm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
uses
{SHBrowseForFolder的Delphi接口在ShlObj单元中定义}
ShlObj;
function GetFolder(aCaption :string): string;
var
{pBrowse用来记录SHBrowseForFolder的返回值}
pBrowse: PItemIDList;
hBrowseInfo: TBROWSEINFO;
{hPChar用来获得完整的路径}
hPChar: PChar;
begin
{Max_Path定义在Windows单元中,表示最大路径长度}
hPChar := StrAlloc(max_path);
with hBrowseInfo do
begin
hwndOwner := Getactivewindow;
pidlRoot := nil;
pszDisplayName := hPChar;
lpszTitle := pChar(aCaption);
ulFlags := BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN;
lpfn := nil;
lParam := 0;
end;
pBrowse := SHBrowseForFolder(hBrowseInfo);
if (pBrowse <> nil) then
{根据pBrowse获得完整路径,hPChar获得返回值}
if (SHGetPathFromIDList(pBrowse, hPChar)) then
Result:= hPChar;
{和前面的StrAlloc对应,释放空间)}
StrDispose(hPChar);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:=GetFolder('Delphi实现文件夹管理树方法一演示:');
end;
end.
上一篇:
frmFile_toFile.frm
下一篇:
心力衰竭的中医证素及常见证型