Partilhar via


Usando folhas de propriedades em seu aplicativo

Para usar uma folha de propriedades em seu aplicativo, conclua as seguintes etapas:

  1. Crie um recurso de modelo de diálogo para cada página de propriedades. Tenha em mente que o usuário pode estar mudando de uma página para outra, portanto, disponha cada página da forma mais consistente possível.

    Os modelos de diálogo para todas as páginas não precisam ter o mesmo tamanho. A estrutura utiliza o tamanho da maior página para determinar quanto espaço deve ser alocado na folha de propriedades para as páginas de propriedades.

    Ao criar o recurso de modelo de diálogo para uma página de propriedades, você deve especificar os seguintes estilos na folha de propriedades da caixa de diálogo:

    • Defina a caixa de edição Legenda na página Geral para o texto que você deseja que apareça na guia desta página.

    • Defina a caixa de listagem Estilo na página Estilos como Criança.

    • Defina a caixa de listagem Borda na página Estilos como Fina.

    • Verifique se a caixa de seleção Barra de título na página Estilos está marcada.

    • Verifique se a caixa de seleção Desabilitado na página Mais Estilos está marcada.

  2. Crie uma classe derivada de CPropertyPage correspondente a cada modelo de diálogo de página de propriedades. Consulte Adicionando uma classe. Escolha CPropertyPage como classe base.

  3. Crie variáveis de membro para armazenar os valores desta página de propriedades. O processo para adicionar variáveis de membro a uma página de propriedades é exatamente o mesmo que adicionar variáveis de membro a uma caixa de diálogo, porque uma página de propriedades é uma caixa de diálogo especializada. Para obter mais informações, consulte Definindo variáveis de membro para controles de diálogo.

  4. Construa um objeto CPropertySheet em seu código-fonte. Normalmente, você constrói o CPropertySheet objeto no manipulador para o comando que exibe a folha de propriedades. Este objeto representa toda a folha de propriedades. Se você criar uma folha de propriedades modal com a função DoModal , a estrutura fornecerá três botões de comando por padrão: OK, Cancelar e Aplicar. A estrutura não cria botões de comando para folhas de propriedades não modais criadas com a função Criar. Você não precisa derivar uma classe de CPropertySheet a menos que queira adicionar outros controles (como uma janela de pré-visualização) ou exibir uma folha de propriedades sem janela modal. Esta etapa é necessária para folhas de propriedades não-modais porque elas não contêm nenhum controle padrão que possa ser usado para fechar a folha de propriedades.

  5. Para cada página a ser adicionada à folha de propriedades, faça o seguinte:

    • Construa um objeto para cada CPropertyPageclasse derivada que você criou anteriormente neste processo.

    • Chame CPropertySheet::AddPage para cada página.

    Normalmente, o objeto que cria o CPropertySheet também cria os CPropertyPage objetos nesta etapa. No entanto, se você implementar uma CPropertySheetclasse -derivada, poderá incorporar os CPropertyPage objetos no CPropertySheet objeto e chamar AddPage para cada página do CPropertySheetconstrutor de classe -derivada. AddPage adiciona o CPropertyPage objeto à lista de páginas da folha de propriedades, mas não cria a janela para essa página. Portanto, não é necessário esperar até a criação da janela da folha de propriedades para chamar AddPage, você pode chamar AddPage a partir do construtor da folha de propriedades.

    Por padrão, se uma folha de propriedades tiver mais guias do que caberá em uma única linha da folha de propriedades, as guias serão empilhadas em várias linhas. Para desabilitar o empilhamento, chame CPropertySheet::EnableStackedTabs com o parâmetro definido como FALSE. Você deve chamar EnableStackedTabs quando criar a folha de propriedades.

  6. Chame CPropertySheet::DoModal ou Create para exibir a folha de propriedades. Chamada DoModal para criar uma folha de propriedades como uma caixa de diálogo modal. Chame Create para criar a folha de propriedades como uma caixa de diálogo não modal.

  7. Efetue a troca de dados entre páginas de propriedades e o responsável pela folha de propriedades. Isso é explicado no artigo Troca de dados.

Para obter um exemplo de como usar folhas de propriedades, consulte o exemplo geral MFC PROPDLG.

Ver também

Folhas de propriedades