Pergunta

Então, eu tenho uma MFC com aplicativo, que é, principalmente, derivados da CDialog, com alguns controles, etc.

Por determinadas razões, ele precisa estar hospedado em outro aplicativo, usando uma classe de contêiner, que é baseado no CView.

Então, tem que haver alguma forma...de sediar a coisa, feita com CDialog, dentro de uma classe de contêiner, que espera a coisa como um CView.

A classe de contêiner está fechado para mim.Ele vai esperar um CView, mas eu posso modificar o diálogo com base no aplicativo.

Existe uma maneira fácil de migrar a partir de CDialog base para CView com base, e o que eu preciso para olhar, por favor.Eu não sou muito habilidoso com o MFC, e a pergunta pode parecer vago, mas é o que eu tenho.

Qualquer ajuda seria apreciada...Obrigado.

Foi útil?

Solução

Você pode usar um CFormView.Que é um modo de exibição de apoio de diálogo modelos de recursos.

O código problemático é o carregamento e comprometer os dados para e a partir de CFormView.Pontos de vista são normalmente controladas por um CDocument, que chama UpdateAllViews com algumas dicas.

Sua caixa de diálogo funções para OnOK, OnCancel e OnInitDalog deve ser alterado para se ajustar ao Doc/arquitetura de Exibição.

  • Mova o OnInitDialog código em OnInitialUpdate, mas esteja ciente de que em um aplicativo SDI OnInitialUpdate pode ser chamado mais de uma vez.
  • OnOK e OnCancel deve ser resolvido por algumas chamadas e funções a partir do documento.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top