Класс 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
Дополнительные сведения см. в исходном коде, расположенном в папке 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