Delphi中SHBrowserForFolder怎么设置初始目录? 网上基本都是VC的代码,又说要回调,我(新手+菜鸟一个)都晕掉了,不会改写~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在TBrowseInfo结构的lParam := LongInt(PChar('初始目录')));然后在回调中function BrowseCallbackProc(hwnd: HWND; uMsg: UINT; lParam: LPARAM; lpData: LPARAM): Integer; stdcall;begin Case uMsg of BFFM_INITIALIZED: SendMessage(hwnd, BFFM_SETSELECTION, 1, lpData); .... .... end; Result := 0end var TitleName : string; lpItemID : PItemIDList; BrowseInfo : TBrowseInfo; DisplayName : array[0..MAX_PATH] of char; TempPath : array[0..MAX_PATH] of char; function BrowseCallbackProc(hwnd: HWND; uMsg: UINT; lParam: LPARAM; lpData: LPARAM): Integer; stdcall; begin Result := 0; case uMsg of BFFM_INITIALIZED://初始化時發送選擇文件夾消息 SendMessage(hwnd,BFFM_SETSELECTION,1,lpData); end; end;begin FillChar(BrowseInfo, sizeof(TBrowseInfo), #0); BrowseInfo.hwndOwner := Self.Handle; BrowseInfo.pszDisplayName := @DisplayName; TitleName := 'Please specify a directory'; BrowseInfo.lpszTitle := PChar(TitleName); BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;//只顯示路徑 BrowseInfo.lParam := LongInt(PChar('C:\'));//指定默認路徑 BrowseInfo.lpfn := @BrowseCallbackProc;//設定回調 lpItemID := SHBrowseForFolder(BrowseInfo); if lpItemId <> nil then begin SHGetPathFromIDList(lpItemID, TempPath);//返回選擇的路徑 GlobalFreePtr(lpItemID);//釋放空間 end;end; delphi与oracle quickreport 在开发状态时可以正常预览,但编译后就出错, ADO的Locate与Lookup方法有什么区别啊? 组件中怎么取得包含该组件的父窗体的句柄? 高手来看:声音文件组合问题 如何在Memo或listBox中,划分 列,使其像DbGrid的样子,急急急急急急急急急 dephi的table控件连接一张表时,报表不存在! 哪儿有Delphi(pascal的运行环境)下载??? 100!求教问题。在线等待 我已无计可施,在win2000下com应用程序无法跟踪 ImgBtn 控件问题 在目标进程内执行DLL里的函数
lParam := LongInt(PChar('初始目录')));然后在回调中
function BrowseCallbackProc(hwnd: HWND; uMsg: UINT; lParam: LPARAM; lpData: LPARAM): Integer; stdcall;
begin
Case uMsg of
BFFM_INITIALIZED:
SendMessage(hwnd, BFFM_SETSELECTION, 1, lpData);
....
....
end;
Result := 0
end
var
TitleName : string;
lpItemID : PItemIDList;
BrowseInfo : TBrowseInfo;
DisplayName : array[0..MAX_PATH] of char;
TempPath : array[0..MAX_PATH] of char;
function BrowseCallbackProc(hwnd: HWND; uMsg: UINT; lParam: LPARAM; lpData: LPARAM): Integer; stdcall;
begin
Result := 0;
case uMsg of
BFFM_INITIALIZED://初始化時發送選擇文件夾消息
SendMessage(hwnd,BFFM_SETSELECTION,1,lpData);
end;
end;
begin
FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
BrowseInfo.hwndOwner := Self.Handle;
BrowseInfo.pszDisplayName := @DisplayName;
TitleName := 'Please specify a directory';
BrowseInfo.lpszTitle := PChar(TitleName);
BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;//只顯示路徑
BrowseInfo.lParam := LongInt(PChar('C:\'));//指定默認路徑
BrowseInfo.lpfn := @BrowseCallbackProc;//設定回調
lpItemID := SHBrowseForFolder(BrowseInfo);
if lpItemId <> nil then
begin
SHGetPathFromIDList(lpItemID, TempPath);//返回選擇的路徑
GlobalFreePtr(lpItemID);//釋放空間
end;
end;