Colocar CheckBox num TreeView

27/09/2011

0

É possível colocar CheckBox num TreeView? Não quero componentes de terceiros.
Frederico Brigatte***

Frederico Brigatte***

Responder

Posts

27/09/2011

Wilson Junior

O que você pode fazer é simular o checkbox com imagens (uma marcada e outra não marcada).

Espero ter colaborado.
Responder

27/09/2011

Frederico Brigatte***

Sim, para colocar nos nós
Responder

27/09/2011

Frederico Brigatte***

Quero que apareça um checkbox no treeview, marcado e desmarcado, é isso.
Responder

27/09/2011

Júlio Ferreira

O TreeView possui duas propriedaes na definição dos nódulos chamadas de StateIndex e ImageIndex.

Cada objeto TTreeNode, que representa um nódulo do TreeView, possui essas propriedades...
A forma de fazer com que seu TreeView possua um CheckBox é definindo o valor para aessas propriedades.

StateIndex = representa o estado para o CheckBox do nódulo
ImageIndex = representa a imagem que será exibida para o CheckBox do nódulo

A forma mais prática seria criar uma classe sua, como TMeuTreeView, herdando de TTreeView para realizar esse controle. Dentro dela, vc implementaria um método público setState( nodule, estado ) para realizar esse controle:

procedure TMeuTreeView.setState( nodulo: TTreeNode; state: Boolean );
begin

  if Assigned( nodulo ) then
    begin

      { ** Realizando o controle marcado/desmarcado do item informado ** }
      if state then 
        nodulo.StateIndex := 0
      else
        nodulo.StateIndex := 1;

    end;

end;


Ainda é possível realizar o controle para o estado Grayed, que é o checkbox com um quadradinho no lugar do visto em forma de v.
Responder

27/09/2011

Frederico Brigatte***

Não entendi direito, tem como fazer um exemplo? Já possuo a rotina para pegar os menus e jogar na treeview, quero agora colocar a checkbox.
Responder

27/09/2011

Frederico Brigatte***

Como usar esse código? Como fazer a Classe?
Responder

28/09/2011

Frederico Brigatte***

Ué, Ninguém?
Responder

29/09/2011

Frederico Brigatte***

To tentando na luta. Estou precisando de ajuda. Coloquei um imagelist no form, dentro dele, duas imagens, uma marcada e outra não. Tudo bem até ai. atribuo as imagens em execução, pois monto a TreeView com dados do MainMenu. Quando clico no botão montar a Tree, ele coloca a imagem não marcada no Pai, e não queria isso, queria só no filho.

Ex.:

-[]Administração
-..[]Cadastro Usuários
...[]Perfil
[]Clientes
[]Fornecedores
-[]Consultar
[]
[]
.
.
Está montando assim. O código está embaixo:


//procedure TForm1.mtdMenuItemToTreeView(aoMenuItem: TMenuItem; aoNode : TTreeNode);
//var
// I: Integer;
//begin
// for I := 0 to aoMenuItem.Count -1 do
// begin
// mtdMenuItemToTreeView(aoMenuItem.Items[i], TreeView1.Items.AddChild(aoNode, //AnsiReplaceStr(aoMenuItem.Items[i].Caption, &, EmptyStr)));
// end;
//end;

//procedure TForm1.btnArvoreClick(Sender: TObject);
//begin
// TreeView1.Items.Clear;
// mtdMenuItemToTreeView(MainMenu1.Items, nil);
// TreeView1.FullExpand;
//end;
Responder

29/09/2011

Frederico Brigatte***

Ninguém?????
Responder

30/09/2011

Frederico Brigatte***

Ninguém pra ajudar?
Responder

17/10/2013

Jeferson Zonta

http://delphi.about.com/od/vclusing/l/aa092104a.htm


Pronto..
Responder

28/05/2014

Frederico Brigatte***

Queria montar o treeview com dados vindos do mainmenu com os checkbox
Responder

28/05/2014

Frederico Brigatte***

Queria montar o treeview com dados vindos do mainmenu com os checkbox
Responder

29/04/2021

Gladson Reis

Ola !
Primeiro crie estas constantes
const TVIS_CHECKED  = $2000;
      TVIS_UNCHECKED= $1000;


Depois esta função :
function IsChecked(Node :TTreeNode):boolean;
var TvItem:TTVItem;
begin
  TvItem.Mask := TVIF_STATE;
  TvItem.hItem := Node.ItemId;
  TreeView_GetItem(Node.TreeView.Handle, TvItem);
  Result :=(TvItem.State and TVIS_CHECKED>0);
end;

No create do seu form:
SetWindowLong(TreeView1.Handle, GWL_STYLE, GetWindowLong(TreeView1.Handle, GWL_STYLE) or TVS_CHECKBOXES);


Espero ter ajudado.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar