OLEUICHANGEICONA 结构 (oledlg.h)

包含 OLE 用户界面库用于初始化“ 更改图标 ”对话框的信息,并包含用于在关闭对话框时库返回信息的空间。

语法

typedef struct tagOLEUICHANGEICONA {
  DWORD         cbStruct;
  DWORD         dwFlags;
  HWND          hWndOwner;
  LPCSTR        lpszCaption;
  LPFNOLEUIHOOK lpfnHook;
  LPARAM        lCustData;
  HINSTANCE     hInstance;
  LPCSTR        lpszTemplate;
  HRSRC         hResource;
  HGLOBAL       hMetaPict;
  CLSID         clsid;
  CHAR          szIconExe[MAX_PATH];
  int           cchIconExe;
} OLEUICHANGEICONA, *POLEUICHANGEICONA, *LPOLEUICHANGEICONA;

成员

cbStruct

结构大小(以字节为单位)。 必须在输入时填充此字段。

dwFlags

输入时,指定初始化和创建标志。 退出时,它指定用户的选择。 它可以是以下标志的组合。

含义
CIF_SHOWHELP 对话框将显示 “帮助” 按钮。
CIF_SELECTCURRENT 在输入时,在初始化时选择 “当前 ”单选按钮。 退出时,指定用户选择了“ 当前”。
CIF_SELECTDEFAULT 在输入时,在初始化时选择 “默认” 单选按钮。 退出时,指定用户选择 “默认值”。
CIF_SELECTFROMFILE 在输入时,在初始化时选择“ 从文件” 单选按钮。 退出时,指定用户选择“从文件”。
CIF_USEICONEXE 仅输入。 从 szIconExe 成员中指定的可执行文件中提取图标,而不是从 类中检索它。 这对于 OLE 嵌入或链接到非 OLE 文件非常有用。

hWndOwner

拥有对话框的窗口。 此成员不应为 NULL

lpszCaption

指向要用作对话框标题的字符串的指针。 如果 为 NULL,则库使用 “更改图标”。

lpfnHook

指向用于处理用于对话框的消息的挂钩函数的指针。 挂钩函数必须返回零,才能将它未处理的消息传递回库中的对话框过程。 挂钩函数必须返回非零值,以防止库的对话框过程处理它已处理的消息。

lCustData

库传递给 lpfnHook 成员指向的挂钩函数的应用程序定义数据。 库将指向WM_INITDIALOG消息的 lParam 参数中的 OLEUICHANGEICON 结构的指针;此指针可用于检索 lCustData 成员。

hInstance

包含 由 lpTemplateName 成员指定的对话框模板的实例。

lpszTemplate

指向以 null 结尾的字符串的指针,该字符串指定要替换库的 “更改图标 ”对话框模板的对话框模板的资源文件的名称。

hResource

自定义模板句柄。

hMetaPict

当前和最终图像。 图标的源嵌入到图元文件本身中。

clsid

仅输入。 用于获取 “默认” 图标的类。

szIconExe[MAX_PATH]

仅输入。 指向要从中提取默认图标的可执行文件的指针。 除非 dwFlags 成员中包含CIF_USEICONEXE,并且尝试从指定的 CLSID 检索类图标失败,否则将忽略此成员。

cchIconExe

仅输入。 szIconExe 中的字符数。 除非 dwFlags 成员中包含CIF_USEICONEXE,否则将忽略此成员。

注解

注意

oledlg.h 标头将 OLEUICHANGEICON 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows 10内部版本 20348
最低受支持的服务器 Windows 10内部版本 20348
标头 oledlg.h