Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > CFormView помогите разобраться?


Автор: Aids 30.8.2009, 09:37
Хочу использовать класс CFormView для отображения контролов на CFameWnd.
Делаю следующее создаю клас на основе CFameWnd. В обработчике пишу следующее
Цитата



BOOL CTest3App::InitInstance()
{
    CMainFrame *a=new CMainFrame();
    a->Create(0,"Hello");
    a->ShowWindow(SW_SHOW);
    a->UpdateData();
    m_pMainWnd=a;
    CTest3View *b=new CTest3View();
    return TRUE;
}

class CTest3View : public CFormView
{
public: // create from serialization only
    CTest3View();
    DECLARE_DYNCREATE(CTest3View)

public:
    enum{ IDD = IDD_TEST3_FORM };
};

но диалог с конролами не появляется. Подскажите что сделал не так?

Автор: Aids 30.8.2009, 12:40
ну что же? никто не может подсказать?

Автор: Earnest 31.8.2009, 07:18
Цитата(Aids @  30.8.2009,  10:37 Найти цитируемый пост)
но диалог с конролами не появляется

Ты его нигде не создаешь, вот и не появляется. Ты создаешь только объект класса, но это еще не окно.
Начни со стандартных приложений - например, SDI, разберись в основах, а там уже будешь химичить. А пока рано.
В SDI приложении (в визарде создания) выбери наследование вью от CFormView, и будет тебе форма. И не говори, что документ тебе не нужен. Во-первых данные где-то нужно хранить, а во-вторых - можно сделать фиктивный документ. Но зато сразу получишь работающий шаблон.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)