TTreeView problem
3 отговора
145 прегледа
TTreeView problem
Здравейте,
Имам следния проблем:
Ползвам TTreeView и не искам да се expand-ва при double-click , a само когато е натиснат + .Можете ли да помогнете?
Предварително благодаря.
Имам следния проблем:
Ползвам TTreeView и не искам да се expand-ва при double-click , a само когато е натиснат + .Можете ли да помогнете?
Предварително благодаря.
Re: TTreeView problem
Ami dokolkoto si mislq tova ste ti svyrshi rabota moje i da ima po inteligentno reshenie ama az za tova se setih
procedure TForm1.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
begin
if forExpand then
begin
AllowExpansion := true;
forExpand := false;
end
else
AllowExpansion := false;
end;
procedure TForm1.TreeView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
//
if (key = 107) then
begin
TreeView1.AutoExpand := true;
forExpand := true;
TreeView1.Items.Item[TreeView1.Selected.AbsoluteIndex].Expand(true);
end;
end;
Dobavi si forExpand : boolean

procedure TForm1.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
begin
if forExpand then
begin
AllowExpansion := true;
forExpand := false;
end
else
AllowExpansion := false;
end;
procedure TForm1.TreeView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
//
if (key = 107) then
begin
TreeView1.AutoExpand := true;
forExpand := true;
TreeView1.Items.Item[TreeView1.Selected.AbsoluteIndex].Expand(true);
end;
end;
Dobavi si forExpand : boolean
Re: TTreeView problem
A da i vemsto 107 za + moje da polzvash i VK_ADD ili tam kakyvto iskash drug klavish

Re: TTreeView problem
Благодаря, получи се, само че малко по-различно го направих :
procedure TForm1.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
begin
if fAllowExpandOrCollapse then
begin
AllowExpansion := true;
fAllowExpandOrCollapse := false;
end
else
AllowExpansion := false;
end;
procedure TForm1.TreeView1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button = mbRight then
begin
fAllowExpandOrCollapse := true;
TreeView1.Selected.Expanded := not TreeView1.Selected.Expanded;
end;
end;
procedure TForm1.TreeView1Collapsing(Sender: TObject; Node: TTreeNode;
var AllowCollapse: Boolean);
begin
if fAllowExpandOrCollapse then
begin
AllowCollapse := true;
fAllowExpandOrCollapse := false;
end
else
AllowCollapse := false;
end;
procedure TForm1.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
begin
if fAllowExpandOrCollapse then
begin
AllowExpansion := true;
fAllowExpandOrCollapse := false;
end
else
AllowExpansion := false;
end;
procedure TForm1.TreeView1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button = mbRight then
begin
fAllowExpandOrCollapse := true;
TreeView1.Selected.Expanded := not TreeView1.Selected.Expanded;
end;
end;
procedure TForm1.TreeView1Collapsing(Sender: TObject; Node: TTreeNode;
var AllowCollapse: Boolean);
begin
if fAllowExpandOrCollapse then
begin
AllowCollapse := true;
fAllowExpandOrCollapse := false;
end
else
AllowCollapse := false;
end;