her bir node için checkboxu bulunan treeview kullanan varmı?
iyi çalışmalar
treeview uzerinde checkbox
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- delphi.net
- Üye
- Mesajlar: 67
- Kayıt: 01 Nis 2007 05:30
- Konum: mUĞLa
http://www.dosyaekle.com/do2.php?x=VirtualTreeview.rar
umarım işinizi görür
iyi çalışmalar
kolay gelsin...
umarım işinizi görür
iyi çalışmalar
kolay gelsin...
- delphi.net
- Üye
- Mesajlar: 67
- Kayıt: 01 Nis 2007 05:30
- Konum: mUĞLa
VirtualTreeView alıştığınız treeview'den daha farklı bir yapıyla çalışır. Bileşenin görüntülediği veri hakkında bilgisi yoktur. Siz eventları kullanarak bu bilgiyi ona verirsiniz.
Record tipinde veriyi tutacak bir yapı tanımlayın.
Örneğin
OnGetNodeDataSize olayını kullanarak her node verisi için ne kadar bellek ayırması gerektiğini belirtin.
OnGetText olayını kullanarak node metnini nasıl oluşturacağını öğretin.
Checkbox görüntülenmesi için Options.MiscOption.CheckSupport özelliğini true yapın.
Nodeları eklemek için ya AddChild metodunu kullanın
ya da OnInitNode, OnInitChildren olaylarını kullanın. Bu olayların tetiklenmesi için RootNodeCount özelliğini değiştirin.
Kısaca; KOD yazmanız lazım.
Record tipinde veriyi tutacak bir yapı tanımlayın.
Örneğin
Kod: Tümünü seç
PNodeData = ^TNodeData;
TNodeData = record
AdSoyad : String;
Yas : Integer;
end;
Kod: Tümünü seç
procedure TForm1.VirtualStringTree1GetNodeDataSize(
Sender: TBaseVirtualTree; var NodeDataSize: Integer);
begin
NodeDataSize := sizeof(TNodeData);
end;
Kod: Tümünü seç
procedure TForm1.VirtualStringTree1GetText(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
var CellText: WideString);
var
NodeData : PNodeData;
begin
NodeData := Sender.GetNodeData(Node);
CellText := NodeData.AdSoyad + ' (' + Inttostr(NodeData.Yas)+ ')';
end;
Nodeları eklemek için ya AddChild metodunu kullanın
Kod: Tümünü seç
with VirtualStringTree1 do begin
Node := AddChild(RootNode);
NodeData := VirtualStringTree1.GetNodeData(Node);
Node.CheckType := ctCheckBox;
NodeData.AdSoyad := 'test test';
NodeData.Yas := 12;
end;
Kısaca; KOD yazmanız lazım.