Compartilhar 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 propriedade. 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 caixa de diálogo para todas as páginas não precisam ter o mesmo tamanho. A estrutura usa o tamanho da maior página para determinar quanto espaço alocar na folha de propriedades para as páginas de propriedades.

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

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

    • Defina a caixa de lista Estilo na página Estilos como Child.

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

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

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

  2. Crie uma classe derivada de CPropertyPage correspondente a cada modelo de caixa de diálogo de página de propriedades. Consulte a adição de uma classe. Escolha CPropertyPage como a classe base.

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

  4. Construa um objeto CPropertySheet no código-fonte. Normalmente, você constrói o CPropertySheet objeto no manipulador para o comando que exibe a folha de propriedades. Esse objeto representa a folha de propriedades inteira. 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 modeless criadas com a função Create . Você não precisa derivar uma classe a partir de CPropertySheet, a não ser que deseje adicionar outros controles (como uma janela de pré-visualização) ou exibir uma folha de propriedades sem modo. Essa etapa é necessária no caso das folhas de propriedades sem modo, porque elas não contêm controles padrão que possam ser usados para fechar a folha de propriedades.

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

    • Construa um objeto para cada CPropertyPageclasse derivada que você criou anteriormente nesse 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 classe derivada de CPropertySheet, poderá inserir os objetos CPropertyPage no objeto CPropertySheet e chamar AddPage para cada página do construtor de classe derivada CPropertySheet. AddPage adiciona o CPropertyPage objeto à lista de páginas da folha de propriedades, mas na verdade não cria a janela para essa página. Portanto, não é necessário aguardar 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 ao criar a folha de propriedades.

  6. Chame CPropertySheet::DoModal ou Create para exibir a folha de propriedades. Chame DoModal para criar uma folha de propriedades como uma caixa de diálogo modal. Chame Criar para criar a folha de propriedades como uma caixa de diálogo modeless.

  7. Troque dados entre páginas de propriedades e o proprietário da folha de propriedades. Isso é explicado no artigo Troca de dados.

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

Consulte também

Folhas de Propriedades