Manipulação no botão Aplicar
Folhas de propriedades possuem um recurso que caixas de diálogo padrão não: eles permitem que o usuário aplicar as alterações feitas antes de fechar a folha de propriedades.Isso é feito usando o botão Aplicar.Este artigo descreve métodos que você pode usar para implementar esse recurso corretamente.
Caixas de diálogo modal normalmente aplicam 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 uma folha de propriedades: quando o usuário clica em OK, as novas configurações na folha de propriedades do efeito.
No entanto, você poderá permitir que o usuário salvar as configurações sem fechar a caixa de diálogo de planilha de propriedade.Esta é a função do botão Aplicar.O botão Apply aplica as configurações atuais em todas as páginas de propriedade para o objeto externo, em oposição ao aplicar somente as configurações atuais da página ativa 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, conforme explicado abaixo.
Se não desejar oferecer a funcionalidade ' Aplicar ao usuário, não é necessário remover o botão Aplicar.Você pode deixá-lo desativado, como serão comuns entre os aplicativos que usam o suporte de folha de propriedade padrão disponível em versões futuras do Windows.
Para relatar uma página como sendo modificado e habilitar o botão Aplicar, chame CPropertyPage::SetModified (TRUE).Se qualquer relatório páginas sendo modificado, o botão Aplicar permanecerá ativado, independentemente da página ativa atualmente tem sido modificada.
Você deve chamar CPropertyPage::SetModified sempre que o usuário altera as configurações na página.Uma maneira de detectar quando um usuário altera uma configuração de página é implementar manipuladores de notificação de alteração para cada um dos controles na página de propriedades, como EN_CHANGE ou BN_CLICKED.
Para implementar o efeito do botão Aplicar, a folha de propriedades deve informar seu proprietário ou outro objeto externo no aplicativo para aplicar as configurações atuais nas páginas de propriedade.Ao mesmo tempo, a folha de propriedades deve desativar o botão Aplicar chamando CPropertyPage::SetModified (FALSE) para todas as páginas que aplicadas suas modificações para o objeto externo.
Um exemplo desse processo, consulte MFC geral exemplo PROPDLG.