Adicionando controles a uma caixa de diálogo faz com que a caixa de diálogo deixarão de funcionar
Depois de adicionar um controle comum ou um controle rich edit para uma caixa de diálogo, ela não aparecerá quando você testar a caixa de diálogo ou a própria caixa de diálogo não aparecerá.
Exemplo do problema
Crie um projeto do Win32, modificando as configurações do aplicativo para que você criar um aplicativo do Windows (e não um aplicativo de console).
Em Exibição de recurso, clique duas vezes no arquivo. rc.
Sob a opção de caixa de diálogo, clique duas vezes o sobre caixa.
Adicionar um Controle de endereço IP para a caixa de diálogo.
Salvar e reconstruir todos.
Execute o programa.
Na caixa de diálogo Help menu, clique no sobre comando; Nenhuma caixa de diálogo é exibida.
A causa
Atualmente, o editor de diálogo não adiciona automaticamente código ao seu projeto quando você arrastar e soltar os seguintes controles comuns ou controles em uma caixa de diálogo de edição do rico. Nem o Visual Studio oferece um erro ou aviso quando esse problema ocorre. Você deve adicionar manualmente o código para o controle.
Controle deslizante |
Controle de árvore |
Selecionador de data hora |
Controle de rotação |
Tab Control |
Calendário mensal |
Controle do andamento |
Controle de animação |
Controle de endereço IP |
Tecla de acesso |
Controle de edição do rico |
Caixa de combinação estendido |
Controle de lista |
Controle Rich Edit 2.0 |
Custom Control |
A correção dos controles comuns
Para usar controles comuns em uma caixa de diálogo, você precisa chamar InitCommonControlsEx ou AFXInitCommonControls antes de criar a caixa de diálogo.
A correção para controles RichEdit
Você deve chamar LoadLibrary para controles de edição do rico. Para obter mais informações, consulte usando o controle de 1.0 RichEdit com MFC, Sobre como editar controles sofisticados de na Windows SDK, e Visão geral do controle de edição de Rich.
Requirements
Win32