CUserTool 類別
使用者工具是執行外部應用程式的功能表項目。 [自定義] 對話方塊的 [工具] 索引標籤(CMFCToolBarsCustomizeDialog 類別)可讓使用者新增使用者工具,並指定每個使用者工具的名稱、命令、自變數和初始目錄。
語法
class CUserTool : public CObject
成員
公用方法
名稱 | 描述 |
---|---|
CUserTool::CopyIconToClipboard | |
CUserTool::D rawToolIcon | 在指定的矩形中繪製使用者工具圖示。 |
CUserTool::GetCommand | 傳回字串,其中包含與使用者工具相關聯的命令文字。 |
CUserTool::GetCommandId | 傳回使用者工具功能表項的命令標識碼。 |
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 安裝位置下之 VC\atlmfc\src\mfc 資料夾中的原始程式碼。
BOOL CopyIconToClipboard();
傳回值
備註
CUserTool::D rawToolIcon
在指定矩形的中心繪製使用者工具圖示。
void DrawToolIcon(
CDC* pDC,
const CRect& rectImage);
參數
pDC
[in]裝置內容的指標。
rectImage
[in]指定要顯示圖示的區域座標。
CUserTool::GetCommand
傳回字串,其中包含與使用者工具相關聯的命令文字。
const CString& GetCommand() const;
傳回值
對象的參考 CString
,其中包含與使用者工具相關聯的命令文字。
CUserTool::GetCommandId
傳回使用者工具的命令標識碼。
UINT GetCommandId() const;
傳回值
這個使用者工具的命令標識碼。
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 安裝位置下之 VC\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 所提供的圖示。