(57)【特許請求の範囲】
【請求項１】
同じ表示部領域を共用する、同時に表示されて互いに依存関係にない第１のツールバー表示部（５０５）及び第２のツールバー表示部（５１０）にコントロールを動的に表示するコンピュータ実装方法であって、
前記第１のツールバー表示部は、常時表示される第１のコントロール（２０５）と、特殊コントロール（２１０）と、特殊コントロールが選択されることに応答して第１のツールバー表示部上に表示される第２のコントロールを有するドロップオフウェル表示部（２１５）とを有し、
前記第２のツールバー表示部は、第３のコントロールを有し、
前記第１のコントロール、第２のコントロール及び第３のコントロールは、互いに独立しており、各コントロールは、第１のツールバー表示部及び第２のツールバー表示部にどのコントロールを優先して表示するかを示すパラメータ値と関連付けられており、
コンピュータが実行する前記方法は、
前記第２のコントロールが選択されると、前記第２のコントロールの前記パラメータ値が最優先を示す値に変更されるとともに、前記第１のコントロールの前記パラメータ値が１つずつ減少するステップ（６１０、６１５）と、
前記第１のツールバー表示部の領域を拡張して、前記選択された第２のコントロールを前記第１のコントロールの一つとして前記第１のツールバー表示部に追加するステップ（６２０、６２５）と、
前記第１のツールバー表示部の領域の拡張にしたがって、前記第１のツールバー表示部の領域と重複しないように前記第２のツールバー表示部を縮小するステップ（６３０）と
を含み、
前記第１のツールバー表示部の領域の拡張および前記第２のツールバー表示部の領域の縮小は、前記第２のコントロールが前記第１のコントロールの一つとして前記第１のツールバー表示部に追加されるたびに実行され、
前記第１のツールバー表示部の領域および前記第２のツールバー表示部の領域は、それぞれの領域に表示する最低限のコントロールの数が予め定められており、前記第２のツールバー表示部の領域は、当該数を表示できないほど縮小されず、
前記第１のコントロールのパラメータ値及び前記第２のコントロールのパラメータ値が変更されても、前記第３のコントロールのパラメータ値は不変であり、
前記第１のコントロール及び前記第３のコントロールは、予め定められた相対的な順序で表示され、
前記パラメータ値によって示される優先度は、コントロールが他のコントロールに比してどの位最近に選択されたかを示すＭＲＵ値に基づいて決定されることを特徴とする方法。
【発明の詳細な説明】
【０００１】
（発明の分野）
本発明は、グラフィックユーザインタフェースシステムに関し、さらに特定すると、コントロールの使用法に基づきツールバーの表示部に表示されるコントロールを動的に変更することに関する。
【０００２】
（背景）
グラフィックユーザインタフェース（ＧＵＩ）システムは、ウィンドウ、ツールバーの表示部、アイコンおよびグラフィックを使用するグラフィックフォーマットでユーザに情報を提示する。ＧＵＩシステムの目標の１つとは、ユーザが多くのコマンドを覚える必要なしに基礎的なソフトウェアの機能をより活用する気になるように快適かつ明白な方法で情報により必要とされる情報を提示することである。例えば、ＧＵＩシステムを使用してファイルの場所を移動する場合、ユーザはファイルを選択してから、それを所望のフォルダーまたはその他の場所までドラッグすればよいだけである。ユーザはあらゆるテキストコマンドを覚えることを要求されないが、活動、例えばファイルの移動を、自然なまたは精通している機能を実行する、例えばファイルを選択し、それを好まれている宛先に移動することによって実行している。
【０００３】
ソフトウェアがさらに複雑になり、さらに多くの機能性を提供するに従い、ＧＵＩの設計もソフトウェア開発者にとってますますより難しいものになる。典型的には、この追加の複雑さおよび機能性のため、ユーザが追加機能性を利用できるように、ユーザへの多くのコマンドの提示が生じる。一般的には、ＧＵＩを設計する目標は、紛らわしくなく実用的であるコマンドをユーザに提示することである。ユーザに提示されるコマンドの数が増えるに従い、ユーザをボタン、メニューおよびグラフィックスの複数の層でユーザを圧倒することなく、ユーザフレンドリインタフェースでコマンドを提示することはさらに困難になる。
【０００４】
ソフトウェア設計者は、複数のコマンドまたは制御アイテムを最小量のの表示部領域に含むＧＵＩ内でのメニューおよびツールバーの表示部を作成し、それによりユーザが容易に利用できるコマンドの密度を高めることによりこの問題に対処してきた。メニューは、プルダウン様式でコマンドを提示し、の表示部での単一点からの複数のコマンドアクセスを可能にする。ツールバーは、容易にアクセスするために常に画面上にあるツールバーの表示部に典型的には表示されるコントロールを含む。ツールバーの表示部は、通常、画面上に恒久的に表示されているため、ツールバー内のコントロールがユーザにより最も頻繁に使用されるそれらのコントロールであるのが理想的的である。例えば、これらのスタイル属性は多くの場合ワープロセッション中に使用されるため、ワープロアプリケーションでのツールバーの表示部は、対応するツールバーの文字スタイルコントロール（例えば、太字、イタリック、および下線）を提示してよい。しかしながら、通常、どのコントロールが最も重要であるかの決定は――ユーザによってではなく――ソフトウェア設計者によって、考えられるユーザのニーズを予想して行われる。
【０００５】
ツールバーの表示部の活用はソフトウェア設計者にジレンマを生じさせてきた。ユーザによってしばしば使用される多くのコマンドがあるが、設計者はツールバーの表示部の限られた空き領域のために制約を受ける。表示するコントロールが多すぎると、アプリケーションにとっての作業領域の表示部領域が食い込まれるため、ツールバーの表示部の空き領域は限られている。加えて、ユーザの前に置かれるコントロールが多すぎると紛らわしくなり、ＧＵＩの目標が妨げられる。
【０００６】
ツールバーの表示部でユーザに対しコマンドを多く提示すぎるという問題に対処するための複数のアプローチがあった。１つのアプローチは、の表示部空き領域が足りないの表示部の右側のツールバーの表示部を単に切り捨てる。切り捨てられた領域のコントロールには、ユーザは単にアクセスできない。ユーザは、（つまり、ウィンドウの大きさを増加することなどによって）ツールバーの表示部の大きさが増加しない限りツールバーの表示部の切り捨てられた領域にアクセスすることはできない。
【０００７】
別のアプローチを使用すると、複数のツールバーの表示部が、ウィンドウ内のの表示部空き領域を共用し、それによりツールバーの表示部内に含まれているコマンドに対するユーザアクセスを提供しつつも、作業領域の表示部の量を最大限にすることができる。ツールバーの表示部が空き領域を共用するため、そのの表示部領域は縮小され、それにより任意の位置時点で表示できるコントロールの数を削減する。ツールバーの表示部に表示されないコントロールは、ユーザがツールバーの表示部上の対応するツールバーの使用可能なコントロールを通してページ移動できるようにする特別な制御アイテムを使用することによってアクセスすることができる。しかしながら、ユーザが表示されていないコントロールを使用することを希望するときには、ユーザは、所望のコントロールが表示されるまで毎回使用可能なコントロールを通ってページ移動してから、それを選択することが要求される。これは、ユーザが、コントロールがいつまたはどのように使用されるのかに関係なく、コントロールにアクセスするためにツールバー表示を通して常にページ移動することを必要とする可能性がある。
【０００８】
第３アプローチは、複数のツールバーの表示部がの表示部空き領域を共用することを可能にしない。ただし、このアプローチは、多様なコントロールに対する優先順位の割当てに対処する。ツールバーの表示部が使用可能なコントロールのすべてを表示できないときには、表示されているコントロールは、割り当てられた優先順位に基づいている。しかしながら、この割り当てられた優先順位は、ユーザのコントロールの使用法とは無関係である。該優先順位は静的であり、ソフトウェア開発者によりコントロールに割り当てられ、大部分のユーザが実行するほど見識がないＶｉｓｕａｌ  Ｂａｓｉｃプログラムの使用を通してだけ改変されてよい。
【０００９】
そして最終的には、複数のアプリケーションは、アプリケーションがいるある特定の状態またはどのオブジェクトが選択されるのかに基づいてツールの表示部内にどのコントロールがあるのかを修正する。
【００１０】
したがって、技術には、アプリケーションによって使用するためのウィンドウ内の使用可能な作業領域を最大限にする一方で、ユーザのコントロールの使用法に基づき、ユーザに最も重要であるコントロールをツールバーの表示部内で表示するための方法に対するニーズがある。方法は、セッション全体で動的に変化し、ツールバーの表示部を通してアクセス可能なすべてのコントロールにアクセスしてよい、ユーザにとって最も重要なコントロールも表示するだろう。
【００１１】
（発明の要約）
本発明は、アプリケーションにとってのウィンドウ内での使用可能な作業領域を最大限にしつつ、ユーザにとって最も重要であるツールバーの表示部内でのコントロールを表示する方法を提供することによって前述のニーズを満足させる。本発明は、ツールバーの表示部内にどのコントロールを表示するのかを決定するため、他のツールバーの表示部との表示部空き領域を共用するときにツールバーの表示部の大きさを拡張または縮小するため、および典型的にはツールバーの表示部の特別なコントロールによってツールバーの表示部に表示されていないコントロールへのアクセスを提供するために、コントロールの使用法を追跡調査することができる。
【００１２】
コントロールの使用法を追跡調査することの優位点とは、それによって、最も使用されそうなコントロールのツールバーの表示部内への配置および最も使用されそうにないそれらのコントロールの削除が可能になるという点である。これは、より混乱が少ないより明確なユーザインタフェースを提供する。それは、また、ソフトウェア開発者が、どのコントロールがユーザにとってより重要であるのか、より重要でないのかを開発段階中に「推量」しなくてもユーザが複数のコントロールにアクセスできるようにする。ユーザは、本質的に、ソフトウェアをプログラミングする必要なく、単にそれを使用することによって、専用のツールバーの表示部を「作成する」。ツールバーの表示部を作成することによって、ユーザは、誰か他の人が彼らのためにそれを設計した場合より結果により満足するだろう。
【００１３】
本発明は、ツールバーの表示部内でのコントロールのユーザの使用法に基づきプログラムモジュールのコントロールを表示するために、抑制されたの表示部領域を有するツールバーの表示部の方法を提供する。該ツールバーの表示部領域は、以下のために抑制されてよい。つまり、１）ウィンドウの境界が小さすぎて、ツールバーの表示部全体を表示できない。あるいは２）複数のツールバーの表示部が同じの表示部領域を共用する。本発明は、の表示部制約に基づきツールバーの表示部の大きさを決定することができる。ツールバーの表示部のコントロールは、該コントロールの使用法に基づきユーザに表示できる。コントロールおよび最も最近に使用されたパラメータと呼ばれている該コントロールがいつ最も最近に使用されたのかを示すパラメータの識別は、データ構造内で維持することができる。該最も最近に使用されたパラメータは、コントロールが、ツールバーの表示部を介してアクセスされたそれ以外のコントロールに関していつ使用されたのかを示す相対パラメータである。
【００１４】
始動時、プログラムモジュールは、同じアプリケーションの最後のセッションから保存されたツールバーの表示部のコントロールのデータ構造およびパラメータを含む使用法ファイルがあるかどうかを判断する。使用法ファイルが存在しない場合には、プログラムモジュールが事前に定められた順序に基づきツールバーの表示部にコントロールを配置することができる。ツールバーの表示部内に収まらないあらゆるコントロールは、ドロップオフウェルの表示部内に配置される。ドロップオフウェルの表示部内に含まれているコントロールは、ツールバーの表示部内の特別なコントロールを通してアクセスされる。
【００１５】
ユーザがコントロールを選択すると、そのコントロールのデータ構造が、特定のコントロールが最も最近使用されることを示すために修正される。選択されたコントロールがすでに表示されると、ユーザインタフェースに何の影響もないだろう（つまり、同じコントロールが表示されるままとなるだろう）。ただし、ユーザがドロップオフウェルの表示部からコントロールを選択すると、その選択されたコントロールのデータ構造は、それが最も最近に使用されたことを示すために修正され、それから該選択されたコントロールがツールバーの表示部に追加される。ツールバーの表示部が該選択されたコントロールを入れるために大きさを拡張できる場合には、ツールバーの表示部は拡張され、該選択されたコントロールがツールバーの表示部に追加される。それから、どのコントロールがツールバーの表示部に収まるのかに関しての決定が、典型的には、ツールバーの表示部を介してアクセスされるすべてのコントロールのデータ構造内に含まれている最も最近に使用されたパラメータに基づき下される。
【００１６】
本発明のこれらの優位点およびそれ以外の優位点は、開示されている実施形態の下記の詳細な説明に関する考察から、および添付図面および請求の範囲を参照することによってさらに明確に理解、認識できる。
【００１７】
（詳細な説明）
本発明はコントロールの使用法に基づきツールバーの表示部にコントロールを動的に表示するための方法を目的としている。一実施形態においては、本発明は、ワシントン州、レッドモンド（Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎ）のマイクロソフト社（Ｍｉｃｒｏｓｆｏｔ  Ｃｏｒｐｏｒａｔｉｏｎ）によって販売されている、抱き合わされ、「オフィス２０００（ＯＦＦＩＣＥ  ２０００）」と題されているアプリケーションのセットの中に組み込まれている。簡単に説明すると、「オフィス２０００」アプリケーションは、すべての抱き合わせアプリケーション間に一貫したユーザインタフェースを提供する一方で、ユーザが複数のアプリケーションにアクセスできるようにする。
【００１８】
本発明は、ツールバーの表示部内でのコントロールの使用法に基づき、プログラムモジュールのコントロールを表示するために、制約された表示領域を有する方法を提供する。ツールバーの表示部の大きさは、これらの抑制に基づいて決定できる。その結果、ツールバーの表示部内のコントロールは、コントロールの使用法に基づいて提示することができる。
【００１９】
本発明を支持し、ツールバーの表示部内にコントロールのパラメータを含むデータ構造は、コンピュータシステムメモリ内で維持することができる。該データ構造内では、コントロールの識別およびパラメータ、最も最近に使用されたコントロールがいつ維持されているのかを示すために維持されている。このパラメータは、コントロールが、いつツールバーの表示部を介してアクセスされるそれ以外のコントロールに関係して使用されたのかを示す。
【００２０】
起動時、アプリケーションプログラムなどのプログラムモジュールは、同じアプリケーションの最後のセッションから保存されたツールバーのコントロールのデータ構造およびパラメータを含む使用法ファイルがあるかどうかを決定する。使用法ファイルが存在しない場合には、プログラムモジュールは、事前に定められた順序に基づきツールバーの表示部内にコントロールを配置する。ツールバーの表示部に収まらないあらゆるコントロールは、ドロップオフウェルの表示部などの別の表示部要素の中に配置することができる。ドロップオフウェルの表示部に含まれているコントロールは、典型的には、ツールバーの表示部に表示されている特別のコントロールを通してアクセスされる。
【００２１】
ユーザがあるコントロールを選択すると、そのコントロールのデータ構造が、その特定のコントロールが最も最近に使用されたコントロールであることを示すために修正される。選択されたコントロールがすでに表示されている場合には、ユーザインタフェースに対する影響はない（つまり、同じコントロールが表示される）。しかしながら、ユーザがドロップオフウェルの表示部からコントロールを選択すると、その選択されたコントロールのデータ構造は、それが最も最近に使用されたものであることを示すために修正され、それから選択されたコントロールはツールバーの表示部に追加される。ツールバーの表示部が選択されたコントロールを収容するために大きさを拡張できる場合には、ツールバーの表示部が拡張され、選択されたコントロールがツールバーの表示部に追加される。どのコントロールが、ツールバーの表示部を介してアクセスされるすべてのコントロールのデータ構造に含まれている最も最近に使用されたパラメータに基づきツールバーの表示部に収まるのかに関する決定を下すことができる。
【００２２】
ツールバーの表示部が拡張できる場合には、それは別のツールバーの表示部との表示部領域を共用し、第２ツールバーの表示部の大きさは、選択されたコントロールを収容するために第１ツールバーの表示部によって必要とされている空き領域の量、縮小することができる。逆に、コントロールが第２ツールバーの表示部に関連付けられたドロップオフウェルの表示部から選択されると、第１ツールバーの表示部は、選択されたコントロールを入れるために第２ツールバーの表示部の拡張を収容するために大きさを縮小することができる。
【００２３】
ツールバーのコントロールは、そのツールバーの表示部内で事前に定められた相対順序を有することができる。したがって、コントロールがツールバーの表示部で表示される順序は、好ましくは、最も最近に使用されたパラメータの値に基づいて変化しない。例えば、３つのコントロールが、コントロール１、コントロール２、およびコントロール３（つまり、コントロール２およびコントロール３の左側にコントロール１を表示し、コントロール３の左側でコントロール１の右側にコントロール２を表示する等）として定義される順序を有すると仮定する。２つのコントロールのためだけに空き領域が存在し、コントロール３が好まれている最も最近に使用された値を有し、コントロール１が次にランクされた最も最近に使用された値を含む場合、コントロール３およびコントロール１はその相対順序、つまりコントロール３の左側にコントロール１（およびコントロール２は表示されない）でツールバーの表示部に表示される。
【００２４】
（例示的な動作環境）
図１および下記の説明は、発明が実現されてよい適切なコンピューティング環境の簡略で一般的な説明を提供することを目的としている。発明はパソコンとともにオペレーティングシステムで動作するアプリケーションプログラムの一般的なコンテキストで説明されるが、当業者は、発明がそれ以外のプログラムモジュールと組み合わされて実現されてもよいことを認識するだろう。一般的には、プログラムモジュールは、特定のタスクを実行する、あるいは特定の抽象データ型を実現するルーチン、プログラム、構成部品、データ構造等を含む。さらに、当業者は、本発明が、携帯型のデバイス、マルチプロセッサシステム、またはマルチプロセッサベースの消費者電子機器またはプログラム可能な消費者電子機器、ミニコンピュータ、メインフレームコンピュータ等をその他のコンピュータシステム構成で実践してよいことを理解するだろう。本発明は、タスクが通信網を通じてリンクされている遠隔処理デバイスにより実行される分散コンピューティング環境で実践されてもよい。分散コンピューティング環境においては、プログラムモジュールは局所メモリ記憶装置および遠隔メモリ記憶装置の両方に位置してよい。
【００２５】
図１を参照すると、本発明を実現するための例示的なシステムは、処理装置２１、システムメモリ２２、およびシステムメモリを処理装置２１に結合するシステムバス２３を含む、従来のパソコンを含む。該システムメモリ２２は、読取専用メモリ（ＲＯＭ）２４およびランダムアクセスメモリ（ＲＡＭ）２５を含む。起動時中などにパソコン２０内の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入出力システム２６（ＢＩＯＳ）は、ＲＯＭ２４に記憶されている。パソコン２０は、さらに、例えば、取外し可能ディスク２９から読み出すまたは取外し可能ディスクへ書き込むためのハードディスクドライブ２７、磁気ディスクドライブ２８、および例えばＣＤ−ＲＯＭディスク３１を読み取るため、またはそれ以外の光媒体から読み取るまたはそれ以外の光媒体に書き込むための光ディスクドライブ３０を含む。該ハードディスクドライブ２７、磁気ディスクドライブ２８、および光ディスクドライブ３０は、それぞれハードディスクドライブインタフェース３２、磁気ディスクドライブインタフェース３３、および光ドライブインタフェース３４によってシステムバス２３に接続されている。該ドライブおよび関連するコンピュータ読取り可能媒体は、パソコン２０に不揮発性記憶領域を提供する。コンピュータ読取り可能媒体の前記説明はハードディスク、取外し可能磁気ディスクおよびＣＤ−ＲＯＭディスクを参照しているが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ等などのコンピュータによって読取り可能であるそれ以外の種類の媒体も、例示的なオペレーティング環境で使用されてよい。
【００２６】
多くのプログラムモジュールは、オペレーティングシステム３５、１つまたは複数のアプリケーションプオグラム３６、ツールバーの表示部モジュール３７、およびプログラムデータ３８を含むドライブおよびＲＡＭ２５に記憶されてよい。ユーザは、キーボード４０およびマウス４２などのポインティングデバイスを通してパソコン２０の中にコマンドおよび情報を入力してよい。その他の入力デバイス（図示されていない）は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送用パラボラアンテナ、スキャナ等を含んでよい。これらのおよびそれ以外の入力装置は、多くの場合、システムバスに結合されているシリアルポートインタフェース４６を通して処理装置２１に接続されるが、ゲームポートまたは汎用シリアルバス（ＵＳＢ）などのそれ以外のインタフェースによって接続されてよい。モニタ４７またはそれ以外の種類のディスプレイデバイスも、ビデオアダプタ４８などのインタフェースを介してシステムバス２３に接続される。モニタに加えて、パソコンは、典型的にはスピーカまたはプリンタなどのそれ以外の周辺出力装置（図示されていない）を含む。
【００２７】
該パソコン２０は、遠隔コンピュータ４９などの１台または複数台の遠隔コンピュータを使用するネットワーク化された環境で動作してよい。該遠隔コンピュータ４９は、サーバ、ルータ、ピアデバイスまたはそれ以外の共通ネットワークノードであってよく、メモリ記憶装置５０だけが図１に描かれているが、典型的には、パソコン２０を基準にして記述されている要素の多くまたはすべてを含む。図１に描かれている論理コネクションは、ローカルエリアネットワーク（ＬＡＮ）５１、およびワイドエリアネットワーク（ＷＡＮ）５２を含む。このようなネットワーキング環境は、事務所、企業全体のコンピュータネットワーク、イントラネット、およびインターネットで一般的である。
【００２８】
ＬＡＮネットワーキング環境で使用されるとき、パソコン２０は、ネットワークインタフェース５３を通してＬＡＮ５１に接続される。ＷＡＮネットワーキング環境で使用されるとき、パソコン２０は、典型的には、モデム５４、またはインターネットなどのＷＡＮ５２上で通信を確立するためのそれ以外の手段を含む。内蔵型または外付けであってよいモデム５４は、シリアルポートインタフェース４６を介してシステムバス２３に接続される。ネットワーク化された環境においては、パソコン２０を基準にして描かれたプログラムモジュール、またはその部分は遠隔メモリ記憶装置内に記憶されてよい。図示されているネットワークコネクションは例示的であり、コンピュータ間で通信リンクを確立するそれ以外の手段が使用されてよいことが理解されるだろう。
【００２９】
（ツールバーの表示部を拡張するためのユーザインタフェースステップ）
総合的に図２と呼ばれている図２ａから図２ｄは、本発明の実施形態においてドロップオフウェルの表示部から選択されたコントロールを組み込むために、ツールバーの表示部を拡張することに関係するユーザインタフェースステップのグラフィック表記である。図２ａは、対応するツールバーのためにコントロール２０５を表示するツールバーの表示部２００を描く。該コントロール２０５は、典型的には、関連するコントロールアイテムが選択されると、指定コマンドを実行するために動作するボタンコマンドである。選択は、コントロール上でマウスポインタを移動し、マウスボタンを押すことによって、あるいはキーボードエントリを介してコントロールにアクセスすることによって実行できる。該コントロールはアプリケーションに特殊となるか、オペレーティングシステムまたはブラウザと対話するコマンドであってよい。例えば、ツールバーの１つのコントロールは、選択時に、オペレーティングシステムへの呼出しを要求するファイルを保存するためのコマンドであってよい。別のコントロールは、アプリケーション内でユーティリティを使用してグラフを作成するためにコマンドを生成してよい。
【００３０】
図２ａから図２ｄは、マイクロソフト社（Ｍｉｃｒｏｓｏｆｔ，Ｃｏｒｐｏｒａｔｉｏｎ）によって開発された「マイクロソフトエクセル（Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌ）」と呼ばれているスプレッドシートアプリケーションプログラムに表示されるツールバーの表示部２００を描いている。これがアプリケーション内でツールバーの表示部を表示する代表的な例にすぎず、本発明がアプリケーションまたは任意のオペレーティングシステムなどの任意の種類のプログラムモジュール内のグラフィックユーザインタフェースの表示部要素に適用可能であることが、当業者によって認識されるだろう。
【００３１】
図２ａは、使用法に基づいて表示されるコントロール２０５を描くか、あるいはこれが初めてである場合には、アプリケーションは実行されたことがなく、使用法履歴、つまりソフトウェア設計者により設定された事前に定められたセットも存在しない。ユーザが、自動の和算（ＡｕｔｏＳｕｍ）コントロール２０７などのすでにツールバーの表示部に表示されているコントロールを選択すると、ツールバーの表示部は修正されないだろう。これは、本発明のこの実施形態においては、最も最近に使用されたコントロールが表示されているためである。図２ａにおいては、ＡｕｔｏＳｕｍコントロール２０７はすでにツールバーの表示部に表示されている。したがって、その選択後、それは最も最近に使用されたコントロールであると判断される。しかしながら、それはすでにツールバーの表示部にあるため、表示されているコントロールは変化しない。
【００３２】
図２ｂは、ツールバーの表示部２００に表示されている特殊（Ｍｏｒｅ  Ｂｕｔｔｏｎｓ）コントロール２１０を選択しているユーザを描く。該特殊コントロール２１０とは、ツールバーの表示部を介してアクセスできる追加コントロールをの表示部領域内で収めることができないときにツールバーの表示部２００に表示されているコントロールである。特殊コントロールはそれ以外のコントロールに対するアクセスポイントとして役立つため、その使用法を追跡調査するためのデータ構造を維持する値が最小であることが理解されてよい。本発明の一実施形態において、ツールの表示部２００に表示されていないコントロールとは、最も最近に使用されたのではないそれらのコントロールである。ユーザがツールバーの表示部２００から特殊コントロール２１０を選択するとき、ポップアップメニューが現れ、ドロップオフウェルの表示部２１５およびその中に含まれているコントロールを表示する（図２ｃを参照のこと）。
【００３３】
図２ｃは、ドロップオフウェルの表示部２１５およびツールバーの表示部２００の中に収まらない追加コントロールを描く。ユーザは、ドロップオフウェル（ｄｒｏｐ−ｏｆｆ  ｗｅｌｌ）の表示部２１５から、例えば、フォーマットペインタ（Ｆｏｒｍａｔ  Ｐａｉｎｔｅｒ）コントロール２２０などのコントロールを選択すると、フォーマットペインタ機能を実行するためにコマンドが発行される。フォーマットペインタコントロール２２０の選択の後、フォーマットペインタコントロール２２０は最も最近に使用されたコントロールであると設定される。それから、ツールバーの表示部２００は、フォーマットペインタコントロール２２０を表示するために修正される。したがって、ツールバーの表示部２００は、ユーザ選択に基づいたそれらのコントロールを含む。
【００３４】
図２ｄは、ツールバーの表示部２００に表示されている新しいコントロールを描く。該フォーマットペインタコントロール２２０は、それは最も最近に使用されたコントロールであるため、いまツールバーの表示部に表示されている。このケースでは、ツールバーの表示部が拡張できたため、フォーマットペインタコントロールの選択の前に表示されたすべてのそれ以外のコントロール２０５は依然としてツールバーの表示部２００に表示されている。ツールバーの表示部２００は、該フォーマットペインタコントロール２２０を入れるために拡張されたに過ぎなかった。また、該フォーマットペインタコントロール２２０の位置に注意する。ツールの表示部２００内のコントロールは、定められた相対順序で表示される。該フォーマットペインタコントロールの相対順序位置は、クリップボードコントロール２２５とアンドゥコントロール２３０の間であると定められている。したがって、フォーマットペインタコントロール２２０がツールバーの表示部２００に追加されると、それはクリップボードコントロール２２５とアンドゥコントロール２３０の間に配置された。
【００３５】
（起動時のコントロールの表示）
図３は、本発明のある実施形態でのアプリケーション起動時にツールバーの表示部にコントロールを表示するためのステップを描くフローチャートである。メソッド３００がＳＴＡＲＴ（起動）ステップ３０５で開始し、アプリケーションなどのプログラムモジュールが実行されるステップ３１０に進む。図１に関して説明されるように、アプリケーションは、ツールバーの表示部の対応するツールバーのコントロールを表示するためにツールバーの表示部モジュールと対話する。本発明の一実施形態にとっては、ツールバーの表示部モジュールは、アプリケーションによってアクセス可能な動的リンクライブラリを介して実現されてよい。代替実施形態の場合、ツールバーの表示部モジュールは、アプリケーションプログラムの実行可能ファイル内に配置できる。いったんアプリケーションが実行されると、メソッド３００はステップ３１５に進む。
【００３６】
ステップ３１５では、コントロールを表示するためのツールバーの表示部の大きさが決定される。ツールバーの表示部の大きさは、アプリケーションがその中で実行するウィンドウの大きさ、およびの表示部領域を共用する複数のツールバーの表示部があるかどうかを含む複数の要因に基づき変化することがある。好ましくは、各ツールバーはそれに対応するの表示部の大きさを有し、前記要因を考慮に入れる。該ツールバーの表示部の大きさは、それからツールバーの表示部の大きさをチェックすることによって決定される。
【００３７】
ステップ３２０では、現在実行中のアプリケーションの使用法履歴が存在するかどうかの判断が下される。これは、ツールバーの表示部でどのコントロールを表示するのか、およびドロップオフウェルの表示部などの別の表示部要素の中にどのコントロールを配置するのかに関する決定を支持する。使用法履歴とは、アプリケーションの過去のセッションからのツールバーの表示部に表示されるコントロールのユーザの使用法を示す情報である。複数のツールバーの表示部が表示領域を共用する場合では、この使用法履歴はステップ３１５で決定されるツールバーの表示部の大きさを修正してよい。本発明の一実施形態においては、ツールバーの表示部の使用法履歴は、アプリケーションの過去のセッションがあったと推定し、同じアプリケーションの過去のセッションから記憶される。この実施形態においては、記憶された使用法情報はアプリケーションに依存するため、別個のアプリケーションは別個の記憶された使用法情報を必要とする。これは、多くのアプリケーションが専用のコントールでツールバーを生成する（ｐｏｐｕｌａｔｅ）ため好ましい。さらに、あるアプリケーションでしばしば使用されるコントロールは、別のアプリケーションではめったに使用されない可能性がある。しかしながら、これは同じアプリケーションの異なるセッションには当てはまらない。例えば、ユーザは、多くの場合ワープロプログラムで文字スタイルコントロールを使用してよいが、スプレッドシートプログラムでは使用してはならない。ユーザがワープロアプリケーションでのセッションを終了した後に、ワープロアプリケーションが使用される次回のためにこの情報を維持することは貴重だろう。しかも、この情報はスプレッドシートアプリケーションにほとんど利点を提供しない。したがって、記憶された使用法情報がアプリケーションに依存しているが、同じアプリケーションのそれ以降のセッションのためにアクセス可能であることが好ましい。
【００３８】
このアプリケーションに過去の使用法履歴がない場合、メソッド３００はステップ３３０に進み、ツールバーの表示部に表示されているコントロールは、所定の使用法または履歴使用法パターンによって決定される。このステップは、アプリケーションが始めて実行されるとき、あるいはアプリケーションが実行されたことがあるが、コントロールのどれも使用されなかったときに発生するだろう。それからメソッド３００はステップ３３５に進み、停止する。
【００３９】
過去の使用法履歴が存在する場合には、メソッド３００は、コントロールが過去の使用法履歴の情報に基づきツールバーの表示部に表示されるステップ３２５に進む。ユーザは、アプリケーションが過去のセッションから終了したときにユーザがそれを離れたとおりのツールバーの表示部を見るだろう。それから、メソッド３００は、ステップ３３５に進み、停止する。
【００４０】
（ツールバーの表示部にコントロールを表示するための方法）
図４は、本発明のある実施形態において、ツールバーの表示部と関連付けられているドロップオフウェルの表示部から選択されるコントロールを表示するためのステップを描くフローチャートである。メソッド４００は起動（ＳＴＡＲＴ）ステップ４０５で開始する。ステップ４１０に進み、ドロップオフウェルの表示部から選択が行われる。この実施形態においては、該選択は、ツールバーの表示部の特殊コントロールを選択することによるドロップオフウェルの表示部へのユーザアクセスによって実行される。特殊コントロールを選択すると、ドロップオフウェルの表示部に含まれているコントロールが表示される。それから、ユーザはマウスポインタを使用し、ドロップオフウェルの表示部からコントロールを選択できる。代わりに、ユーザは、キーボードを使用することによりその選択タスクを実行できる。コントロールがドロップオフウェルの表示部に含まれているという事実は、その最も最近に使用されたパラメータがツールバーの表示部にそれを入れるのに十分なほど低くなかったことを意味する。最も最近に使用されたパラメータにとってのさらに低い値とは、関連付けられたコントロールが、最も最近に使用されたパラメータ値にとってのさらに高い値が付いたコントロールよりさらに最近に使用されたことを示す。最も最近に使用されたパラメータがどのコントロールを表示するのかを決定するために使用されることが好ましいが、当業者は、最も頻繁に使用されるパラメータなどのその他の使用法アルゴリズムが存在することを認識するだろう。どの使用法パラメータ、またはパラメータの組み合わせを使用するのかに関する決定は実現選択であり、本発明の範囲内で考えられる。
【００４１】
ステップ４１５では、すべての適用可能なコントロールの最も最近に使用されたパラメータが更新される。最も最近に使用されたパラメータは、好ましくは数値システムを使用して実現される。最低の値は、関連付けられたコントロールが最も最近に使用されたコントロールであること、つまりそれがユーザによって選択された最後のコントロールでああったことを表すだろう。少なくとも１５のコントロールを有するツールバーを含む代表的な例においては、コントロールごとの最も最近に使用されたパラメータは、１と１５までの間の範囲内での任意の値となるだろう。コントロールが選択されると、その最も最近に使用されたパラメータにおは、それが最も最近に衣装されたコントロールであることを示す１という値が割り当てられる。選択されたコントロールの過去の値より高い最も最近に使用されたパラメータを有するすべてのコントロールは増分される。例えば、６という最も最近に使用されたパラメータ値を有するコントロールがユーザによって選択されると、その最も最近に使用されたパラメータには１という値が割り当てられ、６未満（つまり１から５）という最も最近に使用されたパラメータを有するそれ以外のコントロールのすべてが、その最も最近に使用されたパラメータを１づつ増分される。最も最近に使用されたパラメータを維持するこの方法により、最も最近に使用されたの値の中にギャップが存在しないことを確実にすることによって、最も最近に使用された値を維持するためのデータ構造で必要とされる記憶装置空き領域の最低の量が可能になる。
【００４２】
この実施形態においては、選択されたコントロールには、該選択されたコントロールが、ツールバーの表示部を介してアクセスされる任意のそれ以外のコントロールよりさらに最近に使用されたことを示すために１という値が割り当てられる。過去に選択されたコントロールもその最も最近に使用されたパラメータに１とい値を有するため、その選択前に選択されたコントロールの最も最近に使用されたパラメータの値未満の最も最近に使用されたパラメータを有するあらゆるそれ以外のコントロールだけではなく、それも更新されなければならない。
【００４３】
それらのコントロールの最も最近に使用されたパラメータの更新に続き、メソッド４００はステップ４２５に進み、ツールバーの表示部を拡張できるかどうかをチェックする。本発明のこの実施形態は、最も最近に使用されたコントロールをの表示部に入れる。ドロップオフウェルの表示部を有するツールバーの表示部が選択されたコントロールを入れるために拡張できる場合には、ツールバーの表示部を拡張し、選択されたコントロールをの表示部に追加することが好ましい。ツールバーの表示部を拡張できない場合には、更新された最も最近に使用されたパラメータ値に基づいたどれだけ多くのコントロールがツールバーの表示部に収まるのかの再計算が実行されなければならない。
【００４４】
この例示的な実施形態においては、ツールバーの表示部をその最大の大きさで維持するための試みがなされるが、複数の要因が該ツールバーの表示部の大きさを減少させる可能性がある。ツールバーの表示部を含むウィンドウがツールバーの表示部の最大幅未満である場合、あるいはツールバーの表示部が他のツールバーの表示部と空間を共用する場合、ツールバーの表示部はその大きさを無理やり削減される。ステップ４２５では、ツールバーの表示部を拡張できるかどうかに関する決定は、それが選択されたコントロールを収容できるのかどうか、あるいはおそらくツールバーの表示部が別のツールバーの表示部との表示部領域と共用しており、該の表示部領域の中に拡張できることを確認するためにウィンドウの大きさをチェックすることが含まれる。
【００４５】
ツールバーの表示部が拡張できることの決定がステップ４２５で下されると、メソッド４００は、ツールバーの表示部が選択されたコントロールを入れるためにの表示部内で拡張されるステップ４３０に進む。
【００４６】
ツールバーの表示部が、ステップ４２５で選択されたコントロールを入れるために拡張できるかどうかに関係なく、本発明のこの実施形態は、すべてのコントロールに関連付けられている最も最近に使用されたパラメータに基づきツールバーの表示部内のコントロールの新しいセットを決定する。これを実行するために、該メソッド４００は、コントロールが、ツールバーの表示部内のすべてのコントロールの最も最近に使用されたパラメータに基づきツールバーの表示部に表示されるために選択されるステップ４４０に進む。（それが、最も最近に使用されたコントロールであることを意味する）最低の最も最近に使用されたパラメータ値を有するコントロールで開始することによって、選択が実行される。このコントロールは、ツールバーの表示部内の一定量の表示部空き領域を必要とするだろう。次に最も最近に使用されたコントロールは、それもツールバーの表示部内に収まるかどうかを判断するために調べられる。この例示的な実施形態は、コントロールにとっての最も最近に使用されたパラメータを下って続行し、それが、収まらないコントロールに到達するまでそれぞれの個別コントロール装置に必要とされる空き領域を蓄積する。ツールバーの表示部に表示されるために選択されるコントロールは、ツールバーの表示部に収まらないだろうコントロール未満の最も最近に使用されたの値を有するそれらのコントロールである。再び、特殊コントロールの機能とは、他のコントロールにアクセスすることであるため、それが常に表示されていることが好ましい。
【００４７】
前述のように、本発明の一実施形態は、選択されたコントロールを、それ以外の表示されているコントロールとともにその事前に定められた相対順序を維持して表示することを必要とする。この事前に定められた相対順序が、ユーザとの視覚的な継続性を維持するために維持されることが好ましい。ユーザは、コントロールがツールバーの表示部表示されるとき、それがその他の特殊なコントロールの後または前に表示することを予想するようになってよい。このユーザの予想は、ユーザにある特殊なコントロールを見つけるためにツールバーの表示部を通して探すことを要求しないことによって、ツールバーの表示部の総合的なユーザ効率を高める。ユーザに、ツールバーの表示部内のその他のコントロールに基づき、コントロールがツールバーの表示部内のどこに表示されるのかという認識があれば、ユーザはさらに迅速にツールバーの表示部内でのコントロールの場所を見分けるだろう。あるいは、コントロールがドロップオフウェルの表示部内に含まれているケースでは、ユーザは、該コントロールがツールバーの表示部内にないことを迅速に判断することができ、そのため、ユーザは、自分が所望のコントロールを見つけるためにはドロップオフウェルの表示部を開かなければならないことを理解する。
【００４８】
ステップ４４５では、選択されたコントロールはツールバーの表示部に表示される。それ以外のすべてのコントロールは、ツールバーの表示部に位置する特殊コントロールを通しツールバーの表示部を介してアクセス可能なドロップオフウェルの表示部に配置されるだろう。ツールバーに表示されていないそれ以外のコントロールに、多くの方法でアクセスし、それを記憶、表示できることが認識されるだろう。この実施形態は、これらのそれ以外のコントロールにアクセスし、それを記憶、表示するための特殊コントロールおよびドロップオフウェルの使用を含むが、ツールバーに表示されていないコントロールと対話するために使用されるそれ以外のアクセス方法、記憶方法および表示方法が、本発明の範囲内にあることは、本発明の範囲内と見なされる。
【００４９】
ステップ４４６に進むと、コントロールに使用されていないツールバー内の追加空き領域があるかどうかを判断するために、ツールバーの表示部領域が調べられる。ツールバー内に選択されたコントロールを表示した後、別のコントロールを入れるには十分ではないいくらかの使い残しのの表示部空き領域がある可能性が存在する。これを説明するために、本発明はステップ４４６内に使い残しのの表示部空き領域があるかどうかをチェックし、この空き領域が存在する場合には、ツールバーの表示部の大きさがいくつかのの表示部コントロールを収めるために縮小されるステップ４４７に進む。ステップ４４７の後に、あるいは使い残しの空き領域がステップ４４６で見つからなかった場合に、メソッド４００は、それが停止するステップ４５０に進む。
【００５０】
（複数のツールバーの表示部が存在するユーザインタフェースステップ）
集合的に図５として記述されている図５ａから図５ｂは、本発明の実施形態におけるスライドコントロールを介してツールバーの表示部を拡張することに換気するユーザインタフェースステップを説明するグラフィック表記である。図５ａは、２つのツールバーの表示部５０５，５１０、およびスライドコントロール５１５を描く。該スライドコントロール５１５は、２つのツールバーの表示部５０５および５１０に割り当てられているの表示部空き領域の量を変更するために使用される。本発明の一実施形態においては、複数のツールバーの表示部がの表示部空き領域を共用するとき、それぞれのツールバーの表示部が、各ツールバーの表示部内の使用法に基づき拡張収縮するだろう。１つのツールバーの表示部が大幅に拡張し、数個のコントロールだけが他のツールバーの表示部に表示されることが考えられる。図５ａは、ツールバーの表示部５１０がの表示部空き領域の約４分の３を活用し、それ以外のツールバーの表示部５０５だけがの表示部空き領域の約４分の１を活用するこのようなイベントを描く。ユーザが各ツールバーの表示部５０５と５１０に割り当てられている空き領域の量を調整することを決定すると、例示的な実施形態がこの目的のためにスライドコントロール５１５を提供する。ユーザはスライドコントロール５１５を選択し、それを、ツールバーの表示部５０５にさらに多くのの表示部空き領域（およびツールバーの表示部５１０により少ないの表示部空き領域）を提供するために右側に、あるいはなおさらに少ない空き領域をツールバーの表示部５０５（およびツールバーの表示部５１０により多くのの表示部空き領域を割り当てるために左側にドラッグする。
【００５１】
図５ｂは、スライドコントロール５１５を右側にドラッグした結果を描く。ツールバーの表示部５０５に割り当てられたの表示部空き領域の量が増加し、ツールバーの表示部５１０に割り当てられたの表示部空き領域の量が減少した。ツールバーの表示部５０５が減少または増加すると、ツールバーの表示部に表示されるコントロールの数が変更されることに注意する。予想されるように、ツールバーの表示部に割り当てられたの表示部空き領域が多いほど、より多くの表示されるコントロールが対処される。その結果、ツールバーの表示部に割り当てられる空き領域が少ないほど、表示できるコントロールの数が減少するだろう。
【００５２】
（複数ツールバーにコントロールを表示するための方法）
図６は、本発明の実施形態において、ドロップオフウェルの表示部からコントロールを選択することによって別のツールバーの表示部を削減しつつ、あるツールバーの表示部を拡張することに関係するステップを描くフローチャートである。本発明のこの実施形態によって、複数のツールバーの表示部がの表示部空き領域を共用できる。複数のツールバーの表示部は、必ずしもではないが、通常、コントロールの一意のセットを備える。ツールバーの表示部はの表示部領域を共用するため、多くの場合、あるツールバーの表示部に定められているすべてのコントロールが表示できるわけではない。各ツールバーの表示部は、そのツールバーの表示部に表示できないそれらのコントロールを表示するためにドロップオフウェルの表示部を有するだろう。各ツールバーの表示部は、その結果、各ツールバーの表示部に関連付けられたドロップオフウェルの表示部にアクセスするために使用される特殊コントロールを含むだろう。メソッド６００は、コントロール使用法に基づきの表示部領域を共用するツールバーの表示部のそれぞれの大きさを拡張縮小する方法を提供する。
【００５３】
メソッド６００は、起動（ＳＴＡＲＴ）ステップ６０５で開始する。ツールバーの表示部を表示している該アプリケーションは、すでに実行され、同じの表示部領域を共用する２つのツールバーの表示部が表示される。ツールバーの表示部のそれぞれが、コントロールが格納されているの表示部領域を含み、ツールバーの表示部で表示できないコントロールを含むドロップオフウェルの表示部と関連付けられる。ステップ６１０に進むと、コントロールが第１ツールバーの表示部でドロップオフウェルの表示部から選択される。該選択されたコントロールは、第１ツールバーの表示部に含まれている特殊コントロールを通して第１ツールバーの表示部を介してアクセスされる。コントロールの選択後、メソッド６００はステップ６１５に進む。
【００５４】
ステップ６１５では、コントロールの最も最近に使用されたパラメータが、第１ツールバーの表示部を介してアクセスされるそれらのコントロールのために更新される。こらの最も最近に使用されたパラメータは、ステップ５１５に表示されているアルゴリズム（図５を参照のこと）を使用して更新されている。第２ツールバーの表示部のコントロールパラメータは修正されない。この実施形態においては、最も最近に使用されたパラメータは、どのコントロールを表示するのかを判断するために活用される。しかしながら、当業者は、コントロールが何回使用されるのかを測定する最も頻繁に使用されたパラメータまたは最も最近に使用されたパラメータおよび最も頻繁に使用されたパラメータを使用するランキングシステムなどの任意の使用法パラメータまたはパラメータの組み合わせが使用されてよいことを認識するだろう。
【００５５】
ステップ６２０では、第１ツールバーの表示部が、選択されたコントロールを収容するために拡張される。選択されたコントロールがドロップオフウェルの表示部に位置しており、ツールバーの表示部が最も最近に使用されたパラメータに基づくケースでは、選択されたコントロールは、それが最も最近に使用されるコントロールであるためツールバーの表示部の中に格納されなければならない。選択されたコントロールを第１ツールバーの表示部に入れるために、第１ツールバーの表示部が第２ツールバーの表示部と共用するの表示部領域の割合が、第１ツールバーの表示部を拡張することによって高められる。ステップ６２５では、選択されたコントロールが第１ツールバーの表示部に追加される。再び、選択されたコントロールが、事前に定められた相対順序で第１ツールバーの表示部の中に入れられることが好まれる。
【００５６】
ステップ６３０に進むと、第２ツールバーの表示部の大きさが、第１ツールバーの表示部および第２ツールバーの表示部が重複しないように減少する。第１ツールバーの表示部が選択されたコントロールを収容するために大きさを拡張しているため、第２ツールバーの表示部は、第１ツールバーの表示部が第２ツールバーの表示部に上書きしないように大きさで減少しなければならない。第２ツールバーの表示部は、第１ツールバーの表示部が増加するのと同じ大きさが減少される。
【００５７】
ステップ６３５では、第２ツールバーの表示部に表示されるコントロールが選択される。この実施形態においては、表示されるコントロールが選択される。この実施形態においては、表示されるコントロールは、第２ツールバーの表示部を介してアクセスされる各コントロールと関連付けられた最も最近に使用されたパラメータにより選択される。最も最近に使用され、第２ツールバーの表示部の縮小された大きさに収めるそれらのコントロールが選択される。
【００５８】
各ツールバーの表示部と関連付けられるコントロールの最も最近に使用されたパラメータは無関係に評価されることが好まれている。例えば、ユーザが、それが拡張し続けるように、第１ツールバーの表示部の関連付けられたドロップオフウェルの表示部からコントロールを使用し続ける場合、第１ツールバーの表示部は、１から８という最も最近に使用されたパラメータ値を有する８個のコントロールを有してよい。であるが故に、拡張する第１ツールバーの表示部により縮小されているため、第２ツールバーの表示部が１から３という最も最近に使用されたのパラメータ値を有する３つのコントロールだけを有する。ユーザが第１ツールバーの表示部の関連付けられたドロップオフウェルの表示部から別のコントロールを選択するとき、第１ツールバーの表示部は依然として拡張され、その結果、コントロールが第１ツールバーの表示部に追加され（それにより、１から９の最も最近に使用されたパラメータ値を有し）、第２ツールバーの表示部を（１から２という最も最近に使用された値を有する）２つのコントロールだけに縮小する結果となることが好まれている。有用性の観点から、第１ツールバーの表示部内にさらに高い最も最近に使用されたのパラメータ値を有するコントロールを維持しつつ、第２ツールバーの表示部から離して、さらに低い最も最近に使用されたパラメータ値を有するコントロールをそれが削除しようとも、第１ツールバーの表示部を成長させることが好ましい。ツールバーの表示部を無関係に評価することは、このようにさらにユーザフレンドリなの表示部を提供する。ステップ６４０に進むと、第２ツールバーの表示部の選択されたコントロールが第２ツールバーの表示部に表示される。それから、メソッド６００はステップ６４５で停止する。
【００５９】
メソッド６００は、第２ツールバーの表示部の関連付けられたドロップオフウェルの表示部からのコントロールが選択されるときに同様に動作し、第２ツールバーの表示部が拡張され、第１ツールバーの表示部が最も最近に使用されたパラメータに基づいて縮小されることを必要とする。この様式では、第１ツールバーの表示部および第２ツールバーの表示部は、ユーザが、ツールバーの表示部が常にその最も最近に使用されたコントロールを示しているツールバーの表示部のどちらか１つからコントロールを選択するにつれて動的に大きさが拡張、縮小するだろう。これは、ユーザが、容易なアクセスのために、ユーザが最も最近に使用したすべてのコントロールを表示するのを可能にする。
【００６０】
加えて、本発明の一実施形態が、ツールバーの表示部内でのコントロールの優先順位付けに備える。コントロールに優先順位を有することは、コントロールが非常に重要であるので、ツールバーの表示部が、指定された優先順位のコントロールが表示されるのを許さないほど小さくなってはならないときに有利である。例えば、印刷コントロールに優先順位１が指定され、優先順位１のコントロールが、常に表示されるように定められている場合、印刷コントロールを含むツールバーの表示部は、印刷コントロールの表示を妨げるほど小さな大きさに縮小されることを許されないだろう。この優先順位方式は、ユーザが、常に表示されていなければならない重要なコマンドとして定義できるだろうものを削除するほど多くツールバーの表示部の大きさを不注意に縮小するのを防ぐ。
【００６１】
要約すると、本発明は、コントロールのユーザの使用法に基づき、対応するツールバーの表示部にツールバーのコントロールを表示する方法を目的としている。ドロップオフウェルの表示部は、典型的にはツールバーの表示部に関連付けられ、ツールバーの表示部に表示できないそれらのコントロールを含む。ドロップオフウェルの表示部は、ツールバーの表示部に含まれている特殊コントロールを通してアクセスできる。１つの態様の場合、最も最近に使用されたパラメータは、ツールバーの表示部を介してアクセスされるすべてのコントロールに関連付けられている。最も最近に使用されたパラメータの値は、コントロールのユーザの選択によって求められる。例えば、最も最近に使用されたパラメータは、ツールバーの表示部にどのコントロールを表示するのか、およびドロップオフウェルの表示部にどのコントロールを表示するのかを決定するために使用できる。
【００６２】
ユーザがドロップオフウェルの表示部からコントロールを選択すると、選択されたコントロールに関連付けられた最も最近に使用されたパラメータは、それが最も最近に使用されたことのあるコントロールであることを示すために更新される。それから、ツールバーの表示部の中に選択されたコントロールを組み込むために拡張する試みがなされる。ツールバーの表示部が拡張できるときには、選択されたコントロールはツールバーの表示部に追加され、事前に定められた相対順序で表示されるツールバーに配置される。ツールバーの表示部を拡張できない場合には、ツールバーの表示部でどのコントロールを表示するのかの決定が下される。この計算は、典型的には、最も最近に使用された制御、次に最も最近に使用された制御、および一番最近にではなく使用されたコントロールへの進行を表示するために必要とされる空き領域の蓄積に基づいている。したがって、それらの最も最近に使用されたコントロールだけが、典型的にはツールバーの表示部に表示されるが、残りのコントロールは典型的にはドロップオフウェルの表示部に配置される。
【００６３】
本発明の例示的な実施形態は、従来のＧＵＩ要素、つまりツールバーおよびその関連コントロールアイテムに関して説明されてきたが、当業者は、本発明が、コントロールまたはコマンドアイテムに関連付けられるそれ以外のＧＵＩ要素を含むことも理解するだろう。例えば、本発明は、矩形パレット、ダイアログボックス、またはコントロールアイテムまたはコマンドのセットを提示するためのＧＵＩの任意の部分などの代替ＧＵＩ要素のためのコントロールアイテムの提示の動的な改変も含む。
【００６４】
本発明の態様の場合、ツールバーのためのコントロールアイテムの使用法が、対応するツールバーの表示部内でのコントロールアイテムの提示に影響を及ぼすことがある。当業者は、この発明の概念を、ツールバーの表示部のセットなどの複数のＧＵＩ要素を有するＧＵＩ環境のために拡張できることを理解するだろう。例えば、本発明の代替態様は、これらのＧＵＩ要素の１つまたは複数のためのコントロールアイテムまたはコマンドの使用法に基づいた複数のＧＵＩ要素の提示の動的コントロールを支持する。対応するツールバーのためのコントロールアイテムの使用法は、そのコントロールアイテムの優先順位および使用法パラメータに影響を及ぼし、それにより対応するツールバーの表示部、および残りのツールバーの表示部の１つまたは複数の提示に変更を生じさせることがある。代表的な例の場合、このＧＵＩ環境でのツールバーのすべてのコントロールアイテムの優先順位／使用法パラメータを比較することができ、応じて、ツールバーの表示部の提示は、この比較動作の結果に基づき大きさを変更できる。前記を鑑みて、本発明が、これらのＧＵＩアイテムの１つまたは複数のコントロールアイテムの使用法に関して複数のＧＵＩアイテムの提示を制御することを含むことが理解されるだろう。
【００６５】
代替実施形態は、本発明が関係する当業者に、その精神および範囲を逸脱することなく明らかになるだろう。したがって、本発明の適用範囲は、添付クレームにより説明され、前記説明により支持される。
【図面の簡単な説明】
【図１】本発明の実施形態向けの動作環境を提供するパーソナルコンピュータのブロック図である。
【図２ａ】集合的に図２として記述されている。本発明の実施形態に従ってドロップオフウェルの表示部から選択されるコントロールを組み込むためにツールバーの表示部を拡張するためのユーザインタフェースステップのグラフィックの表記である。
【図２ｂ】集合的に図２として記述されている。本発明の実施形態に従ってドロップオフウェルの表示部から選択されるコントロールを組み込むためにツールバーの表示部を拡張するためのユーザインタフェースステップのグラフィックの表記である。
【図２ｃ】集合的に図２として記述されている。本発明の実施形態に従ってドロップオフウェルの表示部から選択されるコントロールを組み込むためにツールバーの表示部を拡張するためのユーザインタフェースステップのグラフィックの表記である。
【図２ｄ】集合的に図２として記述されている。本発明の実施形態に従ってドロップオフウェルの表示部から選択されるコントロールを組み込むためにツールバーの表示部を拡張するためのユーザインタフェースステップのグラフィックの表記である。
【図３】本発明の実施形態でのプログラムモジュールの始動時にツールバーの表示部にコントロールを表示するためのステップを描くフローチャートである。
【図４】本発明の実施形態に従ってツールバーの表示部に、ドロップオフウェルの表示部から選択されたコントロールを表示するためのステップを描くフローチャートである。
【図５ａ】集合的に図５と呼ばれている。本発明の実施形態でのスライド制御を介してツールバーの表示部を拡張するためのユーザインタフェースステップを描くグラフィック表記である。
【図５ｂ】集合的に図５と呼ばれている図５ａから図５ｂ。本発明の実施形態でのスライド制御を介してツールバーの表示部を拡張するためのユーザインタフェースステップを描くグラフィック表記である。
【図６】本発明の実施形態に従って、ドロップオフウェルの表示部からコントロールを選択することによって別のツールバーの表示部の大きさを縮小する一方、１つのツールバーの表示部を拡張するためのステップを描くフローチャートである。
【図１】
0004508418.tif 000002
【図２ａ】
0004508418.tif 000003
【図２ｂ】
0004508418.tif 000004
【図２ｃ】
0004508418.tif 000005
【図２ｄ】
0004508418.tif 000006
【図３】
0004508418.tif 000007
【図４】
0004508418.tif 000008
【図５ａ】
0004508418.tif 000009
【図５ｂ】
0004508418.tif 000010
【図６】
0004508418.tif 000011