如何根据某一标志程序动态地使控件(如菜单,工具条上的按钮)处于活动状态或非活动状态?不用TTimer,谢

解决方案 »

  1.   

    用TAction,为菜单,工具条的按钮指定一个Action,并在Action的OnUpdate事件中写代码控制Action的状态
      

  2.   

    比如我的MDI主窗体有两个Action,分别为最小化所有和还原所有
    在Window菜单有两个菜单项,分别关联两个Action,然后指定两个Action的OnUpdate事件为下面的过程
    procedure TMDIMainForm.WindowUpdate(Sender: TObject);
    //窗口菜单更新
    begin
      if MDIChildCount=0 then
      begin
        WindowRstAll.Enabled    :=  false;
        WindowCloseAll.Enabled  :=  false;
      end else begin
        WindowRstAll.Enabled    :=  true;
        WindowCloseAll.Enabled  :=  true;
      end;
    end;
    这样如果有MDI子窗体,两个菜单就会生效,否则失效