How to catch the moment when the parent control has been resized?

前端 未结 5 529
-上瘾入骨i
-上瘾入骨i 2021-01-20 18:58

I have a visual component derived from TWinControl. I need to do some work in my component when its parent control has been resized. In general case, the \"Align\" property

5条回答
  •  醉酒成梦
    2021-01-20 19:45

    Here is exapmle to help you:

    procedure TForm1.Button1Click(Sender: TObject);
    var newMethod: TMethod;
    begin
      newMethod.Code := MethodAddress('OnResizez'); //your action for parent resize
      newMethod.Data := Pointer(self);
      SetMethodProp(button1.Parent, 'OnResize',  newMethod); //set event to button1.parent
    end;
    
    procedure TForm1.OnResizez(Sender: TObject);
    begin
      button1.Width :=   button1.Width+1; //action on resize
    end;
    

提交回复
热议问题