Lidar com o botão Aplicar
propriedade folhas têm um recurso que não têm caixas de diálogo padrão: Eles permitem que o usuário aplicar as alterações feitas antes de fechar o folha de propriedades.Isso é concluído usando o botão Aplicar.Este artigo descreve métodos que podem ser usados para implementar esse recurso corretamente.
Caixas caixa de diálogo modal normalmente aplicar as configurações para um objeto externo quando o usuário clica em OK para fechar a caixa de diálogo.O mesmo é verdadeiro para um folha de propriedades: Quando o usuário clica OK, as novas configurações na folha de propriedades entrem em vigor.
No entanto, você talvez queira permitir que o usuário salve as configurações sem precisar fechar o folha de propriedades caixa de diálogo.Esta é a função do botão Aplicar.No botão Aplicar aplica sistema autônomo configurações corrente em todos sistema autônomo propriedade páginas para o objeto externo, em oposição a aplicar apenas sistema autônomo configurações corrente da página ativo no momento.
Por padrão, o botão Aplicar sempre desabilitado.Você deve escrever código para habilitar o botão Aplicar em momentos apropriados e você deve escrever código para implementar o efeito de aplicar, sistema autônomo explicado abaixo.
Se desejar oferecer a funcionalidade ' Aplicar ao usuário, não é necessário remover o botão Aplicar.Você pode deixá-lo desabilitado, pois será comuns entre aplicativos esse padrão de uso propriedade folha suporte disponível em versões futuras do Windows.
Para relatar uma página sistema autônomo sendo modificado e habilitar o botão Aplicar, telefonar CPropertyPage::SetModified (verdadeiro).Se houver o relatório de páginas que está sendo modificado, o botão Aplicar permanecerá ativado, independentemente da página ativo no momento tem sido modificada.
Você deve chamar CPropertyPage::SetModified sempre que o usuário altera quaisquer configurações na página.Uma maneira de detectar quando um usuário altera uma configuração na página é implementar manipuladores de notificação de alterar para cada um dos controles na página de propriedades, sistema autônomo EN_CHANGE or BN_CLICKED.
Para implementar o efeito de no botão Aplicar, a folha de propriedades deve informar seu proprietário ou algum Outros objeto externo do aplicativo, para aplicar as configurações corrente nas páginas de propriedade.Ao mesmo time, a folha de propriedades deve desabilitar o botão Aplicar chamando CPropertyPage::SetModified (FALSO) para todas as páginas aplicado suas modificações para o objeto externo.
Para obter um exemplo desse processo, consulte o exemplo de MFC geral PROPDLG.