procedure ShowPanel(const ChildFormPanel,MainFormPanel: TPanel);
var
    I,J,intSelectResult:Integer;
    panChildPanelName:TPanel;
begin
    for  I:= 0 to MainFormPanel.ControlCount-1 do
    begin
    if MainFormPanel.Controls[I].Name = 'panChild' then
    begin
        panChildPanelName:=(MainFormPanel.controls[I] as TPanel);
        intSelectResult:=Messagebox(Application.Handle,
            '已经打开了一个页面,是否关闭此页面打开另一页面?',
                   '错误',20);
        if intSelectResult=6 then
        begin
            for J:=0 to panChildPanelName.ControlCount -1 do
                if panChildPanelName.Controls[J].Name='cmdClose' then
                    (panChildPanelName.Controls[J] as TButton).Click;
        end
        else
            Exit;
        end;
    end;
    ChildFormPanel.Parent := MainFormPanel;
    ChildFormPanel.Left := 0;
    ChildFormPanel.Top := 0;
end;
请帮我注释一下最好能具体一点有几处很是不明白

解决方案 »

  1.   

    procedure ShowPanel(const ChildFormPanel,MainFormPanel: TPanel);
    var
        I,J,intSelectResult:Integer;
        panChildPanelName:TPanel;
    begin
        for  I:= 0 to MainFormPanel.ControlCount-1 do   //遍历MainFormPanel上的所有控件
        begin
        if MainFormPanel.Controls[I].Name = 'panChild' then //找出控件名为panChild 的控件
        begin
            panChildPanelName:=(MainFormPanel.controls[I] as TPanel); //将找到的这个panChild控件赋给TPanel变量panChildPanelName暂存
            intSelectResult:=Messagebox(Application.Handle,
                '已经打开了一个页面,是否关闭此页面打开另一页面?',
                       '错误',20);
            if intSelectResult=6 then
            begin
                for J:=0 to panChildPanelName.ControlCount -1 do
                    if panChildPanelName.Controls[J].Name='cmdClose' then
                        (panChildPanelName.Controls[J] as TButton).Click;  //触发按钮名为 cmdClose的单击事件
            end
            else
                Exit;
            end;
        end;
        ChildFormPanel.Parent := MainFormPanel;
        ChildFormPanel.Left := 0;
        ChildFormPanel.Top := 0;
    end;
    不知够不够??