3

アプリの 1 つにリボン GUI を実装することを考えています。もちろん、MS ガイドラインに準拠したいので、通常のリボンのように感じます。しかし、動的に変化する特定の問題を解決する方法を見つけようとしています。リボン。

私はコンセプト ゲーム エディターを作成しています。これは純粋にコンセプト アイデアであるため、リボンを使用する理由について質問しないでください。ただし、アプリケーションには多くのエディター (2D、3D、コードなど) があり、それぞれに GUI を適応させて表示する必要があります。関連するコントロール、つまり 2D エディターではおそらくペイントブラシ、3D では多くのパンおよび回転ツールです。

リボンのガイドラインを考えると、[ホーム] メニューに最も一般的なツールを含めることは理にかなっていますが、編集対象のオブジェクトの種類に限られます (回転は 2D またはコードには意味がありません!)。

最初はエディターごとに 1 つのウィンドウを持つことができると思っていましたが、これは本当に混乱を招きます。Eclipse などのようにすばやくフリックできるように、タブ付きのエディターをたくさん用意したいと思います。また、すべてのエディターが 1 つのファイルに保存されるので、理にかなっていますユーザーのためにこのメタファーを維持するために、1 つのアプリケーション ウィンドウを用意します。

ユーザーが開いているエディターの種類に応じてリボンタブを動的に変更できると考えていました (タブが表示/非表示になる可能性があり、[ホーム] タブのコンテンツなどが変更される可能性があります) が、これは次の MS ガイドラインに違反します:

「グループに表示されるコントロールは、選択の結果として変更してはなりません。コントロールがアクティブでない場合は、グループから削除するのではなく、コントロールをグレー表示にする必要があります」

「リボンで選択されたタブは、177 ドキュメントで行われたユーザーの選択の結果として自動的に切り替わってはなりません (コンテキスト タブ セクションに記載されている場合を除く)。」

ガイドラインの背後にある理由は理解していますが、この状況でリボンを正しく感じる方法がよくわかりません。

  • エディターの種類に応じてタブの内容を変更します (ガイドラインに反します)。
  • エディターの種類ごとにタブを用意します (ただし、エディターの種類が 15 になるとどうなるでしょうか!)
  • 非常に一般的なリボンを用意し、特定のエディター操作をサイド バーなどに移動します (最適な GUI 設計ではありません)。
  • エディターの種類ごとにコンテキスト タブを使用します (より良い解決策ですが、常に 1 つのコンテキスト タブが開いていることを意味します)。

リボンを使用する必要があり、このタイプのアプリケーションに使用する必要があるため、他のアイデア/ソリューションは大歓迎です!

4

2 に答える 2

1

エディター固有のタブを提供している場合は、その特定のエディターに最適な方法でタブをレイアウトできると思います。つまり、他のエディターで同じタブを使用すると、コントロールがときどき移動することになります。多くの混乱を引き起こす場合、特定のエディターに適用されないコントロールをグレー表示することは実用的ではないようです。

一方、コントロールをグレー表示すると、各コントロールをタブ上のまったく同じ物理的な場所に保持できるという利点があります。これの力を過小評価しないでください。ある場所でコントロールを期待し、それを別の場所に突然移動させる(または完全に消える)ことほど悪化することはありません。グレー表示は、グレー表示されたコントロールがこのコンテキストに適用されないことを明確に示しています。

したがって、各エディターのコントロールの違いに応じて、中断の少ないアプローチを決定する必要があります。不要なコントロールをグレー表示するか、各エディターに新しいレイアウトを提供します。

ユーザーが特定のエディターを使用しているときに役に立たないタブが多数あるため、開いているすべてのエディターのタブを開くことは実行可能ではないようです。

可能であれば、ボランティアまたはベータテスターの助けを借りて、ペーパープロトタイピングを行い、どちらのアプローチが彼らとよりよく共鳴するかを確認します。

于 2009-12-08T16:21:01.703 に答える
1

私は同じデザインの問題に直面しています。1 つのアイデアは、エディターごとに異なるフレームを使用し、その中に別の専用リボンを使用することです。無効なコマンドでいっぱいの 10 個のタブがある大きなリボンにはほとんど意味がないからです。

PS別のアイデアを調査しています-特定のタブのクリックを使用して、さまざまなエディターモードをトリガーすることです。(家の製図プログラムを設計しています。)例:

  1. 「ホーム」タブをクリックすると、平面図エディタに切り替わり、「トップ」ビューから家を編集できます。
  2. 「壁」タブをクリックすると、壁の形状や機能を編集できる壁エディタに切り替わります。
  3. 他のタブをクリックしても、現在のエディターが変更されない場合があります。現在のエディター モード自体ではなく、ドキュメント全体 (またはその他のもの) に関連する他の非モーダル コマンドを表示できます。
于 2010-11-06T10:36:38.453 に答える