PSN_APPLY código de notificação
Enviado para cada página na folha de propriedades para indicar que o usuário clicou no botão OK, Fechar ou Aplicar e deseja que todas as alterações entrem em vigor. Esse código de notificação é enviado na forma de uma mensagem WM_NOTIFY .
PSN_APPLY
lppsn = (LPPSHNOTIFY) lParam;
Parâmetros
-
lParam
-
Ponteiro para uma estrutura PSHNOTIFY que contém informações sobre o código de notificação, incluindo a ID da página.
Valor retornado
Defina PSNRET_NOERROR para indicar que as alterações feitas nesta página são válidas e foram aplicadas. Se todas as páginas definirem PSNRET_NOERROR, a folha de propriedades poderá ser destruída. Para indicar que as alterações feitas nesta página são inválidas e para impedir que a folha de propriedades seja destruída, defina um dos seguintes valores retornados:
- PSNRET_INVALID. A folha de propriedades não será destruída e o foco será retornado a esta página.
- PSNRET_INVALID_NOCHANGEPAGE. A folha de propriedades não será destruída e o foco será retornado à página que tinha foco quando o botão foi pressionado.
Para definir o valor retornado, o procedimento da caixa de diálogo da página deve chamar a função SetWindowLong com o valor DWL_MSGRESULT e o procedimento da caixa de diálogo deve retornar TRUE.
Comentários
Quando o usuário clica no botão OK, Aplicar ou Fechar, a folha de propriedades envia uma notificação de PSN_KILLACTIVE para a página ativa, dando a ele a oportunidade de validar as alterações do usuário. Se as alterações forem válidas, a folha de propriedades enviará um código de notificação PSN_APPLY para cada página, direcionando-o para aplicar as novas propriedades ao item correspondente.
Observação
A folha de propriedades está no processo de manipular a lista de páginas quando o código de notificação PSN_APPLY é enviado. Não tente adicionar, remover ou inserir páginas durante o tratamento dessa notificação. Isso terá resultados imprevisíveis.
O membro lParam da estrutura PSHNOTIFY apontada por lParam será definido como TRUE se o usuário clicar no botão OK. Ele também será definido como TRUE se a mensagem PSM_CANCELTOCLOSE tiver sido enviada e o usuário clicar no botão Fechar. Ele será definido como FALSE se o usuário clicar no botão Aplicar.
A estrutura PSHNOTIFY contém uma estrutura NMHDR como seu primeiro membro, hdr. O membro hwndFrom dessa estrutura NMHDR contém o identificador para a folha de propriedades.
Não chame a função EndDialog ao processar esse código de notificação.
Uma folha de propriedades modal será destruída se o usuário clicar no botão OK e cada página retornar o valor PSNRET_NOERROR em resposta a PSN_APPLY. Se qualquer página retornar PSNRET_INVALID ou PSNRET_INVALID_NOCHANGEPAGE, o processo Aplicar será cancelado imediatamente. As páginas após a página de cancelamento não receberão um código de notificação PSN_APPLY.
Para receber esse código de notificação, uma página deve definir o valor DWL_MSGRESULT como FALSE em resposta ao código de notificação PSN_KILLACTIVE .
Observação
Não há suporte para esse código de notificação ao usar o estilo do assistente aero (PSH_AEROWIZARD).
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2003 [somente aplicativos da área de trabalho] |
Cabeçalho |
|