两种不同刷新和显示(有待研究)

情况1:设计期放一个Panel1,然后在Panel1再放一个Panel2,再把Panel1.visible设置为false。那么执行

procedure TForm1.Button3Click(Sender: TObject);
begin
  panel1.show;
end;

的过程是怎么样显示这两个Windows窗口的呢?是否有WM_PAINT消息出现呢?(首次显示好像不需要WM_PAINT,只需要有无效区域)

情况2:设计期放一个Panel1,然后在Panel1再放一个Panel2,再把Panel1.visible设置为true,然后执行:

procedure TForm1.Button3Click(Sender: TObject);
begin
  panel1.Repaint;
end;

都会有哪些事情发生呢?Panel2会不会被重绘呢?

原文地址:https://www.cnblogs.com/findumars/p/5185067.html