现在有一个PageControl其中我动态的创建了3个TabSheet,我还可以动态地创建更多的tabsheet,或者删除几个tabsheet,每个TabSheet里有一个Button,在PageControl外还有一个Button名字为ok,
问题是我按下ok后,要使当前最前端的tabsheet中的button的caption属性改变,而在后方的其他的tabsheet的caption不变,请问该如何实现呢?

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      I: Integer;
      vActivePage: TTabSheet;
    begin
      vActivePage := PageControl1.ActivePage;
      if not Assigned(vActivePage) then Exit;
      for I := 0 to vActivePage.ControlCount - 1 do
        if vActivePage.Controls[I] is TButton then
        begin
          (vActivePage.Controls[I] as TButton).Caption := '新年快乐';
          Break;
        end;
    end;
      

  2.   

    呵呵!来晚了。
    就是遍历控件。
    for I := 0 to vActivePage.ControlCount - 1 do
        if vActivePage.Controls[I] is TButton then
        begin
          (vActivePage.Controls[I] as TButton).Caption := '新年快乐';
          Break;
        end;
      

  3.   

    procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
      pagecontrol1.ActivePage.Caption:=caption;
    end;
      

  4.   

    谢谢各位,大家说德都很有用,但我现在的问题是:    我在一个动态创建的tabsheet中,都同时动态创建了一个webBrowser,(因为想设计一个浏览器,  比如按下PageControl外的'搜索按钮',就执行当前tabsheet中的webBrowser.navigate('www.baidu.com')),现在的问题是,我在调试中发现用遍历控件的方法就是找不到动态创建tabsheet中的webBrowser,如果是随tabsheet动态创建的其他控件,比如button就可以找到,更奇怪的问题是如果是在设计窗体期间,用拖拉的方式,将webBrowser放在tabsheet中,遍历控件时就能够找到webBrowser,有什么方法可以用找到我的webBrowser呢,高分相送!!
      

  5.   

    动态创建控件时,将创建方法这样写: ...:=TWebBrowser.create(self);这样就可以通过form遍历这个控件,self 也可写成form的变量名
      

  6.   

    谢谢以上2位但是.
    To:lw549(那个孩子他爹) webBrowser的Parent属性是只读的,我不知道该如何来设置webBrowser.Parent请赐教,
    还有我在程序只有代码 mywebBrowser.ParentWindow:=mytabSheet.Handle;
    这就话,意思就是让在tabSheet上显示webBrowser的网页内容,调试能够通过.TO:singun(singun)
    你说的方法我试过了,但是还是没有找到我动态创建的WebBrowser,还是先谢谢了.
      

  7.   

    TControl(WebBrowser).Parent := mytabSheet;