Compartilhar via


Handling Notification Messages

Windows Mobile Not SupportedWindows Embedded CE Supported

9/9/2008

Cada controle janela responde à entrada usuário ou altera para o controle enviando um mensagem notificação Para sua janela pai. Uma mensagem notificação é uma mensagem WM_COMMAND que inclui um identificador controle e um codificar notificação que identifica a natureza do evento. Um aplicativo precisa coletar essas notificação mensagens e responder a elas.

O seguinte exemplo de código mostra um método de interceptação uma mensagem WM_COMMAND.

BOOL CALLBACK AboutDialogProc (
                        HWND hwndDlg,     // Handle to the dialog box
                        UINT uMsg,        // Message
                        WPARAM wParam,    // First message parameter
                        LPARAM lParam)    // Second message parameter
{
  switch (uMsg)
  {
    case WM_INITDIALOG:
      return TRUE;  

    case WM_COMMAND:
      switch (LOWORD (wParam))
      {
        case IDOK:
          EndDialog (hwndDlg, IDOK);
          return TRUE;

        case IDCANCEL:
          EndDialog (hwndDlg, IDCANCEL);
          return TRUE;
      }
      break;
  }
  return FALSE;
}

Alguns controles janela recebem, bem como geram mensagens. Geralmente, um procedimento janela envia uma mensagem para um controle, direcionando-lo para executar uma tarefa. O controle processa a mensagem e executa a ação solicitada. Windows Embedded CE tem várias mensagens predefinidas, como WM_GETTEXT e WM_GETDLGCODE, que envia para controles. Essas mensagens geralmente corresponder a janela-gerenciamento funções que realizar ações no Windows. O procedimento janela para um controle Application-defined processa qualquer mensagem controle predefinidos que afeta a operação do controle. A seguinte tabela mostra essas mensagens.

Mensagem Recomendação

WM_GETDLGCODE

Processar se o controle usa as teclas ENTER, Esc, TAB ou SETA. O IsDialogMessage função envia esta mensagem para controles em uma caixa diálogo para determinar se processo a teclas ou transmiti-los para o controle.

WM_GETFONT

Processo se a mensagem WM_SETFONT também é processada.

WM_GETTEXT

Se o texto controle não for o mesmo que o título que é especificado pelo processo de CreateWindowEx função.

WM_GETTEXTLENGTH

Se o texto controle não for o mesmo que o título que é especificado pelo processo de CreateWindowEx função.

WM_KILLFOCUS

Processar se o controle exibe um acento circunflexo, um retângulo de foco ou outro item para indicar que ela tem o foco de entrada.

WM_SETFONT

Processar se o controle exibe texto. Windows Embedded CE envia esta mensagem quando Windows Embedded CE cria um caixa de diálogo que possui o estilo DS_SETFONT.

WM_SETFOCUS

Processar se o controle exibe um acento circunflexo, um retângulo de foco ou outro item para indicar que ela tem o foco de entrada.

WM_SETTEXT

Se o texto controle não for o mesmo que o título que é especificado pelo processo de CreateWindowEx função.

Você também pode enviar mensagens para um controle, chamado de SendMessage função. Um controle que chama SendMessage Para receber mensagens é o controle botão.

See Also

Concepts

Working with Window Controls

Other Resources

GWES Application Development