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"));
继承层次结构
要求
标头: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 提供的图标。