我在一个过程中动态的在窗口中创建一个控件,设置它的属性可以,但是如果要用到Handle句柄来操作的话所做操作就会无效。
比如说我在过程中创建一个TreeView,完成后设置属性OK。但我想取消横向滚动条就用
ShowScrollBar(TmpTreeView.Handle, SB_HORZ, False);
这个时候操作无效,我用过其它的用Handle的函数,都是一样的,无效!
请问怎么回事,,程序如下procedure TFormMyFriendList.AddGroup(GroupCaption: String);
var
TreeTmp :TTreeView;
begin
{ 创建树 }
TreeTmp := TTreeView.Create(Nil); TreeTmp.Parent := Self;
TreeTmp.Align := alClient;
TreeTmp.BorderStyle := bsNone;
TreeTmp.Ctl3D := False;
TreeTmp.Font.Name := 'Arial';
TreeTmp.Font.Size := 9;
TreeTmp.Images := ImageList1;
TreeTmp.Name := 'Group_'+ IntToStr(OutlookBar.OutlookItems.Count - 1);
TreeTmp.RightClickSelect := True;
TreeTmp.BorderColor := clWhite;
TreeTmp.ShowHint := False;
TreeTmp.ShowLines := False;
TreeTmp.ShowRoot := False;
TreeTmp.ReadOnly := True;
TreeTmp.OnClick := suiTreeView1Click;
TreeTmp.OnMouseDown := suiTreeView1MouseDown;
上面操作都可以,
ShowScrollBar(TreeTmp.Handle, SB_HORZ, False); //取消横向滚动条
这句就不行了 TreeView_SetItemHeight(TreeTmp.Handle,130); //设置项目高度
这句也不能。
反正只在有Handle的就不行。end;
比如说我在过程中创建一个TreeView,完成后设置属性OK。但我想取消横向滚动条就用
ShowScrollBar(TmpTreeView.Handle, SB_HORZ, False);
这个时候操作无效,我用过其它的用Handle的函数,都是一样的,无效!
请问怎么回事,,程序如下procedure TFormMyFriendList.AddGroup(GroupCaption: String);
var
TreeTmp :TTreeView;
begin
{ 创建树 }
TreeTmp := TTreeView.Create(Nil); TreeTmp.Parent := Self;
TreeTmp.Align := alClient;
TreeTmp.BorderStyle := bsNone;
TreeTmp.Ctl3D := False;
TreeTmp.Font.Name := 'Arial';
TreeTmp.Font.Size := 9;
TreeTmp.Images := ImageList1;
TreeTmp.Name := 'Group_'+ IntToStr(OutlookBar.OutlookItems.Count - 1);
TreeTmp.RightClickSelect := True;
TreeTmp.BorderColor := clWhite;
TreeTmp.ShowHint := False;
TreeTmp.ShowLines := False;
TreeTmp.ShowRoot := False;
TreeTmp.ReadOnly := True;
TreeTmp.OnClick := suiTreeView1Click;
TreeTmp.OnMouseDown := suiTreeView1MouseDown;
上面操作都可以,
ShowScrollBar(TreeTmp.Handle, SB_HORZ, False); //取消横向滚动条
这句就不行了 TreeView_SetItemHeight(TreeTmp.Handle,130); //设置项目高度
这句也不能。
反正只在有Handle的就不行。end;
var TV:TTreeView;
Node:TTreeNode;
i:integer;
begin
TV:=TTreeView.Create(self);
TV.Parent:=Form1;
node:=TTreeNode.Create(TV.Items);
for i:=1 to 500 do TV.Items.Add(node,'aaa');
ShowMessage('产生滚动条');
ShowScrollBar(TV.Handle,SB_VERT,False);
ShowMessage('去掉滚动条');
Node.Free;
TV.Free;
end;