2012-04-06 18 views
4

私はDelphiアプリケーションにDevExpress VCLリボンを持っています 時々、アプリケーションがいくつかの更新を行っていて、その期間に私はユーザーが何もしないようにしてすべてを無効にすることができるようにする必要がありますリボンのコントロールが動作するように各タブのコントロールの数を取得することはできませんTdxRibbon(DevExpressリボンコントロール)のコントロールを無効にする方法はありますか?

ComponentCountは、私の操作に関係なく0を返しますが、コントロールが表示されます。 私testcodeは次のように探しています:更新が行われている間

procedure TfrmMain.RibbonDisable(var aMessage: TMessage); 
var 
    i: integer; 
begin 
    try 
    for i := 0 to ribMain.TabCount - 1 do 
     begin 
     ribMain.Tabs.Items[i].Active := True; 
     ShowMessage(IntToStr(ribMain.ActiveTab.ComponentCount)); 
     end; 
    except 
    on E:exception do 
     Logfile.Error('frmMain.RibbonDisable: ' + E.Message); 
    end; 
end; 
+0

VCL DevExpressのどのバージョンですか? – menjaraz

+0

@menjaraz 2011 1.8 – OZ8HP

+0

あなたはアクションを使用したいと思うかもしれません。 –

答えて

5

単に全体TdxRibbonを無効にします。

ribMain.Enabled := False; 

それとも、本当に唯一のタブ項目を無効にしたい場合には、次のように使用します。

ほとんどのツールバーコントロールでは、表示されているものではなく、アクションを無効にすることが一般的です。

+1

私は解決策2を使いました。100% – OZ8HP

+0

助けてくれてありがとう:-) – TLama

+1

2番目の解決策は、何かが欲しいものであることをユーザーに示しています(ボタンはグレー表示されています) – OZ8HP

関連する問題