2011-07-17 25 views
1

3つのグループ化されたツールボタン(ツールバー)があります。そのうちの1つは常にダウンしています。私は3つのフレームを持っています。ボタン間のフレームの切り替えを変更する最も簡単で正しい方法は何ですか?Delphi:3ツールボタン - 3フレーム=切り替え

ありがとうございます!

答えて

3

正しい方法は最高です。最も簡単な方法の1つは、グループ化されたボタンf.iに対して一意のTagを設定することです。 0、1、2は、その後、同じハンドラに3つのボタンの「クリック時」のすべてを設定し、クリックされたボタンのタグに応じて、あなたのフレームの1つを表示し、他を隠す:

procedure TForm1.ToolButton1Click(Sender: TObject); 
begin 
    Frame1.Hide; // will return immediately if already hidden 
    Frame2.Hide; 
    Frame3.Hide; 
    case TToolButton(Sender).Tag of 
    0: Frame1.Show; 
    1: Frame2.Show; 
    2: Frame3.Show; 
    end; 
end; 

これはあなたを想定していますデザイン時に既にフレームをフォームに配置しています。ボタンのGroupedプロパティーと 'Style'プロパティーを 'tbsCheck'に設定することを忘れないでください。

1

フレームは、すべての画面上の同じ位置にある場合は、それをSertacが示唆するような方法を行うことはIDEでを見て、それは本当に厄介になります彼らは彼らの所有者のフォームにどのように見えるか

Iフレームをページコントロールまたはタブコントロールに配置することをお勧めします。

+0

ダンノーは、構造のビューから前方に1つ持ち込むのは簡単です。また、ページがないのでタブコントロールが役に立たないと思います。最後に、ボタンについて少し言及して、コメントではなく実際の答えに変わるかもしれないことを考慮してください。 –

+0

上部にあるオブジェクトインスペクタのコンボを使用すると、他の人によって隠される可能性のあるコントロールを簡単に選択することもできます。さらに、フレームはフォーム上で編集するのではなく、単独で編集するべきです。フレームを特定のフォームにカスタマイズする必要がある場合は、コードで行います。 –

関連する問題