Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   VirtualStringTree con CheckBox (https://www.clubdelphi.com/foros/showthread.php?t=94095)

Angel.Matilla 30-07-2019 10:39:46

VirtualStringTree con CheckBox
 
Buenos días. Podéis mandarme a hacer gárgaras por pesado. Tengo este VST con CheckBox:


Llevo como diez días tratando de encontrar un código para procesar únicamente los nodos que están seleccionados y por más vueltas que he dado no soy capaz de encontrar la solución. Lo más que he llegado es a saber que nodo está total o parcialmente seleccionado (estados csCheckedNormal, csCheckedPressed, csMixedNormal o csMixedPressed), pero luego me atasco y, por ejemplo, en el nodo Banco (no domicilia) no sé como hacer para procesar luego sólo los nodos marcados, en este caso sería Manzanares. ¿Podéis facilitarme algún código que me dé una pista para hacerlo?

Casimiro Notevi 30-07-2019 11:02:05

¿Es un componente nativo de delphi/c++ builder?
¿No trae ejemplos?

Angel.Matilla 30-07-2019 11:10:29

Cita:

Empezado por Casimiro Notevi (Mensaje 532954)
¿Es un componente nativo de delphi/c++ builder?
¿No trae ejemplos?

Es un TVirtualStringTree. No es nativo y la demo que trae y nada casi es lo mismo.

Casimiro Notevi 30-07-2019 11:49:15

Creo que hay varios con un nombre similar, ¿es este?

Angel.Matilla 30-07-2019 11:53:56

Cita:

Empezado por Casimiro Notevi (Mensaje 532956)
Creo que hay varios con un nombre similar, ¿es este?

Creo que sí

Casimiro Notevi 31-07-2019 20:53:33

Más o menos:
Código Delphi [-]
procedure TFcuentas.vstArbolChecked(Sender: TBaseVirtualTree;
  Node: PVirtualNode);
var
  pRec : ^TRecBase;
begin
  inherited;
  pRec := Sender.GetNodeData(Node);
  if node.CheckState = csCheckedNormal then
  begin
    //
  end;
end;

Angel.Matilla 01-08-2019 12:01:51

Cita:

Empezado por Casimiro Notevi (Mensaje 532980)
Más o menos:
Código Delphi [-]
procedure TFcuentas.vstArbolChecked(Sender: TBaseVirtualTree;
  Node: PVirtualNode);
var
  pRec : ^TRecBase;
begin
  inherited;
  pRec := Sender.GetNodeData(Node);
  if node.CheckState = csCheckedNormal then
  begin
    //
  end;
end;

Gracias por la respuesta. Veré como lo adapto a mis necesidades.


La franja horaria es GMT +2. Ahora son las 16:47:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi