[erledigt: BOOL = int] Radiobuttons machen Ärger: int Auswahl funktioniert nicht


  • Administrator

    dong schrieb:

    Also mit anderen Worten: Dieser BOOL Vorschlag ist normal?

    Also bei mir VS2003 ja und es ist sogar irgendwo einleuchtend aus den von (D)Evil gesagten Grund, obwohl ich es so noch nie benutzt habe. Markierst das BOOL und schreibst halt int rein. Funktioniert bei mir einwandfrei, solange die Gruppe richtig angeordnet, bzw. "zusammengefügt" ist.

    Grüssli



  • Dravere schrieb:

    Markierst das BOOL und schreibst halt int rein.

    Na, ich selber schreibe ja nichts rein, ich lese nur die Auswahl des Nutzers. Oder meinst Du, ich solle BOOL durch int ersetzen? Wenn ja, siehe oben.

    Dravere schrieb:

    Funktioniert bei mir einwandfrei, solange die Gruppe richtig angeordnet, bzw. "zusammengefügt" ist.

    Was kann man denn dabei falsch machen?
    Ich machte jedenfalls folgendes:
    In eine Group Box Drag and Dropte ich zwei Radio Buttons, beim ersten davon setzte ich die Option Group auf true und ordnete ihm per rechtsklick, add Varaible eine Variable zu.

    Das ist alles, was ich zumindest machte. Fehlt da was?



  • Sie müssen in der Taborder DIREKT hintereinander liegen.



  • estartu schrieb:

    Sie müssen in der Taborder DIREKT hintereinander liegen.

    AH ja! Ich erstellte sie zwar direkt hintereinander und somit sollte das der Fall gewesen sein [Projekt existiert nicht mehr in dieser Form, der Radiobutton Versuch wurde mangels Erfolg nicht in die Entwicklungsvariante aufgenommen...], aber beim nächsten Versuch werde ich gezielt darauf achten und hier berichten.

    Danke!



  • Naja, ich habe immer einen Radiobutton und ein CStatic als Beschriftung, damit die Schrift nicht grau ist, wenn der deaktiviert ist. Da kann das schon mal passieren.

    Oder du erstellst einfach einen Radiobutton noch nachträglich und schon ist der ganz woanders und du suchst dir nen wolf, wenn du nicht an die Taborder denkst. 😉



  • Nächster Versuch:
    Leider war die Taborder auch nicht das Problem. 😞

    Ich habe meinen Versuch hier dokumentiert:
    http://img164.imageshack.us/img164/1728/rbproblem8pl.png (29.4 KB)

    Es ist immer dasselbe Phänomen:
    Sobald ich einem (dem ersten) Radio Button die Option "Group = true" zuordne, wird als Variablentyp nur noch BOOL vorgeschlagen.
    Wenn ich diesen Vorschlag ignoriere und dem ersten Radiobutton mit der Option "Group = true" doch eine int Variable zuordne, hat diese Variable unabhängig vom gewählten RadioButton immer den Wert 0.

    Zum Nachvollziehen:

    if (beispieldialog.DoModal() == IDOK)
    	{
    		CString str;
    		str.Format(L"Auswahl = %i", beispieldialog.m_rb_auswahl_belegung);
    		MessageBox(str);
    	}
    

    wobei m_rb_auswahl_belegung besagt int Variable ist.

    Ich habs auch mal mit "Group = false", auch für den ersten probiert. Dann ist auch int der Default Vorschlag, aber es klappt genauso wenig.

    Noch irgendeine Idee? 🙄

    Danke und Gruß!



  • OK, ich habs!
    😃
    Einfach auf BOOL lassen!
    (So gesehen hatte Dravere recht, ich konnte es nur vorher nicht so verstehen, weil:)

    Das spuckt komischerweise auch int Werte > 1 aus.

    Sowas, ich dachte bool sei einstellig binär...


  • Administrator

    bool ist ein byte [Edit]Grad noch eingefallen, mit Vorsicht zu geniessen![/Edit]
    während
    BOOL ein Integer ist.

    bool ist C/C++
    BOOL ist MFC

    Falls das noch nicht klar war ^^

    Grüssli ^^



  • Och Dravere das ist doch einfach FALSCH... BOOL ist ein WinAPI(nicht MFC) Datentype... genaugenommen eine pure Speicherverschwendung... was solls 😉

    dong: einfach mal rechtsklick auf die nicht blau gehaltenen sachen und auf go to defination klicken... dann siehst de als was BOOL definiert ist...


  • Administrator

    (D)Evil schrieb:

    Och Dravere das ist doch einfach FALSCH... BOOL ist ein WinAPI(nicht MFC) Datentype... genaugenommen eine pure Speicherverschwendung... was solls 😉

    dong: einfach mal rechtsklick auf die nicht blau gehaltenen sachen und auf go to defination klicken... dann siehst de als was BOOL definiert ist...

    Ehrlich? Das ist WinAPI? Hmmm ... ok macht auch irgendwo Sinn. Aber meine ich habe mal irgendwo gelesen, dass das BOOL mit der MFC eingeführt wurde, aber finde momentan die Quelle nicht mehr, solange glaube ich eher dir 😉

    Grüssli


Anmelden zum Antworten