delphi - 为 Frame 添加 OnShow 事件响应函数.

更具体的说明可以参看以下两处:

http://manztiara.wordpress.com/2009/10/06/delphi-frame-whats-going-on/

http://www.delphifr.com/codes/TFRAME-ONSHOW-ONHIDE_51610.aspx

 

这里只把我实现的过程说明一下:

1. 在要添加 OnShow 事件的 Frame 类中, 其 Private 域添加以下函数声明

// 手动编写的 OnShow 事件响应函数
procedure CMShowingChanged(var M: TMessage); message CM_SHOWINGCHANGED;
 

2. 其实现部分为

  // 手动编写的 OnShow 事件响应函数
  procedure TFrmPageLayout.CMShowingChanged(var M: TMessage);
  begin
      inherited;
 
      if Showing then
      begin
        // 在这里写上 OnShow 的事件响应代码
      end
 end;

注: delphi 的 Frame, 实在是一个代码复用,模块划分的好东东, 但其中也有太多不尽如意的地方。如 OnCreate, OnShow 等事件,都不能很方便的进行响应。

你可能感兴趣的:(delphi - 为 Frame 添加 OnShow 事件响应函数.)