多くのページ(AdvPage1、AdvPage2、AdvPage3 ...)でTAdvToolBarPagerを使用しています。各ページには多くの編集、ナビゲータなどがあります。つまり、ADMINではすべてのページ(1,2,3)を表示したいのですが、USERの場合はページ(1,2)または(1)のみを表示したいと考えています。デルファイのページの可視プロパティを動的に設定
以下のコードを使用して、すべての編集、ナビゲータを無効にすることができます。いくつかの方法は、TAdvToolBarPager visbleのページを制約に基づいてどのように設定するかを支援することができます。これを達成するための他の方法。前もって感謝します!
Procedure SetForm(Form: TForm; enabled: Boolean);
var PropInfo : PPropInfo;
i : Integer;
begin
for i := 0 to Pred(Form.ComponentCount) do
begin
if (Form.Components[i] is TDBEdit) or (Form.Components[i] is DBNavigator) then
begin
PropInfo := GetPropInfo(Form.Components[i].ClassInfo, 'Enabled');
if PropInfo <> nil then
SetOrdProp(Form.Components[i], PropInfo, Ord(enabled));
end;
end;
end;
はあなただけTabVisibleプロパティを設定することはできません3ページのFalse?ページを表示するが選択できないようにするには、代わりにTabEnabledをFalseに設定します。 –
はい、私は言及を使用してそれを行うことができます。どのように反復し、TAdvToolBarPagerのAdvPageにTabVisible/TabEnabledを設定することができますか? Form.AdvToolBarPager1.AdvPages [1] .TabVisible:= False; Form.AdvToolBarPager1.AdvPages [2] .TabVisible:= False; Form.AdvToolBarPager1.AdvPages [1] .TabVisible:= False; しかし、私は動的に設定したいと思います。 –
「動的に設定する」という意味を説明できますか?上記のSetFormプロシージャをどのように呼び出すでしょうか? –