Здравствуйте, Андрей, Вы писали:
А>лучше не использовать MFC-шную архитектуру Doc/View — уж больно монолитное приложение получается
А>это я тебе по собственному печальному опыту говорю — мы в свое время на нее завязались (это было давно и опыта у меня тогда было немного), теперь вот мучаемся
А>лучше какой-то велосипед с MVC изобрести (или готовую реализацию взять)
К сожалению уже довольно много написано, да и Ribbon успел понравиться,
поэтому и интересуюсь в рамках Doc\View(.
1. Нельзя ли, как-нибудь, сабклассить:
SetWindowLong( ...GWL_WNDPROC...)
только в MFCшной обёртке?
2.Сделать что-то на подобии этого, в основном модуле:
CFormView *lpNewChild = reinterpret_cast<CFormView *>( Plugin->GetInstance() );
а в плагине, что-то на подобии:
class CPluginFormView: : public CFormView
{
...
}
CPluginFormView g_PluginFormView;
...
extern "C" __declspec( dllexport ) void *GetInstance()
{
return &g_PluginFormView;
}
?
Ведь по сути мне надо подменить vtbl родительского класса — потомком, только не уверен что этого достаточно.