Преобразуйте простое приложение MFC CView / CDocument / CSingleDocTemplate в элемент управления ActiveX - PullRequest
2 голосов
/ 17 марта 2011

У меня есть довольно простое приложение MFC, которое просто определяет свои собственные подклассы CDocument, CView и CFrameWnd и использует их через CSingleDocTemplate для отображения содержимого документа только для чтения в видедерево на виду.Все это очень стандартный MFC MVC.

Теперь мне нужно преобразовать это приложение, чтобы оно работало в качестве элемента управления ActiveX, чтобы затем можно было встроить его в более крупное приложение.?

Можно ли использовать подкласс COleControl вместо подкласса CFrameWnd в CSingleDocTemplate?Или мне нужно поместить подкласс CFrameWnd в COleControl что-нибудь как?

Если это не удастся, как я могу использовать мои существующие подклассы CDocument\CView в элементе управления ActiveX?

1 Ответ

4 голосов
/ 24 марта 2011

Отвечая на мой собственный вопрос : я нашел довольно много ссылок на старую статью об этом, которая раньше была на http://www.microsoft.com/mind/0497/mfc.asp, но давно исчезла. (

К счастью, Wayback Machine все еще имеет полную копию:

«Разработка компонентов ActiveX с помощью модели документа / представления MFC», Стив Циммерман, Microsoft Interactive Developer (апрель 1997 г.)

Стив представляет исходный код для двух новых классов:

CActiveXDocTemplate: подкласс CSingleDocTemplate
CActiveXDocControl: подкласс COleControl

, что позволило мне использовать мои существующие CView и CDocument подклассы в элементе управления ActiveX.

(Спасибо Стиву, где бы ты ни был сейчас)

...