Как создать и использовать унаследованные объекты CView внутри фрейма в MFC? - PullRequest
0 голосов
/ 05 октября 2011

Я создал приложение MFC SDI без Document / View с помощью мастера в VS2008. Я хочу заменить созданный по умолчанию дочерний элемент управления CChildView на разделитель с двумя CEditViews. Создание работает, но происходит сбой приложения при вводе любого символа в представление редактирования.

  1. Почему происходит сбой?
  2. Как исправить ошибку?
  3. Как получить доступ к экземплярам созданных представлений?

MainFrame.h:

class MainFrame : public CFrameWnd
{
    public:
        virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
    private:
        CSplitterWnd splitter;
    // ...
};

MainFrame.cpp

BOOL MainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
    splitter.CreateStatic(this, 1, 2);
    splitter.CreateView(0, 0, RUNTIME_CLASS(CEditView), CSize(0, 0), pContext);
    splitter.CreateView(0, 1, RUNTIME_CLASS(CEditView), CSize(0, 0), pContext);

    return TRUE;
}

1 Ответ

0 голосов
/ 05 октября 2011

Эта статья выглядит как хороший пример замены представления SDI по умолчанию: http://simplesamples.info/MFC/WithoutTemplates.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...