Microsoft Visual C++ и MFC. Программирование для Win95 и WinNT

         

Класс CMultiView


Все изменения в программном коде приложения Multi, выполненные при вставке в него компонента Pop-up Menu, происходят только в классе окна, к которому добавляется контекстное меню. Компонент Pop-up Menu добавляет макрокоманду ON_WM_CONTEXTMENU к таблице сообщений класса CMultiView, а также встсавляет в класс CMultiView методы OnContextMenu и PreTranslateMessage.

В определении класса CMultiView добавляется только метод-обработчик OnContextMenu. Все остальные элементы класса не изменяются. После добавления к проекту Pop-up Menu класс CMultiView, определенный в файле MultiView.h будет выглядеть следующим образом:

class CMultiView : public CView

{

protected:

   // CG: Метод OnContextMenu добавлен компонентом Pop-up Menu

   afx_msg void OnContextMenu(CWnd*, CPoint point);

   CMultiView();

   DECLARE_DYNCREATE(CMultiView)

// Attributes

public:

   virtual BOOL PreTranslateMessage(MSG* pMsg);

   CMultiDoc* GetDocument();

// Operations

public:

// Overrides

   //{{AFX_VIRTUAL(CMultiView)

public:

   virtual void OnDraw(CDC* pDC);

   virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

protected:

   virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);

   virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);

   virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);

   //}}AFX_VIRTUAL

// Implementation

public:

   virtual ~CMultiView();

#ifdef _DEBUG

   virtual void AssertValid() const;

   virtual void Dump(CDumpContext& dc) const;

#endif

protected:

   //{{AFX_MSG(CMultiView)

   //}}AFX_MSG

   DECLARE_MESSAGE_MAP()

};

Остальные классы приложения остаются без изменения.



Содержание раздела