Мой производный от CFormView класс имеет следующую структуру:
class FormViewClass : public CFormView
{
...
FormViewClass();
void Initialize();
virtual void OnInitialUpdate();
...
};
В идеале я хотел бы вызвать функцию Initialize () в теле конструктора следующим образом:
FormViewClass::FormViewClass()
{
...
// originally I want to call Initialize function here
Initialize();
...
}
Однако, поскольку я хочу, чтобы эта функция отвечала за всю инициализацию этого класса при его создании, и она содержит инициализации объектов MFC, такие как комбинированный список, редактирование, флажки, переключатели и т. Д., Если я буду вместо этого вызывая здесь функцию Initialize (), как я и думал:
void FormViewClass::OnInitialUpdate()
{
// Should I call Initialize function instead here?
Initialize();
}
В настоящее время у меня не-MFC память и инициализация объекта в конструкторе (следовательно, вызывается вспомогательная функция Iniitalize () в конструкторе) и инициализация объекта MFC в функции-обработчике OnIniitalUpdate (). Было бы здорово услышать ваши мысли об этом, чтобы я мог правильно рефакторинг кода. Заранее спасибо.