2009-10-09 13 views
6

Quale codice di notifica viene inviato con il messaggio wm_command alla procedura della finestra di dialogo quando una casella di controllo cambia stato?- modifica notifica

E, ancora più importante, dove dovrei cercare in msdn per trovare i codici di notifica per i vari controlli?

risposta

6

Nota che caselle di controllo e pulsanti di opzione sono pulsanti. Quindi inviano messaggi di clic e doppio clic, BN_CLICKED e BN_DOUBLECLICKED.

Se si utilizza MFC, è possibile esaminare lo stato check con il metodo CButton::GetCheck. Altrimenti inviare il messaggio BM_GETCHECK al controllo: SendMessage(button_handle, BM_GETCHECK, 0, 0);

SendMessage può tornare

  • BST_CHECKED pulsante è selezionato.
  • BST_INDETERMINATE Il pulsante è in grigio, a indicare uno stato indeterminato (si applica solo se il pulsante ha lo stile BS_3STATE o BS_AUTO3STATE).
  • BST_UNCHECKED pulsante viene eliminato
  • Se il pulsante ha uno stile diverso da quelli elencati, il valore di ritorno è zero.

Se si utilizza il Visual Studio, il modo più semplice per ottenere un elenco di eventi/messaggi un controllo può inviare è di andare a Visualizzazione risorse/Struttura, fare clic su un controllo e selezionare Eventi.

Per un elenco di controlli comuni si veda: Control Library
(nella pagina vedrai un menu a comparsa con i controlli, se si passa il cursore sul collegamentoControl Library)

2

È BN_CLICKED. La parte inferiore della pagina si collega ai messaggi del pulsante.

+0

Grazie, ho pensato che l'aveva provato ma ha fatto un errore(). Cosa intendi per "La parte inferiore della pagina collega ai messaggi dei pulsanti"? Che pagina? Vedo se sapevo abbastanza per cercare BN_CLICKED, avrei potuto ottenere 'Button Messages'. Ad esempio, se voglio scoprire i messaggi della casella di riepilogo, dove dovrei iniziare? –

Problemi correlati