CUserTool 类

用户工具是运行外部应用程序的菜单项。 “自定义”对话框(CMFCToolBarsCustomizeDialog 类)的“工具”选项卡允许用户添加用户工具,并为每个用户工具指定名称、命令、自变量和初始目录

语法

class CUserTool : public CObject

成员

公共方法

名称 描述
CUserTool::CopyIconToClipboard
CUserTool::DrawToolIcon 在指定的矩形中绘制用户工具图标。
CUserTool::GetCommand 返回一个字符串,其中包含与用户工具关联的命令文本。
CUserTool::GetCommandId 返回用户工具菜单项的命令 ID。
CUserTool::Invoke 执行与用户工具关联的命令。
CUserTool::Serialize 从存档读取该对象或将该对象写入存档。 (重写 CObject::Serialize。)
CUserTool::SetCommand 设置与用户工具关联的命令。
CUserTool::SetToolIcon 从与该工具关联的应用程序加载用户工具的图标。

受保护方法

名称 描述
CUserTool::LoadDefaultIcon 加载用户工具的默认图标。

数据成员

名称 描述
CUserTool::m_strArguments 用户工具的命令行参数。
CUserTool::m_strInitialDirectory 用户工具的初始目录。
CUserTool::m_strLabel 工具的菜单项中显示的工具名称。

备注

有关如何在应用程序中启用用户工具的详细信息,请参阅 CUserToolsManager 类

示例

以下示例演示如何通过 CUserToolsManager 对象创建工具、设置 m_strLabel 成员变量以及设置用户工具运行的应用程序。 此代码片段是 Visual Studio 演示示例的一部分。

// CUserToolsManager* pUserToolsManager
CUserTool* pTool1 = pUserToolsManager->CreateNewTool();
pTool1->m_strLabel = _T("&Notepad");
pTool1->SetCommand(_T("notepad.exe"));

继承层次结构

CObject

CUserTool

要求

标头:afxusertool.h

CUserTool::CopyIconToClipboard

有关详细信息,请参阅所安装的 Visual Studio 的 C\atlmfc\src\mfc 文件夹中的源代码。

BOOL CopyIconToClipboard();

返回值

备注

CUserTool::DrawToolIcon

在指定矩形的中心处绘制用户工具图标。

void DrawToolIcon(
    CDC* pDC,
    const CRect& rectImage);

参数

pDC
[in] 指向设备上下文的指针。

rectImage
[in] 指定显示图标的区域的坐标。

CUserTool::GetCommand

返回一个字符串,其中包含与用户工具关联的命令文本。

const CString& GetCommand() const;

返回值

CString 对象的引用,其中包含与用户工具关联的命令文本。

CUserTool::GetCommandId

返回用户工具的命令 ID。

UINT GetCommandId() const;

返回值

此用户工具的命令 ID。

CUserTool::Invoke

执行与用户工具关联的命令。

virtual BOOL Invoke();

返回值

如果命令已成功执行,则返回非零值;否则返回 0。

注解

调用 ShellExecute 以执行与用户工具关联的命令。 如果命令为空或 ShellExecute 失败,该函数将失败。

CUserTool::LoadDefaultIcon

加载用户工具的默认图标。

virtual HICON LoadDefaultIcon();

返回值

已加载图标的句柄 (HICON);如果无法加载默认图标,则为 NULL。

注解

当框架无法从该工具的可执行文件加载用户定义的工具的图标时,该框架将调用此方法。

重写此方法可提供自己的默认工具图标。

CUserTool::m_strArguments

用户工具的命令行参数。

CString m_strArguments;

注解

调用 CUserTool::Invoke 或当用户单击与此工具关联的命令时,此字符串将传递给该工具。

CUserTool::m_strInitialDirectory

指定用户工具的初始目录。

CString m_strInitialDirectory;

备注

调用 CUserTool::Invoke 或当用户单击与此工具关联的命令时,此变量指定工具执行所在的初始目录。

CUserTool::m_strLabel

工具的菜单项中显示的标签。

CString m_strLabel;

CUserTool::Serialize

有关详细信息,请参阅所安装的 Visual Studio 的 C\atlmfc\src\mfc 文件夹中的源代码。

virtual void Serialize(CArchive& ar);

参数

[in] ar

注解

CUserTool::SetCommand

设置用户工具运行的应用程序。

void SetCommand(LPCTSTR lpszCmd);

参数

lpszCmd
[in] 指定要与用户工具关联的新应用程序。

备注

调用此方法以设置用户工具运行的新应用程序。 该方法会销毁旧图标,并从给定的应用程序加载新图标。 如果无法从应用程序加载图标,它将通过调用 CUserTool::LoadDefaultIcon 来加载用户工具的默认图标。

CUserTool::SetToolIcon

从该工具使用的应用程序加载用户工具的图标。

virtual HICON SetToolIcon();

返回值

已加载图标的句柄。

备注

调用此方法以加载要在菜单项上显示的图标。 此方法在工具使用的可执行文件中搜索图标。 如果没有默认图标,则改用 CUserTool::LoadDefaultIcon 提供的图标。

另请参阅

层次结构图

CWinAppEx 类
CUserToolsManager 类