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
Prsht.h