2012/10/18 ik <[email protected]> > Hello, > > I'm trying to figure out why this keep on existing on VT from CCR > virtualtree-new . >
A new release is already done (just i could not upload to Lazarus-ccr) so maybe is already fixed. Anyway you can send the complete project here so i can test Luiz > > The problem is that it display only the first char instead of the whole > string. > > My code: > ------------------ > .... > type > PTreeData = ^TTreeData; > TTreeData = record > Column1, > Column2, > Column3 : String; > end; > > > procedure TForm1.FormCreate ( Sender : TObject ) ; > var > Column : TVirtualTreeColumn; > i : integer; > begin > Randomize; > VST.Header.Options := VST.Header.Options +[hoVisible]; > VST.Header.Style := hsFlatButtons; > for i := 1 to 3 do > begin > Column := VST.Header.Columns.Add; > Column.Text := 'column #' + IntToStr(i); > Column.Options := Column.Options + [coAllowClick, coResizable]; > Column.Width := UTF8Length(Column.Text) + 100; > end; > > VST.TreeOptions.MiscOptions := VST.TreeOptions.MiscOptions + > [toEditable,toGridExtensions]; > VST.TreeOptions.SelectionOptions := VST.TreeOptions.SelectionOptions + > [toExtendedFocus, toMultiSelect]; > > end; > > procedure TForm1.btnAddRootClick ( Sender : TObject ) ; > Var > Data : PTreeData; > XNode : PVirtualNode; > Rand : Integer; > begin > Rand := Random(99); > XNode := VST.AddChild(nil); > > if VST.AbsoluteIndex(XNode) > -1 then > Begin > Data := VST.GetNodeData(XNode); > Data^.Column1 := 'One ' + IntToStr(Rand); > Data^.Column2 := 'Two ' + IntToStr(Rand + 10); > Data^.Column3 := 'Three ' + IntToStr(Rand - 5); > End; > > end; > > procedure TForm1.VSTChange ( Sender : TBaseVirtualTree; Node : > PVirtualNode ) ; > begin > VST.Refresh; > end; > > procedure TForm1.VSTFocusChanged ( Sender : TBaseVirtualTree; > Node : PVirtualNode; Column : TColumnIndex ) ; > begin > VST.Refresh; > end; > > procedure TForm1.VSTGetNodeDataSize ( Sender : TBaseVirtualTree; > var NodeDataSize : Integer ) ; > begin > NodeDataSize := SizeOf(TTreeData); > end; > > procedure TForm1.VSTGetText ( Sender : TBaseVirtualTree; Node : > PVirtualNode; > Column : TColumnIndex; TextType : TVSTTextType; var CellText : > WideString ) ; > var > Data : PTreeData; > begin > Data := VST.GetNodeData(Node); > case Column of > 0 : CellText := Data^.Column1; > 1 : CellText := Data^.Column2; > 2 : CellText := Data^.Column3; > end; > end; > > procedure TForm1.VSTNewText ( Sender : TBaseVirtualTree; Node : > PVirtualNode; > Column : TColumnIndex; NewText : WideString ) ; > var > Data : PTreeData; > begin > Data := VST.GetNodeData(Node); > case Column of > 0 : Data^.Column1 := NewText; > 1 : Data^.Column2 := NewText; > 2 : Data^.Column3 := NewText; > end; > end; > > ... > > ------------------------- > Any ideas why it happens and how to solve this ? > > Thanks, > Ido > > -- > _______________________________________________ > Lazarus mailing list > [email protected] > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus > >
-- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
