intraweb 下的TIWRegion容器的enabled := false无法让其中的控件不可用,如何设置大虾:
  我在容器内放置了一些输入性的控件如 edit 等,希望通过设置    TIWRegion.enabled := False; 让输入控件无效,可是不行,页面打开后还是可以输入,请问该如何设置?  谢谢

解决方案 »

  1.   

    我在属性查看选项卡里没有看到TIWRegion控件有Enabled这个属性,但是在代码提示有,编译也能通过,但是容器中的控件没有被设为不可用,估计应该是控件的bug,编码中不应有这属性。
    建议还是用 for语句容器中一个个控件设为不可用。
    procedure TIWForm1.IWAppFormCreate(Sender: TObject);
    var
      i : Integer;
    begin
      for i := 0 to iwrgn1.ControlCount - 1 do
      begin      iwrgn1.Controls[i].Enabled := false;  end;
    end;
      

  2.   

    iwedt1是放在iwrgn1里的
    ------------------------------
    unit Unit1;interfaceuses
      Classes, SysUtils, IWAppForm, IWApplication, IWColor, IWTypes, Controls,
      IWVCLBaseControl, IWBaseControl, IWBaseHTMLControl, IWControl,
      IWCompButton, IWCompEdit, Forms, IWVCLBaseContainer, IWContainer,
      IWHTMLContainer, IWHTML40Container, IWRegion;type
      TIWForm1 = class(TIWAppForm)
        iwrgn1: TIWRegion;
        iwedt1: TIWEdit;
        procedure IWAppFormCreate(Sender: TObject);
      public
      end;implementation{$R *.dfm}
    procedure TIWForm1.IWAppFormCreate(Sender: TObject);
    var
      i : Integer;
    begin  for i := 0 to iwrgn1.ControlCount - 1 do
      begin      iwrgn1.Controls[i].Enabled := false;  end;
    end;initialization
      TIWForm1.SetAsMainForm;end.
      

  3.   

    6rl 你好,  问题解决,在iwregio 里的其他控件都可以,如果里面再有个regio,那这个region里的东西就必须重新来谢谢你的解答  能指点一下吗?  在itraweb里通过一个按钮打开一个页面,在页面创建时调用com+等待数据返回,在等待时,是否可以做一个类似  的“请等待 ”的提示框,谢谢
      

  4.   

    1,改写源文件IWRegion.pas的里面的一些代码,当设置Enable=false时,容器里的控件不可用,重编译后,把pas文件放到工程中。
       也可以这么做在页面浮一个层出来,并锁定下面的内容不可选。
    2,“请等待 ”的提示框,我没做过,但可以试试。在intraweb里通过一个按钮打开一个页面,是弹出窗口么?
      

  5.   

    function TIWRegion.RenderHTML(AContext: TIWBaseHTMLComponentContext): TIWHTMLTag;
    var
      LSplitterSize, LSplitterLocation : Integer;
      LGripType : string;
      LGripStyle : string;
      LIsW3C : Boolean;
      LGripWidth, LGripHeight, LGripTop : string;
      LFormTag : TIWHTMLTag;
      i : Integer;
      LGripZIndex : Integer;
    begin
      if not Enabled then begin
        for i := 0 to ControlCount - 1 do begin
       //   if Controls[i] is TIWCustomControl then begin
            Controls[i].Enabled := false;
       //   end;    end;
      end;
      
      Result := inherited RenderHTML(AContext);
      

  6.   

    当设置Enable=false时,容器里的控件不可用,重编译后,把pas文件放到工程中
    ------------------------------------
    当设置Enable=false时,容器里的控件不可用,改完后,把pas文件放到工程中