标签:style io 使用 ar for 文件 sp cti log
演示如何调用系统对话框 (演示语言--delphi):
uses
 ShlObj, Activex;
procedure TForm1.Button2Click(Sender: TObject);
var
  BrowseInfo: TBrowseInfo;
  ItemIDList: PItemIDList;
  ComputerName: array[0..MAX_PATH] of Char;
  Title: string;
  WindowList: Pointer;
  ShellMalloc: IMalloc;
begin
  if Failed(SHGetSpecialFolderLocation(Application.Handle, CSIDL_NETWORK, ItemIDList)) then
    raise Exception.Create(‘Unable open browse computer dialog‘);
 try
    FillChar(BrowseInfo, SizeOf(BrowseInfo), 0);
    BrowseInfo.hwndOwner := Self.Handle;
    BrowseInfo.pidlRoot := ItemIDList;
    BrowseInfo.pszDisplayName := ComputerName;
    Title := ‘提示标题‘;
    BrowseInfo.lpszTitle := PChar(Pointer(Title));
    BrowseInfo.ulFlags := BIF_NEWDIALOGSTYLE or BIF_SHAREABLE;
    WindowList := DisableTaskWindows(0);
    try
      SHBrowseForFolder(BrowseInfo);
    finally
      EnableTaskWindows(WindowList);
    end;
    //if Result then CompName := ComputerName;
  finally
    if Succeeded(SHGetMalloc(ShellMalloc)) then
      ShellMalloc.Free(ItemIDList);
  end;
end;
其中 BrowseInfo.ulFlags 参数可选值和含义如下
BIF_BROWSEFORCOMPUTER 
只有当用户 
选择“我的电脑”时“确定”按钮才有效,计算机可以是网络的 
BIF_BROWSEFORPRINTER 
当然是只能选择打印机 
允许最终用户选择一特定打印机。当传递该常量时,对话框有如下行为: 
“网络邻居”文件夹在树形控件中被预选。 
仅那些包括至少一台打印机的计算机在网络邻居文件夹中显示。 
仅当选中树形控件中的一个有效打印机时,OK按钮被激活。 
即使BIF_EDITBOX指定时也不显示编辑框。 
BIF_BROWSEINCLUDEFILES 
Version   4.71.   
同时显示文件 
BIF_BROWSEINCLUDEURLS 
Version   5.0.   可以显示快捷方式(URLs). 
BIF_USENEWUI   和   BIF_BROWSEINCLUDEFILES   必须同时被设定,如果没有同时选择这三个标志,那么浏览对话框将拒绝   URLs.   
BIF_DONTGOBELOWDOMAIN 
域层下的网络文件夹不在树形控件中显示 
BIF_EDITBOX 
显示一个编辑框,允许用户输入一文件夹名,在编辑框上部显示szEditBoxStaticText中的文本(除非指定BIF_BROWSEFORCOMPUTER   或BIF_BROWSEFORPRINTER)。当最终用户单击OK,SelectDirEx检查是否输入了一个有效文件夹名。如果不是(例如,如果输入了包含无效字符的名称),显示一个错误消息并且对话框不被消除 
BIF_NEWDIALOGSTYLE 
Version   5.0.   使用新的用户界面.   
提供一个大的可调的窗体 
其实这个对话框和资源管理器操作差不多了,有右键菜单,下边多了一个新建文件夹按钮 
BIF_NONEWFOLDERBUTTON 
Version   6.0.   不显示”新建文件夹“按钮. 
BIF_NOTRANSLATETARGETS 
Version   6.0.   
但用户选择了一个快捷方式,将返回它的PIDL 
BIF_RETURNFSANCESTORS 
如果一个文件系统祖先以外的任何对象被选中时OK按钮被禁用 
BIF_RETURNONLYFSDIRS 
非文件系统某部分的一个文件夹被选中OK按钮被禁用。. 
BIF_SHAREABLE 
显示远程共享资源,BIF_NEWDIALOGSTYLE   必须被指定 
BIF_STATUSTEXT 
在树形控件上部作为态文本显示szTreeControlStaticText 
BIF_UAHINT 
选定   BIF_NEWDIALOGSTYLE的情况下,增加一个注释. 
BIF_USENEWUI 
=BIF_EDITBOX   |   BIF_NEWDIALOGSTYLE 
BIF_VALIDATE 
如果用户在textbox中输入文件夹无效会发送BFFM_VALIDATEFAILED   消息 
标签:style io 使用 ar for 文件 sp cti log
原文地址:http://www.cnblogs.com/spiritofcloud/p/3982676.html