Gruppenfelder auch in CView möglich?



  • In Dialogfenstern gruppiert man häufig Dialogfeldelemente (z.B. Optionsfelder) in einem Gruppenfeld. Ebenso kann man Dialogfeldelemente mittels Create()-Methode z.B. in einem normalen CView-Fenster einfügen und anzeigen lassen.
    Geht das auch mit einem Gruppenfeld (GroupBox)? Habe dazu keine Klasse gefunden, die ich mit Create() einfügen kann.
    Ich möchte in einem von der Klasse CView abgeleiteten Fenster mehrere Checkboxen und Edit-Felder gruppieren. Sicher könnte man da auch ein CFormView nehmen, aber darauf wurde wegen der fehlenden Druckunterstützung verzichtet.
    Weiß da jemand eine Lösung? 😕


  • Mod

    Durch die Verwendung von CView kannst Du auch nicht besser drucken.

    Wenn Du Child Controls in Deinem View hast, rate ich Dir dringend CFormView zu verwenden. Alles andere bringt Dir nur Ärger, angefangen mit fehlender Tastaturunterstützung (TAB bringt Dich nicht ins nächste Feld) etc.

    Wenn Du CFormView das drucken beibringen möchtest schau mal bei www.codeproject.com da gibt es genug zu dem Thema!



  • Ok, das mit dem Drucken muss man natürlich selbst implementieren. Aber die Druckseitenvorschau etc. ist ja bei einem Projekt, welches CView als Ansichtsklasse benutzt schon dabei. Das war der Grund warum es verwendet wurde.
    Aber abgesehen davon: gibt es eine Klasse, mit der man mittels Create() ein Gruppierungsfeld in das View hineinbekommt? Vielen Dank nochmal für die schnelle Antwort.

    PS.: da mit dem <Tab> haben die über das Abfangen der Tastaturereignisse gemacht. Damit wird der Focus weitergereicht... Ist nicht von mir geschrieben.


  • Mod

    Ich verstehe Deine Einwände nicht. CFormView ist von CView abgeleitet. Also warum sollten diese Funktionen in einem CFormView nicht möglich sein.
    Also ist CFormView nur etwas spezieller als CView.


  • Administrator

    Ich schliesse mich Martin Richter da an. CFormView wäre da eigentlich mehr angebracht. In eine CView zeichnet man nämlich sonst normalerweise und erstellt nicht unbedingt Ctrls darin, dass macht alles nämlich nur sehr kompliziert.

    Aber wenn du unbedingt drauf bestehst. CStatic wäre die Klasse die du brauchst. Mit den Styles kannst du dir eine Groupbox machen. Ich glaube SS_WHITEFRAME wäre dann, das richtig. Aber das musst du selber nachlesen, habe noch nie ein CStatic mit Create erstellt, nur einer GroupBox als Controlvariable zugewiesen 😉

    Grüssli



  • Erst mal vielen Dank Euch beiden.

    @Dravere: Ich bestehe da nicht drauf, sehe das ähnlich wie Du. Allerdings ist das ein bereits bestehendes, sehr komplexes Projekt, was ich nicht mal geschrieben habe. Ich habe jetzt die Ehre die Änderungen einzupflegen. Ansonsten hilft halt nur neu erstellen mit einem CFormView als Basis, was ich vermeiden wollte.


Anmelden zum Antworten