Dialog - CheckBox "abhaken"
- 
					
					
					
					
 Hallo! Ich möchte aus meinem Programmcode heraus entscheiden, ob eine Checkbox angekreutzt ist, oder nicht. Wie kriegt man das hin??? 
 
- 
					
					
					
					
 zb so m_CheckBox.SetCheck(FALSE);
 
- 
					
					
					
					
 FALSCH! Kann höchstens gehen, weil FALSE und BST_CHECKED als das selbe definiert sind ...  CButton* pCheckBox = (CButton*)GetDlgItem(0); // Deine ID anstelle von 0... if (pCheckBox == NULL) return; pCheckBox->SetCheck(BST_CHECKED); // BST_UNCHECKEDReferenz 
 CButton::SetCheck
 
- 
					
					
					
					
 also ich seh da keine probleme - zudem hat man sich mit der zeit schon sehr an TRUE und FALSE gewoehnt das man es doch auch nehmen kann - man kann auch einfach normales 0 und 1 nehmen - scheiss egal {o; #define BST_UNCHECKED 0x0000 #define BST_CHECKED 0x0001#define FALSE 0 #define TRUE 1
 
- 
					
					
					
					
 ... m_CheckBox.SetCheck(0); // unchecked m_CheckBox.SetCheck(1); // checked 
 
- 
					
					
					
					
 Ich finde es auch keine Tragik und die MS-Entwickler haben sich sicherlich etwas dabei gedacht 0=FALSE und 1=TRUE äquivalent für die Buttonstates zu verwednden. Tückisch wird es einfach eil es auch BST_INDETERMINATE == 2 gibt bei einem Tristate Button und noch tückischer wird es wenn man BOOL statt bool verwendet. BOOL bTrue = 4; m_bButton.SetCheck(bTrue);führt dann zu evtl. zu einem undefiniertem Verhalten. Während: bool bTrue = 4; m_bButton.SetCheck(bTrue);trefflich funktioniert! Entsprechend sollte man wirklich schreiben was man meint: BOOL bTrue = 4; m_bButton.SetCheck(bTrue ? BST_CHECKED : BST_UNCHECKED);Just my 2 cents! 
 
