Поделиться через


Класс 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

Дополнительные сведения см. в исходном коде, расположенном в папке VC\atlmfc\src\mfc установки Visual Studio.

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

Дополнительные сведения см. в исходном коде, расположенном в папке VC\atlmfc\src\mfc установки Visual Studio.

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