Processar a mensagem de WM_COMMAND em uma caixa de diálogo desenho proprietário

Quando ocorre um evento em um Controlarar de caixa de diálogo, o controle notifica o procedimento de caixa de diálogo por meio de uma mensagem WM_COMMAND . O exemplo de criação de uma caixa de diálogo Square Meal processa mensagens de notificação de caixa de combinação, caixa de listagem e o botão OK . O identificador de controle é o baixo palavra de ordem wParam, e a mensagem de notificação é o alto palavra de ordem wParam.

Se o identificador do Controlarar é IDCOMBO, ocorreu um evento na caixa de combinação. Em resposta, o procedimento caixa diálogo ignora todos os outros eventos de caixa de combinação exceto CBN_SELENDOK, que indica que foi feita uma seleção drop-down foi fechado e as alterações feitas devem ser aceitas. As chamadas de procedimento de caixa de diálogo InitFoodList para redefinir o conteúdo da caixa de lista e para adicionar os nomes da seleção atual na caixa de lista suspensa.

Se o identificador do Controlarar é IDLIST, ocorreu um evento na caixa de listagem. Isso faz com que o procedimento de caixa de diálogo ignorar todos os eventos de caixa de lista exceto LBN_DBLCLK, que indica que o usuário tem clicou duas vezes um item da lista. Esse evento é processado da mesma maneira como se foi escolhido um botão OK.

Se o identificador de Controlarar é IDOK, o usuário escolheu o botão OK . Em resposta, o procedimento caixa diálogo insere o nome do alimento selecionado no Controlarar de Editar de várias linhas do aplicativo, em seguida, chama o EndDialog função para fechar a caixa de diálogo.

Se IDCANCEL o identificador de Controlarar, o usuário clicou no botão Cancelar . Em resposta, o procedimento de caixa de diálogo chama o EndDialog para fechar a caixa de diálogo.