¿Cómo mostrar u ocultar casillas de verificación de vista de árbol en los nodos?

programación


¡Hola a todos!

Me gustaría comenzar agradeciendo a todos los que se toman un tiempo para ver este hilo e intentar ayudar.

He creado un control de vista de árbol en el cuadro de diálogo, usando el editor de recursos.

He configurado el estilo de la casilla de verificación con la función SetWindowLongPtr(…).

Cada nodo tiene una casilla de verificación, pero solo necesito que algunos tengan una casilla de verificación y otros que no tengan nada al lado de su texto.

¿Se puede lograr esto mediante subclases? Si es posible, deme algunos consejos o enlaces, posiblemente códigos de muestra o tutoriales.

Si no se puede hacer mediante subclases, indíqueme la dirección correcta sobre cómo hacerlo (¿quizás un dibujo personalizado o quizás una superclase?).

Trabajo en MS Visual Studio Express 2008, en Windows XP, en C++, usando puro API WIN32.

¡Muchas muchas gracias!

Solución 1

Solución 2

Después de las aclaraciones del OP: una solución es eliminar el nodo y agregarlo nuevamente, esta vez con la casilla de verificación eliminada o agregada. Si tiene hijos, se debe conservar y restaurar todo el conjunto infantil. La segunda solución es utilizar un dibujo personalizado y simular una casilla de verificación en gráficos y programar todos los eventos necesarios. Invalide el nodo y elimine la casilla de verificación (oculta), deshabilite o cualquier cosa.

-SA

Solución 3

Hay dos formas en que alguien puede hacer esto:

Una es simular casillas de verificación, como se sugiere en las soluciones 1 y 2, y otra es hacerlo de esta manera:

Después de crear el control de vista de árbol, agregue un elemento, obtener el control de estos artículosy luego configure los elementos como se describe aquí:

http://stackoverflow.com/questions/17798463/is-it-possible-to-remove-some-checkboxes-from-tree-views-nodes[^]

Solución 4

Hola,

Otra solución, sin utilizar imágenes, es desactivar la casilla de verificación de treview (o mejor simular ese comportamiento) como se describe aquí:

http://matteo72.wordpress.com/wp-admin/post.php?post=327&action=edit&message=6&postpost=v2[^]

コメント

タイトルとURLをコピーしました