Для общего представления прочитайте "Шаг 161 - Что такое Microsoft Agent", "Шаг 162 - Как создают агентов", "Шаг 138 - Использование Microsoft Agent". Создаем приложение на базе диалогового окна и из галереи компонент добавляем элемент управления.
Вас просят о создании всяких классов. Создавайте все. После этого агента нужно поместить на диалог, а заодно и создать кнопку, по которой он будет появляться.
Классы лучше спрятать в отдельную папочку.
Связываем кнопку с событием, а в описание класса диалога добавляем необходимые заголовочные файлы.
// AgentDlg.h : header file // //{{AFX_INCLUDES() #include "agentctlex.h" //}}AFX_INCLUDES #include "AgentCtlCharacters.h" #include "AgentCtlCharacterEx.h" #include "AgentCtlRequest.h"
Теперь нам нужно объявить дополнительные классы:
class CAgentDlg : public CDialog { // Construction public: CAgentDlg(CWnd* pParent = NULL); // standard constructor CAgentCtlCharacters cAgChr; CAgentCtlRequest cr; CAgentCtlCharacterEx crEx; // Dialog Data //{{AFX_DATA(CAgentDlg) enum { IDD = IDD_AGENT_DIALOG };
Самый главный вопрос, как и что будет происходить. Смотрим рисунок:
Мы из основного класса извлекаем класс изображения. В него зачитываем изображение и получаем новый класс. Из него же получаем класс расширенного изображения, в который передаем идентификатор. Дальше отображаем. Вот так это выглядит в коде.
void CAgentDlg::OnButton1() { LPWSTR name = L"merlin.ACS"; VARIANT vars; vars.vt = VT_BSTR; vars.bstrVal = SysAllocString(name); cAgChr=m_Agent.GetCharacters(); cr=cAgChr.Load("CharID",vars); crEx=cAgChr.Character("CharID"); VARIANT var; var.vt = VT_I2; var.iVal = 0; crEx.Show(var); }
А вот результат нажатия на кнопку: