2009-10-09 17 views
6

Jaki kod powiadomienia jest wysyłany z wiadomością wm_command do procedury okna dialogowego, gdy pole wyboru zmienia stan?pole wyboru - powiadomienie o zmianie

Co ważniejsze, gdzie powinienem szukać w msdn, aby znaleźć kody powiadomień dla różnych kontrolek?

Odpowiedz

6

Należy zauważyć, że pola wyboru i przyciski radiowe to Przyciski. Wysyłają więc wiadomości z kliknięciami i podwójnymi kliknięciami, BN_CLICKED i BN_DOUBLECLICKED.

Jeśli używasz MFC, możesz sprawdzić stan check przy pomocy metody CButton::GetCheck. Inaczej wysłać wiadomość BM_GETCHECK do kontroli: SendMessage(button_handle, BM_GETCHECK, 0, 0);

SendMessage może powrócić

  • BST_CHECKED przycisk jest zaznaczony.
  • BST_INDETERMINATE Przycisk jest wyszarzony, wskazując stan nieokreślony (dotyczy tylko przycisków o stylu BS_3STATE lub BS_AUTO3STATE).
  • Przycisk jest wyczyszczony
  • Jeśli przycisk ma inny styl niż wymienione, zwracana wartość wynosi zero.

W przypadku korzystania z programu Visual Studio, najprostszym sposobem, aby uzyskać listę zdarzeń/komunikatów kontrola może wysyłać jest, aby przejść do widoku zasobów/Projektowanie, kliknij prawym przyciskiem i wybierz kontrolę Imprezy.

Listę wspólnych kontroli patrz: Control Library
(na stronie zobaczysz menu podręczne z kontroli po najechaniu kursorem na Biblioteka sterowania link)

2

To jest BN_CLICKED. W dolnej części strony znajdują się komunikaty z przyciskami.

+0

Dzięki, myślałem próbował tego, ale popełnił() błąd. Co masz na myśli przez "W dolnej części strony znajduje się link do wiadomości z przyciskami"? Która strona? Rozumiem, że jeśli wiedziałem wystarczająco dużo, aby wyszukać BN_CLICKED, mogłem dostać "Wiadomości Button". Na przykład, jeśli chcę dowiedzieć się o wiadomościach w polu listy, od czego mam zacząć? –