質問
を作っていきたい応用リボンインタフェースと見えるように動作します:
- 申請してメインフォームとリボン
- リボンは、複数のタブ
- ユーザーインターリボンパネルの下のリボンの変化を表示コンテンツ関連のリボンパネルです。そのように、リボンタブの為に、その場合はタブで全ウインドウです。
例えば、リボンの二つのタブ:人事ができます。が現在のリボンパネルは"人"に、以下のリボン表示グリッド人データです。リボンを含むコマンドを操る人データです。ユーザーのスイッチを"タスク"タブでリボンをすべて表示形式を作業項目は以下の通りオリジナルのデコレーション
質問ができるリボンを用いるこのシナリオ?
を読んで"オフィスを堪能™のユーザインタフェース設計ガイドライン"の記述できるものと なリボンが、ほかならないことがありますか?
解決 2
他のヒント
TLDR:!私はそれはあなたのアプリケーションのコンセプトに合うと思うが、それを動作させるために人々と仕事関数の間の明確な区別が存在しなければならない。
けれどもスコットが、それはMicrosoftが、それはリボンも使用のこの種に合うと思うのためのリボンを使用することを意図したものとは対照的に、多少あるかもしれないという点があります。 あなたはマイケルのような従来のタブを持っているしたい場合は、ので、あなたが窓やタスクを切り替えるためのボタンが必要になります示唆しています。リボンを使用することによって、あなたは直接それが簡単にどのようなタスクにリンクしているもののボタンを学習することで、タスク」タブで制御機能/ボタンをリンクします。全体のアプリのために使用されているボタンは、Microsoftがない、まさに実際にある、Officeボタン(左上隅にある大きなOfficeロゴ)に統合することができます。
私たちは、現在だけでなくリボン状のツールバーを実装しているので、おそらく私は完全に客観的ではありませんよ。しかし、私はリボンが非常に簡単に動作し、簡単にボタンを発見することができます考える傾向にあります。ワンサイドノート:これはまた、使用することによって達成することができ、大きなロゴのドロップダウンギャラリーの、それは、利用可能な最もリボンパッケージはこれらのものが実装されていることだけは簡単ですので、それを自分でコーディングする必要はありません(しない限りすることができます非常に簡単に)
!あなたが示唆されていることは、Microsoftのガイドラインに反しています。あなたが彼らのガイドラインに違反することがあります。
リボンは一つの文書がありますドキュメント中心のアプリケーションで使用されることになって、あなたはそれを操作するためのリボンのコマンドがあります。リボンのタブはだけでなく、アプリケーションをナビゲートするために...リボンをナビゲートするために意図されています。
(...私はあなたが記述方法でリボンを使用するいくつかのアプリケーションを知っている...そして、非常にうまく動作するようだと言った!)
リボンを使用するために我々のアプリを実装する場合、私は似た頭の痛みに走りました。次のバージョンのために、我々は戻って、状況依存ツールバーになるだろう:)
タブごとに、あなたのコマンドは(20未満)、数ある場合は、多分あなたはトップに沿って、または他の場所タブ画面でコマンドのボタンを備えた従来のタブコントロールを使用する必要があります。これはまた、あなたのユーザー(あなたがリボンで行うことができない何か)にその範囲を明確にするのに役立ちますタブコントロール、外に全体のアプリ(例えば、出口、プリファレンス)に適用されるボタンを持つの選択肢を与えるだろう。
ユーザーの作業は、 『タブ、』すべてのタブを使用して、代わりに別の主ウィンドウ(例えば、人々のための1とタスクのための1)を使用していないとの情報を比較することが含まれている場合。それぞれが、その後、独自の明確な従来のメニューバーとツールバーを持つことができ、ユーザーが代わりにタブコントロールを前後に切り替えるので、自分の仕事をするために自分の画面上の側で窓の側に置くことができます。
正面に適切なパネルを持ってOnTabChangeイベントを使用します:
procedure TForm1.Ribbon1TabChange(Sender: TObject; const NewIndex,
OldIndex: Integer; var AllowChange: Boolean);
begin
case NewIndex of
0: Panel0.BringToFront;
1: Panel1.BringToFront;
2: Panel2.BringToFront;
3: Panel3.BringToFront;
end;
end;
ちょうどFYI、私はDevExpress社のxtrabarスイート少しでプレイしていると、タグのプロパティを使用して、このタブコントロールの動作を実装しました。私は次のような何かをした後、各リボンページのパネルコントロールを作成します:
InitPanels
RibPage1.tag = Panel1
RibPage2.tag = Panel2
' Set Display Properties
'Panel1 displays initially
With Panel1
.Dock = Fill
.Show()
End With
With Panel2
.Dock = Fill
.Hide()
End With
Ribbon.SelectedPage = RibPage1
を変更する選択したページには、リボン
P as Panel = ctype(sender.tag, Panel)
p.hide()
選択したページに変更
でP as Panel = ctype(sender.tag, Panel)
p.hide()
リボン
P as Panel = ctype(sender.tag, Panel)
p.Show()
P as Panel = ctype(sender.tag, Panel)
p.Show()
私はこれを行うには、いくつかのより良い方法は、おそらくそこにあるので、プログラミングで初心者ですが、これは私のために働くようです。おそらく、また、リボンのベンダーに依存ます。
この情報がお役に立てば幸いです。
ジョシュ
WPFリボンの新しいバージョンは、以前のバージョンと同じ制限がありません。