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


Определяемые пользователем средства

MFC поддерживает определяемые пользователем средств.Определяемое пользователем средство специальная команду, которая выполняется, пользователь-определенная внешней программы.Можно использовать процесс настройки, чтобы управлять определяемыми пользователем.Однако нельзя использовать этот процесс если объект приложения не является производным от Класс CWinAppEx.Дополнительные сведения о настройке см. в разделе Настройка для MFC.

Если включались определяемую пользователем поддержку средств, то диалоговое окно настройки автоматически содержит вкладку Сервис.На следующей иллюстрации показана страница Сервис.

Вкладка " сервис " диалогового окна " настройка "

Вкладка "Сервис" в диалоговом окне настройки

Включение определяемой пользователем поддержка средств

Включать определяемые пользователем средств в приложении, вызов CWinAppEx::EnableUserTools.Однако необходимо сначала определить несколько констант в файлах ресурсов приложения использовать в качестве параметров для данного вызова.

В редакторе ресурсов создайте думмичная команда, которая используется соответствующий идентификатор команды.В следующем примере ID_TOOLS_ENTRY используется как идентификатор команды.Это идентификатор команды отмечает местоположение в одном или нескольких меню, в которой платформа введут определяемые пользователем средств.

Необходимо установить в сторону некоторые последовательных идентификаторов в таблице строк для представления определяемые пользователем средств.Количество строк, заданные в сторону равно максимальному числу средств пользователя, которые пользователи могут выбрать.В следующем примере, называемых ID_USER_TOOL1 через ID_USER_TOOL10.

Предложения можно предложить пользователям, чтобы помочь им, чтобы выбрать каталоги и аргументы для внешних программ, которые будут вызваны в качестве средства.Для этого создайте 2 всплывающих меню в редакторе ресурсов.В следующем примере называемых IDR_MENU_ARGS и IDR_MENU_DIRS.Для каждой команды в этих меню укажите строку в таблице строк приложения.Идентификатор ресурса строки должно быть равным идентификатору команды

Можно также создать производный класс от Класс CUserTool, чтобы заменить реализация по умолчанию.Для этого передайте сведения времени выполнения для производного класса как четвертый параметр в CWinAppEx::EnableUserTools вместо RUNTIME_CLASS (Класс CUserTool).

После определения соответствующих константы, вызовите CWinAppEx::EnableUserTools чтобы включить определенные пользователем средств.

Следующий вызов метода показано, как использовать эти константы:

    EnableUserTools(ID_TOOLS_ENTRY, ID_USER_TOOL1, ID_USER_TOOL10, RUNTIME_CLASS(CUserTool), IDR_MENU_ARGS, IDR_MENU_DIRS);

В этом примере вкладку работа будет включена в диалоговом окне Настройка.Границы заменяют любые команды, соответствующий идентификатор ID_TOOLS_ENTRY команды в меню с набором, в настоящее время определенных средств пользователя, когда пользователь открывает то меню.Идентификаторы ID_USER_TOOL1 команд через ID_USER_TOOL10 зарезервированы для использования для определяемых пользователем средств.Класс Класс CUserTool обрабатывает вызовы к средствам пользователя.Вкладка диалогового окна Настройка средства расположены кнопки справа от поля аргумента и записи каталогов для доступа к меню IDR_MENU_ARGS и IDR_MENU_DIRS., когда пользователь выбирает команду от одного из этих меню границы добавляет к соответствующему текстовое поле строка, которая содержит идентификатор ресурса, равным идентификатору команды

Cc137832.collapse_all(ru-ru,VS.110).gifВключая стандартные средства

Если необходимо предопределить некоторые средства при запуске приложения, необходимо переопределить метод CFrameWnd::LoadFrame главного окна приложения.В этом методе необходимо выполнить следующие действия.

Добавить новые средства в LoadFrame

  1. Получите указатель на объект Класс CUserToolsManager путем вызова CWinAppEx::GetUserToolsManager.

  2. Для каждого инструмента, которое необходимо создать, то вызов CUserToolsManager::CreateNewTool.Этот метод возвращает указатель на объект Класс CUserTool и добавляет недавно созданный средством пользователя во внутреннюю коллекцию средств.Если предоставляющих сведения времени выполнения для производного класса Класс CUserTool как четвертый параметр CWinAppEx::EnableUserTools, то CUserToolsManager::CreateNewTool равна создать экземпляр и возвращает экземпляр данного класса.

  3. Для каждого средства, установите его текстовую подпись путем установки CUserTool::m_strLabel и задайте его команды путем вызова CUserTool::SetCommand.Реализация по умолчанию Класс CUserTool значки автоматически извлекает доступные из программы, указанной в вызове SetCommand.

См. также

Ссылки

Класс CUserTool

Класс CUserToolsManager

Класс CWinAppEx

Основные понятия

Настройка для MFC