Frage

ich Visual Studio 6.0 (VC ++ mit MFC) in Windows XP Plattform verwenden. Ich versuche, ein Gruppenfeld mit dem Titel des Gruppenfelds als Kontrollkästchen zu erstellen. Meine Absicht ist dies: Wenn das Kontrollkästchen aktiviert ist, sollten die Kontrollen innerhalb der Gruppe Box aktiviert sein; oder auch deaktiviert.

Ist das möglich zu erreichen? Wenn ja, bitte geben Sie mir einige Richtungen.

Danke.

War es hilfreich?

Lösung

Es gibt ein paar Dinge, die Sie versuchen können, je nachdem, wie wahr möchten Sie Ihre Idee bleiben und wie viel Arbeit Sie bereit sind, in die Bemühung zu setzen:

Einfache Methode

Verwenden Sie einen normalen Gruppenfeld und innerhalb dieser dann das erste Element die Checkbox sein lassen. Dies ist einfach zu erreichen, aber Sie verlieren das Ziel, das Kontrollkästchen als Titel hat.

Funky Ziehverfahren 1

Verwenden Sie ein normales Gruppenfeld dann in dem Raum über, wo Sie wissen, dass der Titel zu gehen, legen Sie Ihre Kontrollkästchen. Sie werden einige schwierige Berechnung durchführen müssen, um es schön zu passen und ohne Flimmern gut zu zeichnen.

Funky Ziehverfahren 2

Verwenden Sie irgendeine Form von geordnete Klasse oder Unterklasse / Unterklasse auf dem Gruppenfeld winproc_subclassing. Sie können die WM_PAINT-Handler überschreiben nur den Rahmen für das Gruppenfeld zu ziehen. Legen Sie eine normale Kontrollkästchen an der Stelle, wo Sie den Titel kennen zu gehen. Dies soll besser arbeiten, weil Sie mehr Kontrolle über die Zeichnung haben, aber es ist wahrscheinlich, schwierig zu sein, richtig zu machen. Nach meiner Erfahrung ist Subklassifizieren geringeres Risiko zu implementieren als Superclassing.

Andere Tipps

Sind Sie mit dem Dialog-Editor? Wenn ja, setzen Sie das Gruppenfeld nach unten. Als nächstes oben drauf, ein Kontrollkästchen über die Leitung der Gruppe Box. Bearbeiten Sie die Ressource der Z-Reihenfolge zu setzen, oder tun es im Code. Sie möchten das Kontrollkästchen auf dem Gruppenfeld sein. Fügen Sie einen Handler für das Kontrollkästchen, und aktivieren / deaktivieren Kontrollen in Abhängigkeit von der Kontrollkästchen Zustand.

Ich schrieb ein genannt CGroupCheck ein paar Jahre zurück und es ist von Codeproject zur Verfügung: http: //www.codeproject.com/KB/buttons/groupcheck123.aspx

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top