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.
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.