共用方式為


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"));

繼承階層架構

CObject

CUserTool

需求

標頭: 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 所提供的圖示。

另請參閱

階層架構圖表
類別
CWinAppEx 類別
CUserToolsManager 類別