CnPack Forum


 
Subject: 请各位大大指点!急急急!小弟在线等!
piaolingfeihu
新警察
Rank: 1



UID 21233
Digest Posts 0
Credits 39
Posts 15
点点分 39
Reading Access 10
Registered 2007-7-26
Status Offline
Post at 2007-10-6 10:49  Profile | Blog | P.M. 
请各位大大指点!急急急!小弟在线等!

小弟先行谢过.
我写了一个动态加载Frame的小程序,每次第一次运行的时候加载是正确的,但是第二次换页面再次加载的时候就不能够正常被加载!
程序代码如下,其中使用的TMS控件中的TAdvToolBarPager,通过它的页面变化,把Frame加载到Form 上!

procedure Ts.FormCreate(Sender: TObject);
begin
  AdvToolBarPager1.ActivePageIndex := 0; //首先动态加载一个页面
  AdvToolBarPager1Change(AdvToolBarPager1);
end;

procedure Ts.AdvToolBarPager1Change(Sender: TObject);
var
  TabIndex: Integer;
  cClass: TClass;
  PageControl: TAdvToolBarPager;
  frameName: string;
begin
  PageControl := Sender as TAdvToolBarPager; //赋值
  TabIndex := PageControl.ActivePageIndex; //赋值
  if PageControl.ActivePage.Tag <> 0 then Exit; //如果已经存在,则不在重新加载

  cClass := GetClass('TFrame' + IntToStr(TabIndex + 1)); //加载
  if not Assigned(cClass) then Exit;
  frame := TComponentClass(cClass).Create(Self) as TFrame;

  if not Assigned(frame) then Exit;
  Frame.Parent := Self; //动态加载
  frame.align := alclient;
  PageControl.ActivePage.Tag := -1; //给Tag 属性赋值,以便不进行重复操作
{initialization frame}
  PostMessage(frame.Handle, WM_INITFRAME, 0, 0);
end;

请各位大大不吝赐教。小弟拜谢!

在线等!
Top
 




All times are GMT++8, the time now is 2024-4-23 17:38

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.006703 second(s), 7 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP