checklistbox status abfangen ?

darkarchon

Gesperrt
hallo,

ich möchte gerne von einem checkbutton (dem netten mit dem X drin wenns aktiviert ist...) den status wissen, also ob er check oder nicht checkt ist...

aber die funktion check() gibt immer 0 zurück !

kann mir einer sagen wie ich das machen muss ?


CCheckListBox * test;
int x = 0;
test = (CCheckListBox*)CDialog::GetDlgItem(checkbox1);
x = test->GetCheck(checkbox1);

dann sollte er ja theoretisch bei x einmal 0 und einmal 1 anzeigen, je nachdem ob die box aktiviert ist oder nicht (aktiviert meine ich das x gesetzt oder nicht...)

kann mir einer da helfen ?


Danke und Gruss
 
Code:
x = test->GetCheck(checkbox1);
Ich könnte mir vorstellen, dass du hier anstelle von checkbox1 lieber den Index eines Listitems angeben solltest.
 
1) siehe Kachelator

2) Hast du eine richtige CheckBox oder eine CheckListBox? Das sind zwei Paar Schuhe. Eine CheckListBox ist eine ListBox, bei der alle Items eine Checkbox vorne dran haben. Eine CheckBox ist ein einzelnes Häkchen mit Text.
 
habe eine CHECKBOX also die mit int. label rechts daneben....


aber was soll ich als index eintragen ? ich meine woher bekomm ich den index ?

und der rest ist soweit ja schon richtig, das ich CCheckListBox benutze, denn ich kannd das objekt ja auch ansprechen und z.b. visible machen.... aber ich kann den status nicht abfangen...

kann mir einer ein kleines beispiel geben, so wie ich oben, wo ich den status bekommen kann ? wäre echt nett...


Danke schonmal...
 
habs selbst gefunden Lösung ;

CButton * test;
test = (CButton*)CDialog::GetDlgItem(checkbox1);

if(test->GetCheck() == 0)
................


Denen die auch nach der Lösung gesucht haben..... Viel Spass mit dieser hier ;)
 
Gut, dass es jetzt klappt.


Original geschrieben von darkarchon
...snip...
und der rest ist soweit ja schon richtig, das ich CCheckListBox benutze, denn ich kannd das objekt ja auch ansprechen und z.b. visible machen.... aber ich kann den status nicht abfangen...

...snip...

Das klappt zufällig deshalb, weil das sichtbar machen Standard-Messages sind, die alle Controls verarbeiten. Sobald du irgendetwas CCheckListBox-mässiges probierst, klappt das nicht, weil die tatsächliche Control (ein CButton) mit der Nachricht nichts anfangen kann und diese einfach ignoriert.

And now to something completely different...
 
toll kombiniert du nase....

mir das jetzt so zusammen zu reimen kann ich auch, aber wieso sieht das keiner wenn ich oben meinen test code reinsetze ?

mal davon abgesehen, laut msdn wäre die passende klasse CCheckListBox aber wie man jetzt sieht geht das nicht...

wie auch immer, jetzt gehts !
 
Zurück