首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

求通译一下这段pascal

2013-07-01 
求翻译一下这段pascalprocedure Tw_main.N98Click(Sender: TObject)beginif frm_ksjj nil thenbeginPer

求翻译一下这段pascal

procedure Tw_main.N98Click(Sender: TObject);
begin
  if frm_ksjj = nil then
  begin
    Perform(WM_SETREDRAW, 0, 0); //锁屏幕
    //-----------------------------------------------------

    frm_ksjj:= Tfrm_ksjj.Create1(self,'职能科室');
    frm_ksjj.Tag := 10;
    frm_ksjj.Show;

    //-----------------------------------------------------
    Perform(WM_SETREDRAW, 1, 0); //解锁屏幕并重画
    RedrawWindow(Handle, nil, 0, RDW_FRAME + RDW_INVALIDATE +
      RDW_ALLCHILDREN + RDW_NOINTERNALPAINT);
  end
  else
    frm_ksjj.BringToFront;
end;


    frm_ksjj:= Tfrm_ksjj.Create1(self,'职能科室');
    frm_ksjj.Tag := 10;
    frm_ksjj.Show;

这个可能就是一部分代码,如果需要提供其他代码我在贴上去
[解决办法]
个人猜测:
frm_ksjj是一个通用的窗口,可以被多个其他窗口调用。
Create1是一个自定义的构造函数,self是指父窗口,'职能科室'应该是指这个窗口显示时的标题名。
frm_ksjj.Tag := 10;是给这个窗口的TAG付值,在这个窗口中,通过判断TAG,知道是谁调用的这个窗口。
[解决办法]
    frm_ksjj:= Tfrm_ksjj.Create1(self,'职能科室');//创建窗口
    frm_ksjj.Tag := 10;//将窗口的Tag属性设置为10,应该是一个标识作用
    frm_ksjj.Show;//显示窗口

//创建窗口部分调用的是Create1也就是在frm_ksjj重构的函数Create1,如下:
constructor Tfrm_ksjj.Create1(Aowner: TComponent;sign:String);
var 
i:integer;
begin 
  inherited Create( AOwner );//调用窗口类的Tfrm_ksjj的默认创建方法
  sgn := sign; //将传进来的sign赋值给sgn保存
end;

所以,frm_ksjj:= Tfrm_ksjj.Create1(self,'职能科室');中第一个参数传递的主窗口;第二个参数是将'职能科室'传递进去,最终在Create1赋值给sgn

热点排行