Pregunta

Estoy usando Visual Studio 6.0 (VC ++ con MFC) en la plataforma Windows XP. Estoy tratando de crear un cuadro de grupo con el título del cuadro de grupo como casilla de verificación. Mi intención es esta: si la casilla de verificación está habilitada, los controles dentro del cuadro de grupo deberían estar habilitados; o bien deshabilitado.

¿Es esto posible de lograr? En caso afirmativo, por favor dame algunas instrucciones.

Gracias.

¿Fue útil?

Solución

Hay algunas cosas que puede probar, dependiendo de cuán verdadero quiera cumplir con su idea y cuánto trabajo está preparado para hacer el esfuerzo:

Método simple

Use un cuadro de grupo normal y luego dentro de este haga que el primer elemento sea la casilla de verificación. Esto es simple de lograr, pero pierde el objetivo de tener la casilla de verificación como título.

Método de dibujo Funky 1

Use un cuadro de grupo normal, luego en el espacio donde sabe que debe ir el título, coloque su casilla de verificación. Tendrá que realizar algunos cálculos complicados para que encaje bien y dibuje bien sin parpadear.

Método de dibujo Funky 2

Use alguna forma de superclase o subclase / subclase en el cuadro de grupo. Puede anular el controlador WM_PAINT para dibujar solo el marco para el cuadro de grupo. Coloque una casilla de verificación normal en el lugar donde sabe que debe ir el título. Esto debería funcionar mejor porque tendrá más control sobre el dibujo, pero es probable que sea difícil hacerlo bien. En mi experiencia, la subclasificación tiene un menor riesgo de implementación que la superclase.

Otros consejos

¿Está utilizando el editor de diálogo? Si es así, deja el cuadro de grupo. A continuación, además de eso, coloque una casilla de verificación sobre la línea del cuadro de grupo. Edite el recurso para establecer el orden Z, o hágalo en código. Desea que la casilla de verificación esté encima del cuadro de grupo. Agregue un controlador para la casilla de verificación y active / desactive los controles según el estado de la casilla de verificación.

Escribí uno llamado CGroupCheck hace unos años y está disponible en CodeProject: http: //www.codeproject.com/KB/buttons/groupcheck123.aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top