Hi!! David, thanks for the answer.

David Smith escribió:
> Your original code showed TButton.parent := self, not Treeview.
        
Yes, that "Self" means TreeView (the code is a constructor of
descendant of the TTreeView I want to make). 

My code says:

constructor TMyTree.Create(AOwner: TComponent);
begin
  inherited; 
    bt    := TButton.Create(Self) ;
    bt.Parent    := Self ;
    btAll.SetSubComponent(True)   ;

(TMyTRee is a descendent of TTreeView) 


> so let me get this straight: you want the button to 
> scroll out of sight when you scroll down on the 
> treeview, or to stay in view? 

I would like to make a component of this type: A TTreeView containing
a little button inside it (within?). To do this today, I have to use
frames: I have a TFrame containing a TTreeView and a Button.

> If you want it to stay in view then it's going to 
> be an independent button from the treeview, like 
> if it's on a toolbar above the treeview. 

Yes, I want to remain visible even when the TTreeView scroll. 
        
The main problem is that I construct my own button and the component
must be part of that component. Therefore, answering your later mail,
I can not Create the button as part of the form. 
All works fine, but when MyTRee scroll, the button seems to move,
until I call Repaint. That's why I do the following (something like this)

/////////////////////

  TMyTree = class(TTreeView)
  private
    bt : TButton ;
  protected
    .....
    procedure TreeWndProc(var Message: TMessage);

/////////////////////

constructor TMyTree.Create(AOwner: TComponent);
begin
  inherited;

    OldWndProc      := Self.WindowProc;
    Self.WindowProc := TreeWndProc ;

    btAll := TButton.Create(Self) ;


/////////////////////


procedure TBuildFCtree.TreeWndProc(var Message: TMessage);
begin

   OldWndProc(Message);
   if Message.Msg = WM_VSCROLL then begin
      Self.Invalidate ;
   end ;

end;

This code works fine, Each time you click on the scroll bar, the
TreeView repaint itself.        
But if I move down with keys up or down (Assuming that the number of
items beyond the bottom of the component) WM_VSCROLL is not received
=> The component not repaint Itself. Should I catch another message? 

Thanks very much.
Neo






Reply via email to