PageControl中有以下三个标签,如何在窗体建立的时候,使TabSheet2、3变成灰色,且不可选中,当在TabSheet1中按某个按钮的时候,TabSheet2、3恢复正常??
TabSheet1、TabSheet2、TabSheet3
我用了TabSheet的Enabled属性,可是不能达到我的要求??

解决方案 »

  1.   

    用show事件看看行不?虽然enable=false 但还能打得,只是不能操作
      

  2.   

    procedure TForm1.FormShow(Sender: TObject);
    begin
    PageControl1.ActivePageIndex:=0;//窗体显示的时候自动显示TabSheet1
     tabsheet2.TabVisible :=false;//使tabsheet2不可见
     tabsheet3.TabVisible :=false;//使tabsheet3不可见
    end;
    这样可以吗?
      

  3.   

    谢谢楼上兄弟,我知道是在Onshow事件中来执行代码?但是具体怎样,我不知道,你说的那种我试过了,达不到那种要求??
      

  4.   

    implementation
    var
      Atmp:Boolean;procedure TFDemo.Button2Click(Sender: TObject);
    begin
      Atmp:=true;
    end;procedure TFDemo.PageControl1Change(Sender: TObject);
    begin
      if not Atmp then
      pagecontrol1.TabIndex:=0
    end;
      

  5.   

    to  Spqk005(渐近死亡) 
    你的程序我试了,只是做到按下TabSheet1、TabSheet2、TabSheet3的时候标题不会变化,但是里面的内容仍然变化。就是说我TabSheet1里有edit1控件,TabSheet2里有edit2控件,TabSheet3里有edit3控件,执行程序后edit1 edit2 edit3仍然会出现,好象楼主的意思不是这样吧
      

  6.   

    对,比如说在一个客人进行登记的时候,如果他的基本信息[TabSheet1]没有得到保存,那么显示其它信息[TabSheet2、3等]的标签就不能使用,并且颜色是灰色的。
      

  7.   

    implementation
    var
      btnenable:Boolean;procedure TFDemo.Button1Click(Sender: TObject);
    begin
      btnenable:=true;
    end;procedure TFDemo.PageControl1Change(Sender: TObject);
    begin
      if not btnenable then
      pagecontrol1.activepageIndex:=0
    end;
      

  8.   

    其实把Spqk005(渐近死亡) 的pagecontrol1.TabIndex:=0
    改为PageControl1.ActivePageIndex:=0;到是勉强可以,但是我想把不能点击的变成灰色,那样用户看起来明显一些,但是就是不知道颜色怎么弄,也许可以用画的,但是我又不知道该啷个画?各位大哥指点一下小弟,我会赚分来加的
      

  9.   

    Dephiuser(我就是我) 正确可以了
      

  10.   

    那更简单了
    新记录还没有保存时
    让用户不能切换到那些地方就OK了
    procedure TNewUnitForm.PageControl1Change(Sender: TObject);
    var
      i:integer;
    begin
      inherited;
      if 是没有保存的新记录  then
      begin
        showmessage('新主记录没有保存!请先保存再进行附加内容的操作!');
        pagecontrol1.TabIndex:=0;
      end;
      for i:=0 to mainmenu1.Items.Count-1 do
        mainmenu1.Items[i].Enabled:=false;  mainmenu1.Items[pagecontrol1.ActivePageIndex].Enabled:=true;
    end;
      

  11.   

    谢谢楼上的兄弟,但是我的PageControl并没有与主菜单进行关联,是在一个独立的窗体上的?但是我想把不能点击的变成灰色,那样用户看起来明显一些,但是就是不知道颜色怎么弄,也许可以用画的,但是我又不知道该啷个画?各位大哥指点一下小弟,我会赚分来加的