JP2000231432A - コンピュータシステム - Google Patents

コンピュータシステム

Info

Publication number
JP2000231432A
JP2000231432A JP3415499A JP3415499A JP2000231432A JP 2000231432 A JP2000231432 A JP 2000231432A JP 3415499 A JP3415499 A JP 3415499A JP 3415499 A JP3415499 A JP 3415499A JP 2000231432 A JP2000231432 A JP 2000231432A
Authority
JP
Japan
Prior art keywords
menu
input device
event
computer system
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP3415499A
Other languages
English (en)
Inventor
Wataru Ishizaki
亙 石崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3415499A priority Critical patent/JP2000231432A/ja
Priority to US09/384,073 priority patent/US6938216B1/en
Publication of JP2000231432A publication Critical patent/JP2000231432A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

(57)【要約】 【目的】コンピュータシステムにおけるメニューの表示
に関し、入力デバイスの操作量(マウスの物理的な移動
量のみならず、マウス・ホィールの操作量、トラックパ
ネルの操作量、トラックポイントの操作量、スクロール
キーの打鍵回数も含む)を少なくして、ユーザの思考の
中断を軽減することを目的とする。 【構成】本発明を、入力デバイスの操作に基づき表示画
面上にメニューを表示するコンピュータシステムにおい
て、メニューに表示する項目をグルーピングして管理す
る管理手段と、入力デバイスの特定の操作回数または特
定の操作の継続時間に基づき、前記グルーピングしたメ
ニュー項目を切り替えて表示させる表示制御手段とから
構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータシス
テムの改良されたグラフィカル・ユーザ・インターフェ
ース(GUI)に関し、特に、入力デバイスの操作内容
に基づき、コンピュータシステムの画面上にメニューを
表示させる場合の、改良されたグラフィカル・ユーザ・
インターフェースを提供するものである。なお、以下に
おいて、コンピュータシステムの画面を、単に、デスク
トップという場合がある。
【0002】
【従来の技術】第3図から第5図は、入力デバイスの操
作内容に基づき、デスクトップ上にメニューを表示する
場合の、従来のGUIを表す。
【0003】第3図は、第1の先行技術のGUIを示
す。このGUIは、Microsoft社のWindo
wsシステム(WindowsはMicrosoft社の登録商標であ
る)やXOpenリミテッドのXWindowシステム(X
Windowは、X Openリミテッドの登録商標である)等のオ
ペレーティングシステム、種々のウィンドウ化されたア
プリケーション・プログラムで提供されている。同図に
おいて、300はデスクトップを、310はアプリケー
ション・プログラム、文書等のオブジェクトを表すアイ
コンを、320はポインティングデバイスのマウス・カ
ーソルを、330はポップアップ・メニューを表す。同
図は、ユーザが、デスクトップ上若しくはアプリケーシ
ョンプログラムのウインドウ内の何もない領域上または
特定の操作可能なオブジェクト上(以下、「何もない領
域/オブジェクト上」という)で、マウスの右クリック
をすると、そのマウス・カーソル320の位置にポップ
アップメニュー330が表示される。
【0004】ここで、「何もない領域」とは、デスクトッ
プ上またはウインドウ上において、アイコン、メニュー
バー、ボタンバー、スクロールバー等の起動可能または
操作可能なオブジェクトのない領域のことをいう。「操
作可能なオブジェクト」とは、デスクトップ上または特
定のアプリケーションプログラムのウインドウ上の操作
可能なオブジェクトをいい、アイコン、メニューバー、
ボタンバー、スクロールバー等を含むものである。
【0005】ユーザは、マウスまたはキーボードのスク
ロールキーを操作して、マウス・カーソル320をメニ
ュー内の項目(コマンドを含む。以下、同様)まで移動
させ、マウスの左クリックを押すと、当該項目に対応し
たコマンドを実行することができる。したがって、ユー
ザはキーボードからコマンドを入力せずにすみ、当該コ
マンドを知らなくても、簡単な操作で入力できるため、
このGUIはウィンドウ化された環境で、幅広く提供さ
れている。
【0006】第4図は、第2の先行技術(特開平10−
333860号公報)のGUIを示す。同技術は、ユー
ザがポップアップメニューの表示項目を自由に設定・変
更しうる環境を提供する。したがって、第2の先行技術
では、使用頻度の高い項目をポップアップメニュー内の
上位の位置に設定すれば、当該項目を実行する場合、マ
ウスの操作距離やキーボードのスクロールキーの打鍵回
数を節約することができる。第4図は、第3図に示すポ
ップアップメニューにおいて、第2の先行技術により、
項目群331と項目群333の順序を入れ替え、さら
に、項目群333内の項目「copy」と項目「cut」の
順序を入れ替えた場合のポップアップメニューを示す。
したがって、ユーザは、ポップアップメニューの上位に
位置した項目「copy」に、マウスの移動操作またはス
クロールキーの打鍵回数を少なくして、アクセスするこ
とができる。
【0007】第5図は、第3の先行技術(特開平5−2
98049号公報)のGUIを表す。同技術によれば、
メニューの大きさを限定し、メニュー項目が多すぎて、
当該メニューに表示しきれない場合、メニューの右端に
スクロール・バー350を提供することができる。した
がって、ユーザは、メニュー・バー340の「edit」
配下のプルダウンメニューの項目が多い場合であって
も、メニューにより、背後のウインドウの表示内容が隠
されることはなく、編集を効率的に行うことができる。
なお、この場合、ユーザは、表示しきれない項目を選択
する場合は、マウス等により、スクロール・バー350
を操作して、選択する項目を表示させ、当該項目を選択
させる必要がある。
【0008】
【発明が解決しようとする課題】しかし、上記先行技術
には、いずれにも、ポップアップメニューの下位に位置
する項目を選択する場合、入力デバイスの操作量(マウ
スの物理的な移動量のみならず、マウス・ホィールの操
作量、トラックパネルの操作量、トラックポイントの操
作量、スクロールキーの打鍵回数も含む)が多くなるた
め、ユーザの思考が中断されるという問題があった。こ
の問題は、メニューに表示する項目が多くなればなる
程、深刻な問題となる。特に、ワードプロセッシングや
ペインティングに関するソフトウエアにおいては、この
問題により、効率的な編集が妨げられることになる。
【0009】そこで、本発明は、ユーザの思考を中断し
ない、改良されたメニューを提供することを目的とす
る。
【0010】
【課題を解決するための手段】本発明は、メニューに表
示する項目をグルーピングして管理する管理手段と、入
力デバイスの特定の操作回数または特定の操作の継続時
間に基づき、前記グルーピングしたメニュー項目を切り
替えて表示させる表示制御手段とから構成することがで
きる。
【0011】また、他の本発明は、メニューに表示する
項目をグルーピングして管理する管理手段と、オペレー
ティングシステムから入力デバイスの操作による特定の
イベントが発生した旨のメッセージを受信する受信手段
と、当該イベントの発生回数に基づき、前記グルーピン
グしたメニュー項目を切り替えて表示させる表示制御手
段とから構成することができる。
【0012】さらに、他の本発明は、メニューに表示す
る項目をグルーピングして管理する管理手段と、オペレ
ーティングシステムから入力デバイスの操作による特定
のイベントが発生した旨のメッセージを受信する受信手
段と、当該イベントの継続時間に基づき、前記グルーピ
ングしたメニュー項目を切り替えて表示させる表示制御
手段とから構成することができる。
【0013】また、本発明の好適な実施の形態において
は、上記のグルーピングは、表示するメニュー項目の機
能毎にグルーピングされていることが好ましい。他の好
適な実施の形態においては、前記表示制御手段は、一定
時間以内に、入力デバイスの操作が同一点で操作された
場合に起動されることが好ましい。さらに、他の好適な
実施の形態においては、前記表示制御手段は、一定時間
以内に、入力デバイスの操作が一定の範囲内で操作され
た場合に起動されることが好ましい。
【0014】さらに、他の本発明は、上記コンピュータ
システムを動作させるためのプログラムを格納したコン
ピュータ読取り可能な記憶媒体が提供される。より具体
的には、他の本発明は、コンピュータのオペレーティン
グシステムから入力デバイスの操作による特定のイベン
トが発生した旨のメッセージを受信するプログラムコー
ド手段と、当該イベントの発生回数に基づき、コンピュ
ータシステム上に生成されるグルーピングされたメニュ
ー項目を切り替えて表示させるプログラムコード手段と
を有するプログラムを格納したコンピュータ読取り可能
な記憶媒体を提供する。さらに、他の本発明は、コンピ
ュータのオペレーティングシステムから入力デバイスの
操作による特定のイベントが発生した旨のメッセージを
受信するプログラムコード手段と、当該イベントの継続
時間に基づき、コンピュータシステム上に生成されるグ
ルーピングされたメニュー項目を切り替えて表示させる
プログラムコード手段とを有するプログラムを格納した
コンピュータ読取り可能な記憶媒体を提供する。
【0015】
【発明の実施の形態】以下に、図面を用いて、本発明の
好適な実施の形態を説明する。一の図面において、符号
により特定されるものは、他の図面において同一の符号
により特定されるものと同一の対象を表す。
【0016】本発明は、主にソフトウエアにより実現さ
れるものであり、C言語等の種々のプログラム言語によ
り記述することができるが、C++、Smalltal
k等、その他のオブジェクト指向のプログラム言語によ
り記述するのが望ましい。この明細書では、本発明を実
現したソフトウエアを本件ソフトウエアという。本件ソ
フトウエアは、グラフィカル・ユーザ・インターフェー
ス(GUI)を提供する種々のオペレーティング・シス
テム(OS)上で動作することができる。例えば、その
ようなオペレーティング・システムとしては、Micr
osoft社のWindowsシステム(Window
sはMicrosoft社の登録商標である)、X Ope
nリミテッドのXWindowシステム(XWindo
wは、XOpenリミテッドの登録商標である)がある。
【0017】また、本件ソフトウエアは、オペレーティ
ングシステム内でインプリメントすることができる。こ
の場合は、デスクトップ上の何もない領域/オブジェク
ト上で、入力デバイスの特定の操作したときに、後述す
るメニューが表示される(第6図、第7図)。また、本
件ソフトウエアは、アプリケーションプログラム内でも
インプリメントすることができる。この場合は、当該ア
プリケーションプログラムのウインドウ上の何もない領
域/オブジェクト上で、入力デバイスの特定の操作をし
たときに、後述するメニューが表示される(第6図、第
7図)。ここで、「何もない領域/オブジェクト」とは、
前述した定義が適用される。
【0018】本明細書において、「入力デバイス」とは、
ポインティングデバイスやキーボード等のコンピュータ
システムに、何らかの入力をするデバイスをいう。ポイ
ンティングデバイスには、マウス、ホィール付きマウス
のほか、トラックパネル、トラックポイント、トラック
ボールスタイラスペン等が含まれる。また、キーボード
という場合には、キーボード上のスクロールキーや各種
英数字キーをも含むもととする。
【0019】また、本明細書において、「イベント」と
は、特に断らない限り、入力デバイスの特定の操作によ
り発生する事象をいい、具体的には、マウスの右ボタン
アップ、右ボタンダウン、左ボタンアップ、左ボタンダ
ウンのほか、メニュー表示キーの押下、特定のキーの押
下、スタイラスペンによるタップ操作により発生する事
象をいう。なお、本明細書において、「メニュー」には、
ポップアップメニューの他、プルダウンメニュー、プル
アップメニュー等も含まれ、また、多階層メニューの場
合のカスケードメニューも含まれる。したがって、本件
ソフトウエアをメニューバー上の操作に適用した場合、
改良されたプルダウンメニューまたはプルアップメニュ
ー(第6図、第7図)を表示させることができる。
【0020】第1図は、本件ソフトウエアが実施される
コンピュータシステムを表したものである。同図中、1
01は本件ソフトウエアが実施されるコンピュータシス
テムを、102は本件ソフトウエアのプログラムコード
(ソースコード)が記憶された記憶媒体を、103はイ
ンターネット等のネットワークを、104は、本件ソフ
トウエアのソースコードが記憶されたインターネット・
プロバイダのサーバの記憶装置(例えば、ハードディス
ク装置)を表す。なお、コンピュータシステム101
は、デスクトップコンピュータを図示したが、ワークス
テーション、ホストコンピュータ、ノート型コンピュー
タ、パームトップコンピュータ、パームサイズコンピュ
ータのいずれであってもよい。また、記憶媒体102に
は、例えば、CD―ROM、光磁気ディスク(MO)、
フロッピ・ディスケット(FD)の他、搬送波(キャリ
ア・ウェイブ)や通信回線も含まれる。
【0021】第2図は、コンピュータシステム101の
ハードウエア構成を示したものである。同図中、201
は中央処理装置(CPU)を、202は記憶装置(例え
ば、ハードディスク装置)を、203はメモリを、20
4は周辺機器、205はキーボード、マウス、トラック
・ポイント、トラック・パネル、スタイラスペン等の入
力デバイスを、206はディスプレイ等の出力装置を示
す。なお、ディスプレイ206には、タッチセンサ付き
ディスプレイも含み、周辺機器204には、CD−RO
Mドライブ、MOドライブ、FDドライブ、プリンタ、
モデム等が含まれる。
【0022】記憶媒体102であるCD―ROMに記憶
された本件ソフトウエアのソースコードは、コンピュー
タシステム101のCD−ROMドライブ204等を介
して、コンピュータシステム101のハードディスク装
置202にインストールされる。本件ソフトウエアの実
行時には、コンピュータシステム101のメモリ203
にロードされ、CPU201により実行される。
【0023】また、インターネット・プロバイダのサー
バのハードディスク装置104に格納された本件ソフト
ウエアは、ネットワーク103を介して、コンピュータ
システム101にインストールすることができる。この
場合においても、本件ソフトウエアのソースコードは、
実行時には、コンピュータシステム101のメモリ20
3にロードされ、CPU201により実行される。
【0024】第6図は、本ソフトウエアの第1のグラフ
ィカル・ユーザ・インターフェースを表す。同図におい
て明示していないが、マウス・カーソル320のポイン
トしている箇所は、いずれも、デスクトップ上またはア
プリケーションプログラムのウインドウ上の何もない領
域/オブジェクトである。さらに具体的には、マウス・
カーソル320のポイントする箇所は、本件ソフトウエ
アをオペレーティングシステム内でインプリメントする
場合は、デスクトップ上の何もない領域/オブジェクト
であり、本件ソフトウエアをアプリケーションプログラ
ムでインプリメントする場合は、当該アプリケーション
のウインドウ上の何もない領域/オブジェクトである。
【0025】第6A図は、領域/オブジェクト上で、イ
ベントが1回発生(例えば、マウス・カーソル320を
1回クリック)した場合に表示されるポップアップメニ
ュー610を示している。ポップアップメニュー610
には、undo(元に戻す), repeat(繰り返す), cut
(切り取り), copy(複写), paste(貼り付け), del
ete(削除)等のテキストを編集する項目が機能毎にグ
ルーピングされている。なお、項目undoの横の印611
は、undoの配下に、さらに下位のメニューがあることを
示している。このように、本件ソフトウエアにより表示
されるポップアップメニューには、多階層のメニューを
含むことができる。
【0026】第6B図は、領域/オブジェクト上で、イ
ベントが2回発生(例えば、マウス・カーソル320を
2回クリック)した場合に表示されるポップアップメニ
ュー620を示している。なお、第8図の説明で後述さ
れるように、この2回目のクリックされたポイントは、
1回目のクリックされたポイントと同一の座標であって
もよいし、1回目クリックされたポイントからD(設定
値)だけ離れた領域内であってもよい。ポップアップメ
ニュー620には、ポップアップメニュー610と異な
り、underline(下線付け), change font(書体の変
更), change size(文字サイズの変更), insert figu
re(図形の挿入), insert graph(グラフの挿入)等の
テキストや図形を修飾する項目が機能毎にグルーピング
されている。
【0027】第6C図は、領域/オブジェクト上で、イ
ベントが3回発生(例えば、マウス・カーソル320を
3回クリック)した場合に表示されるポップアップメニ
ュー630を示している。なお、第8図の説明で後述さ
れるように、この3回目のクリックされたポイントは、
1回目のクリックされたポイントと同一の座標であると
することもできるし、1回目クリックされたポイントか
ら距離D(設定値)だけ離れた領域内であるとすること
もできる。ポップアップメニュー630には、ポップア
ップメニュー610、620と異なり、new file(新フ
ァイルの作成), open(ファイルを開く), close(フ
ァイルを閉じる), save(上書き保存),property(フ
ァイルの属性), exit(アプリケーションプログラムの
終了)等のファイルを操作する項目が機能毎にグルーピ
ングされている。
【0028】この第6図の説明から理解されるように、
入力デバイスの特定の操作回数に基づき、グルーピング
された項目を、ポップアップメニューに切り替えて表示
するため、ユーザは、マウスの移動量または特定キーの
打鍵回数を少なくして、ポップアップメニュー内の項目
を選択することができる。また、本件ソフトウエアにお
いては、グルーピングされた項目は、必ずしも機能毎に
グルーピングする必要はないが、第6図において説明さ
れたように、機能毎にグルーピングされる方が、ユーザ
・フレンドリーなグラフィカル・ユーザ・インターフェ
ースを提供する点で、望ましい。また、第15図の説明
において後述するように、切り替える順番は、ユーザが
任意に設定、変更することができる。
【0029】さらに、定義されたメニューの数(N)よ
り多い回数(N+1以上)だけ操作された場合に、第1
番目のメニューに戻って、メニューを表示させてもよい
し、第N番目のメニューを表示し続けてもよい。
【0030】第7図は、本ソフトウエアの第2のグラフ
ィカル・ユーザ・インターフェースを表す。同図におい
て明示していないが、マウス・カーソル320のポイン
トしている箇所は、領域/オブジェクトである。さらに
具体的には、第6図の場合と同様に、マウス・カーソル
320のポイントする箇所は、本件ソフトウエアをオペ
レーティングシステム内でインプリメントする場合は、
デスクトップ上の何もない領域/オブジェクトであり、
本件ソフトウエアをアプリケーションプログラムでイン
プリメントする場合は、当該アプリケーションのウイン
ドウ上の何もない領域/オブジェクトである。
【0031】第7A図は、イベントがT(設定値)秒間
継続した場合(例えば、領域/オブジェクト上で、マウ
ス・カーソル320をT秒間継続してクリックした場
合)に表示されるポップアップメニュー710を示して
いる。ここでは、説明の簡単のため、ポップアップメニ
ュー710に表示される項目は、第6図のポップアップ
メニュー610に表示される項目と同じであり、テキス
トを編集する項目が機能毎にグルーピングされている。
なお、ポインティングデバイスの特定の操作の継続時間
Tは、ユーザが任意に設定することができ、例えば、
0.1秒、0.5秒、1秒、1.5秒等を設定すること
ができる。
【0032】第7B図は、イベントが2T秒間継続して
発生した場合(例えば、領域/オブジェクト上で、マウ
ス・カーソル320を、2T秒間継続してクリックした
場合)に表示されるポップアップメニュー720を示し
ている。なお、第8図の説明で後述されるように、継続
してクリックされるポイントは、1回目のクリックされ
たポイントと同一の座標であってもよいし、1回目クリ
ックされたポイントからD(設定値)だけ離れた領域内
であってもよい。また、説明の簡単のため、ポップアッ
プメニュー720に表示されている項目は、ポップアッ
プメニュー620に表示されている項目と同じであり、
テキストを修飾する項目が機能毎にグルーピングされて
いる。
【0033】第7C図は、イベントが3T秒間継続して
発生した場合(領域/オブジェクト上で、マウス・カー
ソル320を、3T秒間継続してクリックした場合)に
表示されるポップアップメニュー730を示している。
なお、第8図の説明で後述されるように、継続してクリ
ックされるポイントは、1回目のクリックされたポイン
トと同一の座標であってもよいし、1回目クリックされ
たポイントからD(設定値)だけ離れた領域内であって
もよい。また、説明の簡単のため、ポップアップメニュ
ー730に表示されている項目は、ポップアップメニュ
ー630に表示されている項目と同じであり、ファイル
を操作する項目が機能毎にグルーピングされている。
【0034】この第7図の説明から理解されるように、
入力デバイスの特定の操作の継続時間に基づき、グルー
ピングされた項目を、ポップアップメニューに切り替え
て表示するため、ユーザは、マウスの移動量または特定
キーの打鍵回数を少なくして、ポップアップメニュー内
の項目を選択することができる。また、本件ソフトウエ
アにおいては、グルーピングされた項目は、必ずしも機
能毎にグルーピングする必要はないが、第6図において
説明されたように、機能毎にグルーピングされる方が望
ましい。また、このGUIにおいて、ユーザは、ポップ
アップメニューを切り替える時間を、設定・変更するこ
とができ、また、切り替える順番も設定・変更すること
ができる。
【0035】さらに、この場合においても、定義された
メニューの数(N)より多い時間((N+1)T秒以
上)だけ継続して操作された場合に、第1番目のメニュ
ーに戻って、メニューを表示させてもよいし、第N番目
のメニューを表示し続けてもよい。
【0036】第8図は、本件ソフトウエアにおけるポッ
プアップメニューの切り換えの条件を示すものである。
以下に説明する条件は、本発明の完成に必須のものでは
なく、設定されることが望ましいものである。
【0037】第8Aの条件は、第2回目以降(第6図)
にポインティングデバイスの操作がされたマウス・カー
ソルの座標または2T秒以降(第7図)に継続して操作
されるマウス・カーソルの座標が、第1回目のポインテ
ィングデバイスの特定の操作が行われたマウス・カーソ
ルの座標(Xo,Yo)と同一点であることを要求す
る。したがって、ユーザは、このような厳しく制限され
た条件の下で、本件ソフトウエアによるポップアップメ
ニューの切り換えを実行できるため、頻繁にポップアッ
プメニューの切り換えが必要ない場合やポップアップメ
ニューの第1頁目(第6A図、第7A図)に頻繁に選択
する項目があり、第2頁目以降のポップアップメニュー
をあまり使用しない場合に有効な条件である。なお、
(Xo,Yo)は、デスクトップ上の座標とすることが
でき、また、特定のアプリケーションプログラムのウイ
ンドウ内の座標とすることができる。
【0038】第8B図の条件は、第2回目以降(第6
図)にポインティングデバイスの操作がされたマウス・
カーソルの座標または2T秒以降(第7図)に継続して
操作されるマウス・カーソルの座標が、第1回目のポイ
ンティングデバイスの特定の操作が行われたマウス・カ
ーソルの座標(Xo,Yo)から距離Dの範囲内にある
ことを許容する条件である。距離Dは、ユーザにより、
任意に設定・変更可能である。したがって、ユーザは、
このような緩やかな条件の下で、本件ソフトウエアによ
るポップアップメニューの切り換えを実行できるため、
頻繁にポップアップメニューの切り換えが必要な場合や
落ち着きのないユーザが使用する場合に有効な条件であ
る。
【0039】なお、この場合、距離D以内の領域内であ
っても、座標(Xo,Yo)の属するオブジェクトと座
標(X,Y)の属するオブジェクトが異なる場合は、回
数を表すカウンタや継続時間を表すタイマをリセットし
てもよい。具体的には、距離D以内の領域内であって
も、座標(Xo,Yo)がオブジェクトY上にあり、座
標(X,Y)が他のオブジェクトZまたはデスクトップ
領域にある場合は、オブジェクトYのカウンタやタイマ
をリセットして、座標(X,Y)の属するアプリケーシ
ョンプログラム(オブジェクトZ)で、カウンタまたは
タイマを起動し、当該アプリケーションプログラムで提
供されるメニューの切り換えを、新たに行うことができ
る。
【0040】第9図は、OSであるMSWindows
上で動作するアプリケーションプログラムで、本件ソフ
トウエアをインプリメントした場合の、OSとアプリケ
ーションプログラムの間のメッセージのやり取りの具体
例を説明する図である。なお、本件ソフトウエアをOS
でインプリメントする場合は、メッセージ送信がOS内
に閉じる点を除けば、アプリケーションプログラムでイ
ンプリメントする場合と、基本的に同様である。したが
って、以下の説明では、本件ソフトウエアをアプリケー
ションプログラムでインプリメントする場合の動作等を
説明し、OSでインプリメントする場合の説明は省略す
る。
【0041】第9図において、910はマウス、キーボ
ード等の入力デバイスを、920はオペレーティングシ
ステムを、930は本件ソフトウエアを示す。まず、ユ
ーザは、入力デバイス910の特定の操作(例えばマウ
スの右クリック、特定キーの押下)を行う。OS920
のデバイスドライバは、この特定の操作によるイベント
が発生したことを検出する。本件ソフトウエア930
は、その起動時に、OS920に対して、このイベント
のモニタを依頼している。このため、OS920は、本
件ソフトウエア930のメッセージキュー923に当該
イベントが発生したことを知らせるメッセージを、本件
ソフトウエア930のメッセージ・キュー923にキュ
ーイングし、メッセージを、本件ソフトウエア930に
送信する。MSWindowsの場合、このメッセージ
は、当該イベントに対応した変数に格納される。
【0042】具体的には、イベントがマウスの右ボタン
アップであれば、当該変数はWM_RBUTTONUPであり、イ
ベントがマウスの右ボタンダウンであれば、当該変数は
WM_RBUTTONDOWNである。また、イベントがマウスの左
ボタンアップであれば、当該変数はWM_LBUTTONUPであ
り、イベントがマウスの左ボタンダウンであれば、当該
変数はWM_LBUTTONDOWNである。また、イベントがメニ
ュー表示キーの押下であれば、当該変数はWM_CONTEXTM
ENUである。また、イベントが通常のキーダウンであれ
ば、当該変数はWM_KEYDOWNであり、イベントが通常の
キーアップであれば、当該変数はWM_KEYUPである。さ
らに、イベントが特定キーの押下である場合、当該変数
は当該特定キーのキャラクタコードを格納するWM_CHAR
である。以下では、これらの各イベントに対応したメッ
セージを、まとめてWM_XXXと書く。
【0043】本件ソフトウエア930のメッセージルー
プ931は、メッセージWM_XXXを受信すると、そのメ
ッセージ内容を判定し、その判定結果に応じた処理を行
う。この実施の形態では、メッセージループ931が、
本発明の受信手段に相当する。この場合の処理は、第8
図を用いて説明したような条件が設定されていれば、そ
の条件を満たすか否かの判定を行う。当該条件を満たし
ていると判定した場合は、ウインドウ・プロシージャ9
33またはウインドウ・プロシージャ933から呼び出
されるルーチン935は、リソースファイルの内容(例
えば、第16図)を、デスクトップ上に、メニューとし
てを表示させることができる。
【0044】なお、第8A図、第8B図の条件判定に
は、デスクトップ上またはウインドウ上におけるイベン
ト発生時のマウスカーソルの座標が必要となるが、この
実施の形態においては、当該座標は、メッセージWM_MO
USEMOVEと共に、引数IParam内に格納されて、アプリケ
ーションプログラムに送信される。メッセージWM_MOUS
EMOVEは、マウス・カーソルが移動した時に送られるメ
ッセージであり、その引数lParamには、マウスカーソル
のx座標(xPos)、マウスカーソルのy座標(yPos)を含
む。メッセージWM_MOUSEMOVEは、マウスがキャプチャ
されているときは、マウスをキャプチャしているウイン
ドウのウインドウ・プロシージャ933に、マウスがキ
ャプチャされていない場合は、マウスカーソルの下にあ
るウインドウのウインドウ・プロシージャ933に送ら
れる。
【0045】また、(revised)この実施の形態では、
リソースファイル(例えば、第16図)が、本発明の管
理手段に相当する。この場合、メニューの切り換えは、
API関数DestroyMenuを用いて、現在表示しているメニュ
ーを破棄し、API関数TrackPopupMenuを用いて、次のメ
ニューを定義するリソースファイルの内容を表示する。
また、この実施の形態では、ウインドウ・プロシージャ
933またはウインドウ・プロシージャ933から呼び
出されるルーチン935が表示制御手段に相当する。
【0046】また、OS920で提供されるAPI関数
925(例えば、CreatePopupMenu)を使用していれ
ば、第9図に示すように、ウインドウ・プロシージャ9
33は、API関数CreatePopupMenuを呼び出して、メニュ
ーを作成し、メニューの切り換えを行う。この場合、メ
ニューの切り換えは、API関数DestroyMenuを用いて、現
在表示しているメニューを破棄し、API関数CreatePopup
Menuを用いて、次のメニューを作成し、API関数TrackPo
pupMenuを用いて、当該ファイルの内容をメニューとし
て表示する。なお、API関数CreatePopupMenuを使用する
場合、本発明の管理手段として、第17図に例示される
ようなファイルを用いることができる。この第17図に
例示されるファイルは、リソースファイルの形式に従っ
ていない点で、リソースファイルとは異なり、その形式
は、後述するように、アプリケーションプログラムで自
由に定義することができる。また、この実施の形態にお
いても、ウインドウ・プロシージャ933またはウイン
ドウ・プロシージャ933から呼び出されるルーチン9
35が表示制御手段に相当する。
【0047】第10図は、本件ソフトウエア930の動
作の概要を示すフローチャートである。まず、ステップ
1010において、ユーザは、デスクトップ上で、アイ
コンの左クリックまたはメニューの選択により、本件ソ
フトウエア930を起動(活性化)する。
【0048】次に、ステップ1020において、本件ソ
フトウエア930は、OSに対して、特定のイベントの
監視を依頼する。この場合、特定のイベントとは、入力
デバイスの特定の操作がされたというイベントをいい、
例えば、マウスの右クリック、左クリック、特定キーの
押下が含まれる。
【0049】次に、ステップ1030において、本件ソ
フトウエア930のメッセージループ931は、OSか
ら、当該イベントが発生した旨のメッセージを受信した
か否かを判定する。
【0050】具体的には、メッセージWM_XXXの値が所
定値であるか否かを判定する。メッセージループ931
は、受信したメッセージWM_XXXが所定値、すなわち、
前記イベントが発生したことを示す値を取るまで、この
判定を繰り返す。メッセージループ931は、受信した
メッセージWM_XXXが所定値を取ると判定したときは、
ステップ1140に進む。
【0051】次に、ステップ1040において、ウイン
ドウ・プロシージャ933は、例えば第8図で説明した
ような、所定の条件が設定されている場合は、各イベン
トがその条件を具備しているか否かを判定する。具備し
ていない場合は、ステップ1030に進み、具備してい
る場合は、ステップ1050に進む。なお、この条件が
設定されていない場合は、ステップ1040は省略する
ことが可能であり、この条件設定は必ずしも必要ではな
い。
【0052】次に、ステップ1050において、本件ソ
フトウエア930は、イベント発生の回数またはイベン
トの継続発生時間に基づき、第6図または第7図に例示
したように、メニューを切り替えてデスクトップ上に表
示する。
【0053】第11図は、第8A図に対応した条件を設
定した場合の本件ソフトウエア930のフローを示す。
これは、第10図のステップ1030からステップ10
40を詳述したフローである。
【0054】ステップ1110において、本件ソフトウ
エア930のメッセージループ931は、監視依頼した
イベントが発生した旨のメッセージWM_XXXを受信した
か否かを判定する。メッセージループ931は、このメ
ッセージを受信しなければ、当該判定を継続する。一
方、メッセージループ931は、このメッセージを受信
し、その値がイベントが発生したことを示す値と判断す
ると、ウインドウ・プロシージャ933は、所定のルー
チン935を呼び出し、ステップ1120に進む。この
場合、ウインドウ・プロシージャ933は、当該メッセ
ージと共に、イベントの発生した時の、デスクトップ上
におけるマウス・カーソルの座標(X,Y)を取得す
る。
【0055】次に、ステップ1120において、当該ル
ーチン935は、基準となる中心座標(Xo,Yo)と
して、ステップ1110で取得した座標(X,Y)を設
定する。すなわち、基準となる中心座標(Xo,Yo)
には、非継続的にイベントが生じる場合の1回目または
継続的にイベントが生じる場合の最初の座標が設定され
る。次に、当該ルーチン935は、ステップ1130に
おいて、連続して、または継続して行われるイベントを
監視するためのタイマをスタートさせる。なお、ステッ
プ1140については、第13図、第14図のフローの
説明で後述する。
【0056】次に、ステップ1150において、当該ル
ーチン935は、イベント発生時の座標(X,Y)が中
心座標(Xo,Yo)と等しいか否かを判定する。両座
標が等しくないと判定した場合は、当該ルーチン935
は、ステップ1160に進み、何もしない。一方、両座
標が等しいと判定した場合は、ステップ1170へと進
む(第13図1310、第14図1410に続く)。な
お、現在は、1回目(J=1)の処理なので、この条件
は満たされ、ステップ1170へと進む。
【0057】第12図は、第8B図に対応した条件を設
定した場合の本件ソフトウエア930のフローを示す。
これも、第11図同様、第10図のステップ1030か
らステップ1040を詳述したフローである。
【0058】ステップ1210において、本件ソフトウ
エア930のメッセージループ931は、監視依頼した
イベントが発生した旨のメッセージWM_XXXを受信した
か否かを判定する。メッセージループ931は、このメ
ッセージを受信しなければ、当該判定を継続する。一
方、メッセージループ931は、このメッセージを受信
し、その値がイベントの発生を表す値と判定すると、ウ
インドウ・プロシージャ933は、所定のルーチン93
5を呼び出し、ステップ1220に進む。この場合、ウ
インドウ・プロシージャ933は、当該メッセージと共
に、イベントの発生した時の、デスクトップ上における
マウス・カーソルの座標(X,Y)を取得する。
【0059】次に、ステップ1220において、当該ル
ーチン935は、基準となる中心座標(Xo,Yo)と
して、ステップ1210で取得した座標(X,Y)を設
定する。この場合も、基準となる中心座標(Xo,Y
o)には、非継続的にイベントが生じる場合の1回目ま
たは継続的にイベントが生じる場合の最初の座標が設定
される。次に、当該ルーチン935は、ステップ123
0において、連続して、または継続して行われるイベン
トを監視するためのタイマをスタートさせる。なお、ス
テップ1240については、第13図、第14図のフロ
ーの説明で後述する。
【0060】次に、ステップ1250において、当該ル
ーチン935は、イベント発生時の座標(X,Y)が中
心座標(Xo,Yo)から距離D以内にあるか否かを判
定する。ここで、距離Dは、ユーザまたはアプリケーシ
ョンプログラムにおいて、任意に設定・変更が可能であ
り、例えば、第15図の画面を用いてされる。ここで、
座標(X,Y)と中心座標(Xo,Yo)の距離dは、
d=[(X−Xo)^2+(Y−Yo)^2]^(1/
2)で定義される。
【0061】距離dが設定値Dより大きいと判定した場
合は、当該ルーチン935は、ステップ1260に進
み、何もしない。一方、距離dが設定値Dより小さいか
等しいと判定した場合は、ステップ1270へと進む
(第13図1310、第14図1410に続く)。
【0062】第13図、第14図は、第10図のステッ
プ1050(メニューの切り換え)を詳述したものであ
る。第13図は、メニューの切り換えを、非連続的に発
生するイベントの回数に基づいて行う場合のフローを示
す。ステップ1310は、第11図のステップ1170
または第12図ステップ1270から続くものである。
【0063】次に、ステップ1320において、前記ル
ーチン935は、発生したイベントの回数を示すカウン
タJを、1だけカウントアップする(J=J+1)。カ
ウンタJの初期値は0に設定されているため、現在、J
の値は1である。
【0064】次に、ステップ1330において、当該ル
ーチン935は、カウンタJと関連づけられて定義され
たリソースファイル(例えば、第16図)を、デスクト
ップ上に表示させる。
【0065】ステップ1340において、当該ルーチン
935は、ポップアップメニュー(J)内の項目が選択
されたかを判定する。この場合も、ルーチン935は、
メッセージループ931により、オペレーティングシス
テムから送信されるその旨のメッセージの値を用いて判
定する。ポップアップメニュー(J)内の項目が選択さ
れたと判定した場合は、ステップ1350に進み、ウイ
ンドウ・プロシージャ933は、選択された項目に応じ
た処理を行う。一方、ポップアップメニュー(J)内の
項目が選択された旨のメッセージを受信しない場合は、
ステップ1360において、当該ルーチン935は、イ
ベントが発生した旨のメッセージを受信したか否かを判
定する。イベントが発生した旨のメッセージを受信した
場合は、ルーチン935は、ステップ1130において
起動したタイマtを用いて、当該イベントが一定時間以
内か否かにより制限をつけることができる。したがっ
て、当該イベントが発生した場合であっても、一定時間
が経過した後は、当該イベントの発生を無視することも
可能である。
【0066】当該ルーチン935は、一定時間以内にイ
ベントが発生した旨のメッセージを受信しない場合は、
ステップ1370に進み、何も処理を行わない。一方、
一定時間以内にイベントが発生した旨のメッセージを受
信した場合は、ステップ1380に進み、さらに、第1
1図のステップ1140または第12図のステップ12
40に進む。この場合も、メッセージWM_MOUSEMOVEと
共に、マウスカーソルの座標(X,Y)を、OSから取
得している。
【0067】第11図ステップ1150または第12図
ステップ1250において、ウインドウ・プロシージャ
933が所定の条件を満たすか否かを判定する。具体的
には、第8A図の場合、2回目にイベントが発生したと
きの座標(X,Y)が、中心座標(Xo,Yo)(1回
目にイベントが発生したときの座標)と等しいか否かを
判定する。第8B図の場合、2回目にイベントが発生し
たときの座標(X,Y)が、中心座標(Xo,Yo)か
ら距離D以内にあるか否かを判定する。これらの条件を
満たす場合は、ルーチン935は、カウンタJをカウン
トアップして(ステップ1320)、Jを2に更新し、
J=2に対応したポップアップメニューをデスクトップ
上に表示する(ステップ1340)。
【0068】J=3以降の処理も同様である。この場
合、中心座標(Xo,Yo)を、カウンタJの更新と共
に、更新していってもよい。具体的には、J番目の中心
座標(Xoj,Yoj)を、(J―1)番目のイベント
の発生した時のマウスカーソルの座標(X,Y)とし
て、カウンタJと共に更新することもできる。
【0069】第14図は、メニューの切り換えを、連続
的に発生するイベントの継続時間に基づいて行う場合の
フローを示す。ステップ1410は、第11図のステッ
プ1170または第12図ステップ1270から続くも
のである。
【0070】次に、ステップ1420において、前記ル
ーチン935は、発生したイベントの継続時間の指標を
示すカウンタnを、1だけカウントアップする(n=n
+1)。カウンタnの初期値は0に設定されているた
め、現在、nの値は1である。
【0071】次に、ステップ1430において、当該ル
ーチン935は、タイマtとnTとの大小関係を判定す
る。ここで、Tはポップアップメニューの単位切り換え
時間を示すパラメータである。パラメータTは、アプリ
ケーションプログラムにより設定することができ、ま
た、ユーザにより設定・変更が可能である。したがっ
て、T=1(秒)と設定されている場合は、イベントが
1秒継続する度に、ポップアップメニューが切り替えて
表示される。
【0072】タイマtがnTより小さいと判定された場
合、ルーチン935は、ステップ1430に進み、イベ
ントが継続しているかを判定する。イベントが継続して
いない、すなわち、イベントが中断されたと判断した場
合は、当該ルーチン935は、ステップ1440に進
み、何もしない。一方、タイマtがnTと等しいまたは
大きいと判定された場合、当該ルーチン935は、ステ
ップ1450に進み、カウンタnと関連づけられて定義
されたリソースファイル(例えば、第16図)を、デス
クトップ上に表示させる。現在、n=1なので、第6A
図または第7A図に示したようなポップアップメニュー
がデスクトップ上に表示される。
【0073】次に、当該ルーチン935は、ステップ1
460に進み、ポップアップメニュー(n)内の項目が
選択されたかを判定する。当該ルーチン935は、オペ
レーティングシステムから送信されるその旨のメッセー
ジの値を用いて判定する。ポップアップメニュー(n)
内の項目が選択されたと判定した場合は、ステップ14
70に進み、当該ルーチン935は、選択された項目に
応じた処理を行う。一方、ポップアップメニュー(n)
内の項目が選択された旨のメッセージを受信しない場合
は、ステップ1480において、当該ルーチン935
は、イベントが継続しているか否かを判定する。イベン
トが継続していると判定した場合は、当該ルーチン93
5は、ステップ1495に進み、さらに、第11図のス
テップ1140または第12図のステップ1240に進
む。一方、イベントが継続していないと判断した場合
は、ステップ1490に進み、何もしない。なお、この
場合も、メッセージWM_MOUSEMOVEと共に、マウスカー
ソルの座標(X,Y)を、OSから取得している。
【0074】次に、ステップ1495に進んだ場合、ル
ーチン935は、第11図ステップ1150または第1
2図ステップ1250において、所定の条件を満たすか
否かを判定する。具体的には、第8A図の場合、2回目
にイベントが発生したときの座標(X,Y)が、中心座
標(Xo,Yo)(1回目にイベントが発生したときの
座標)と等しいか否かを判定する。第8B図の場合、2
回目にイベントが発生したときの座標(X,Y)が、中
心座標(Xo,Yo)から距離D以内にあるか否かを判
定する。これらの条件を満たす場合は、ルーチン935
は、カウンタnをカウントアップして(ステップ142
0)、nを2に更新する。タイマtがnTと等しいまた
は大きいと判定した場合は、当該ルーチン935は、n
=2と関連づけられたポップメニューを、デスクトップ
上に表示する(ステップ1430)。この場合、n=2
なので、例えば、第6B図または第7B図に示されるポ
ップアップメニューがデスクトップ上に表示される。
【0075】n=3以降の処理も同様である。この場
合、中心座標(Xo,Yo)を、カウンタJの更新と共
に、更新していってもよい。具体的には、n番目の中心
座標(Xon,Yon)を、(n―1)番目のイベント
の発生した時のマウスカーソルの座標(X,Y)とし
て、カウンタnと共に更新することもできる。
【0076】第15図は、ポップアップメニューを定義
する際に用いられるグラフィカル・ユーザ・インターフ
ェースの例を示す。このインターフェースは、ソフトウ
エア技術者の間では、周知のインターフェースである。
第15A図においては、関連づけられるイベントは、マ
ウスの右クリックである(1510)。したがって、こ
の例では、マウスの右クリックの回数またはマウスの右
クリックの継続時間に基づいて、ポップアップメニュー
が切り替えられることになる。
【0077】1520は、項目の機能毎に管理されたポ
ップアップメニューを示す。具体的には、項目1521
は編集を示すポップアップメニュー(例えば、第6A
図、第7A図)を、項目1522は修飾/図形を示すポ
ップアップメニュー(例えば、第6B図、第7B図)
を、項目1523はファイル操作を示すポップアップメ
ニュー(例えば、第6C図、第7C図)を示す。ユーザ
は、項目1520の内容を、1531から1535に示
すボタンを操作することにより、編集することができ
る。例えば、ユーザは、ボタン1531の押下により、
1520に新たな項目を追加することができ、ボタン1
532の押下により、1520の項目を編集することが
でき、ボタン1533の押下により、1520から、項
目1521乃至項目1523を削除することができる。
さらに、ユーザは、ボタン1534の押下により、ウイ
ンドウ1500を破棄(destroy)することができ、ボタ
ン1535の押下により、既に行った処理を取消すこと
ができる。
【0078】ユーザは、ウインドウ1500(第15A
図)において、各項目1521から1523を選択し
て、ダブルクリックまたは編集ボタン1532を押下す
ることにより、第15B図に示すウインドウ1540を
開くことができる。第15B図は、ウインドウ1500
において、編集を示す項目1521が選択された場合を
示す(1550)。左側のボックス1560には、現
在、編集を示すポップアップメニューに属する項目が表
示される。これは、第6A図または第7A図のポップア
ップメニューに相当する。ユーザは、ボタン1581の
押下によりボックス1560に新たな項目を追加するこ
とができ、ボタン1582の押下により、ボックス15
70の項目を削除することができる。ボックス1570
は、編集後のポップアップメニューを示す。また、ボタ
ン1591の押下により、ユーザは、ウインドウ154
0における編集内容を設定することができ、ボタン15
92の押下により、既にした編集内容を取消すことがで
きる。
【0079】第16図は、第15図のGUIにより設定
されたリソースファイル(管理手段に相当する)を示
す。第15図では、機能毎に分類してポップアップメニ
ューを定義した結果、生成されるリソースファイルも機
能毎に分類されている。なお、本発明の完成において
は、必ずしも、ポップアップメニューは機能毎に分類さ
れている必要はない。
【0080】第16A図は、第15A図の項目1521
に対応したリソースファイル1600を示している。こ
のリソースファイル1600を用いて、第6A図、第7
A図のポップアップメニューを表示することができる。
インクルード文1601は、ヘッダファイル"popup.h"
を読み込むものである。BEGIN文1610は、ポップア
ップメニュー内に表示する項目が始まることを宣言し、
END文1611は、その項目が終わることを宣言する。
【0081】MENUITEM文1620、1622から162
8は、ポップアップメニューに表示する各項目を定義す
る。具体的には、MENUITEM文の後のダブルクォーテイシ
ョン(“”)で囲まれた文字列がポップアップメニュー
に表示される。その項目が選択された場合、MENUITEM文
のカンマ後の変数がメッセージWM_COMMANDに格納さ
れ、そのメニューを所持するウインドウ・プロシージャ
933に送信される。したがって、MENUITEM文1620
の場合、第6A図、第7A図に示すように、ポップアッ
プメニューの第1行目に、"undo"が表示され、項目"und
o"が選択された場合、OS920は、メッセージWM_CO
MMANDに、IDM_UNDOを格納して、本件ソフトウエア93
0のウインドウ・プロシージャ933に対して送信す
る。
【0082】文1623、文1627は、ポップアップ
メニュー内に、区切り線(セパレータ)を入れることを
指定する文であり、ポップアップメニューには、第6A
図の“-----”のように表示される。ブロック1621
は、項目"undo"の下位のメニューを示す。したがって、
ブロック1621は、ポップアップメニューでは、第6
A図611のように表示され、項目"undo"が選択された
ときには、カスケードメニューとして表示される。この
ように、ブロック1621を入れ子構造にすることによ
り、複数の階層のメニューを作成することができる。
【0083】第16B図は、第15A図の項目1522
に対応したリソースファイル1650を示している。こ
のリソースファイル1650を用いて、第6B図、第7
B図に示すポップアップファイルを表示することができ
る。なお、リソースファイル1650の説明は、リソー
スファイル1600(第16A図)の説明と重複するの
で、省略する。また、第6C図、第7C図に対応したリ
ソースファイルも、同様にして定義できるが、紙面の関
係上、明示を省略する。
【0084】第17図は、第15図のGUIにより設定
された、管理手段の他の形態を示す。第17図で示すフ
ァイルは、API関数CreatePopupMenuを使用する場合に、
メニューを定義するファイルの一例である。また、第1
6図の場合と同様に、第15図では、機能毎に分類して
ポップアップメニューを定義した結果、第17図で生成
されるファイルも機能毎に分類されている。なお、本発
明の完成においては、必ずしも、ポップアップメニュー
は機能毎に分類されている必要はない。
【0085】第17A図は、第15A図の項目1521
に対応したファイル1710を示している。このファイ
ル1710を用いて、第6A図、第7A図のメニューを
表示することができる。なお、上述したように、これら
のファイルは、リソースファイルの形式(第16図)に
従う必要はなく、アプリケーションプログラム側で、そ
の形式を定義することができる。ファイル1710の形
式では、ある行の第一のカンマ前の項目は、メニュー内
に表示する項目を示し、第一のカンマ後の項目は、第一
のカンマ前の項目が選択された場合に、変数WM_COMMAN
Dに格納される変数を示している。したがって、ファイ
ル1710の例では、メニューの1行目に表示される項
目は"undo"であり、"undo"が選択されると、変数WM_CO
MMANDの値は0x1001となる。また、カンマのみの行は、
メニュー中にセパレータ“------”を挿入することを意
味し、第6A図、第7A図に示したように表示される。
また、ファイル1710には、図示していないが、多階
層を含むメニューの場合は、そのメニューアイテムの下
に、下層のメニュー項目をSUB-ITEM1, SUB-ITEM2と記載
したり、BEGIN文とEND文の間に挟んで定義することがで
きる。
【0086】第17B図は、第15A図の項目1522
に対応したファイル1720を示している。ファイル1
720を用いて、本件ソフトウエアは、第6B図、第7
B図に示すメニューを表示することができる。また、第
17C図は、第15A図の項目1523に対応したファ
イル1730を示している。ファイル1730を用い
て、本件ソフトウエアは、第6C図、第7C図に示すメ
ニューを表示することができる。これらのファイルの形
式は、第17A図で説明した通りである。
【0087】また、管理手段の他の例として、Microsof
t社の Windows95またはWindows98(WindowsはMicrosoft
社の登録商標である)で採用しているレジストリを採用
することもできる。レジストリを採用した場合は、第1
6図、第17図に例示されるファイルからの読み込み処
理が不要となるため、さらにアプリケーションプログラ
ム側の処理が簡単になる。
【0088】この場合、メニュー項目は、レジストリ内
に各階層のメニューを定義し、レジストリ関数を用い
て、これらのメニューを呼び出し、表示させる。具体的
には、レジストリファイルHKEY_LOCAL_MACHINE_\\SO
FTWARE\\COMPANY_A\\POPUP以下に各階層のメニューを
定義する。例えば、レジストリキーHKEY_LOCAL_MACHI
NE_\\SOFTWARE\\COMPANY_A\\POPUP\\MENU1で参照され
るレジストリファイルに、第6A図、第7A図に対応し
たメニューを定義する。同様にして、レジストリファイ
ルHKEY_LOCAL_MACHINE_\\SOFTWARE\\COMPANY_A\\PO
PUP\\MENU2で参照されるレジストリファイルに、第6B
図、第7B図に対応したメニューを定義し、また、レジ
ストリキーHKEY_LOCAL_MACHINE_\\SOFTWARE\\COMPAN
Y_A\\POPUP\\MENU3で参照されるレジストリファイル
に、第6C図、第7C図に対応したメニューを定義す
る。
【0089】これらのレジストリファイルに定義した各
メニュー項目は、レジストリキーにより、その値を参照
することができる。これらのキー値を参照する場合に
は、レジストリ関数を用い、本件ソフトウエアで用いる
レジストリ関数は、レジストリファイルをオープンする
RegOpenKeyEx()、レジストリキーの値を読み出すRegQue
ryValueEx()、レジストリファイルをクローズするRegCl
oseKey()がある。
【0090】例えば、MENU1内の1行目の項目"undo"
(第6A図、第7A図のメニューの1行目)は、レジス
トリキーHKEY_LOCAL_MACHINE_\\SOFTWARE\\COMPANY
_A\\POPUP\\MENU1\1\nameの値("undo")がメニューに表
示され、また、その項目が選択された場合は、レジスト
リキーHKEY_LOCAL_MACHINE_\\SOFTWARE\\COMPANY_A
\\POPUP\\MENU1\1\idの値("0x1001")がWM#_COMMANDに
格納される。また、同様にして、MENU1内の2行目の項
目"repeat"(第6A図、第7A図のメニューの2行目)
は、レジストリキーHKEY_LOCAL_MACHINE_\\SOFTWARE
\\COMPANY_A\\POPUP\\MENU1\2\nameの値("repeat")が
メニューに表示され、また、その項目が選択された場合
は、レジストリキーHKEY_LOCAL_MACHINE_\\SOFTWARE
\\COMPANY_A\\POPUP\\MENU1\2\idの値("0x1002")がWM#
_COMMANDに格納される。
【0091】アプリケーションプログラムは、このよう
なレジストリ関数を用いて、レジストリキーによりレジ
ストリファイルの内容を参照することで、上述したよう
なメニューの切り換えを実現することができる。
【0092】
【発明の効果】以上の説明から明らかなように、本発明
によれば、メニューを表示する場合に、入力デバイスの
操作量を少なくすることができる。したがって、メニュ
ーの操作による、ユーザの思考の中断を軽減することが
できる。
【図面の簡単な説明】
【図1】本件ソフトウエアが実行されるコンピュータシ
ステムの外観である。
【図2】本件ソフトウエアが実行されるコンピュータシ
ステムのハードウエア構成である。
【図3】第1の先行技術のグラフィカル・ユーザ・イン
ターフェースである。
【図4】第2の先行技術のグラフィカル・ユーザ・イン
ターフェースである。
【図5】第3の先行技術のグラフィカル・ユーザ・イン
ターフェースである。
【図6】本発明の第1のグラフィカル・ユーザ・インタ
ーフェースである。
【図7】本発明の第2のグラフィカル・ユーザ・インタ
ーフェースである。
【図8】表示制御手段を起動するための条件を説明する
図である。
【図9】OS−AP間のメッセージの流れを説明する図
である。
【図10】本件ソフトウエアのフローチャートである。
【図11】第8A図に示す条件に対応したフローチャー
トである。
【図12】第8B図に示す条件に対応したフローチャー
トである。
【図13】入力デバイスの特定の操作の回数に基づき、
メニューの切り換えを行う場合のフローチャートであ
る。
【図14】入力デバイスの特定の操作の継続時間に基づ
き、メニューの切り換えを行う場合のフローチャートで
ある。
【図15】メニューをグルーピングして定義する際の設
定画面例である。
【図16】グルーピングして定義された管理手段の一例
である。
【図17】グルーピングして定義された管理手段の他の
例である。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】入力デバイスの操作に基づき表示画面上に
    メニューを表示するコンピュータシステムにおいて、 メニューに表示する項目をグルーピングして管理する管
    理手段と、 入力デバイスの特定の操作回数または特定の操作の継続
    時間に基づき、前記グルーピングしたメニュー項目を切
    り替えて表示させる表示制御手段とを有することを特徴
    とするコンピュータシステム。
  2. 【請求項2】入力デバイスの操作に基づき表示画面上に
    メニューを表示するコンピュータシステムにおいて、 メニューに表示する項目をグルーピングして管理する管
    理手段と、 オペレーティングシステムから入力デバイスの操作によ
    る特定のイベントが発生した旨のメッセージを受信する
    受信手段と、 当該イベントの発生回数に基づき、前記グルーピングし
    たメニュー項目を切り替えて表示させる表示制御手段と
    を有することを特徴とするコンピュータシステム。
  3. 【請求項3】請求項2のグルーピングは、表示するメニ
    ュー項目の機能毎にグルーピングされていることを特徴
    とする請求項2のコンピュータシステム。
  4. 【請求項4】請求項2の表示制御手段は、一定時間以内
    に、入力デバイスの操作が同一点で操作された場合に起
    動されることを特徴とする請求項2のコンピュータシス
    テム。
  5. 【請求項5】請求項2の表示制御手段は、一定時間以内
    に、入力デバイスの操作が一定の範囲内で操作された場
    合に起動されることを特徴とする請求項2のコンピュー
    タシステム。
  6. 【請求項6】入力デバイスの操作に基づき表示画面上に
    メニューを表示するコンピュータシステムにおいて、 メニューに表示する項目をグルーピングして管理する管
    理手段と、 オペレーティングシステムから入力デバイスの操作によ
    る特定のイベントが発生した旨のメッセージを受信する
    受信手段と、 当該イベントの継続時間に基づき、前記グルーピングし
    たメニュー項目を切り替えて表示させる表示制御手段と
    を有することを特徴とするコンピュータシステム。
  7. 【請求項7】請求項6のグルーピングは、表示するメニ
    ュー項目の機能毎にグルーピングされていることを特徴
    とする請求項6のコンピュータシステム。
  8. 【請求項8】請求項6の表示制御手段は、一定時間以内
    に、入力デバイスの操作が同一点で継続して操作された
    場合に起動されることを特徴とする請求項6のコンピュ
    ータシステム。
  9. 【請求項9】入力デバイスの操作に基づき、メニューを
    コンピュータの表示画面上に表示させるコンピュータプ
    ログラムを記憶したコンピュータ読取り可能な記憶媒体
    において、 コンピュータのオペレーティングシステムから入力デバ
    イスの操作による特定のイベントが発生した旨のメッセ
    ージを受信するプログラムコード手段と、 当該イベントの発生回数に基づき、コンピュータシステ
    ム上に生成されるグルーピングされたメニュー項目を切
    り替えて表示させるプログラムコード手段とを有するこ
    とを特徴とするコンピュータ読取り可能な記憶媒体。
  10. 【請求項10】入力デバイスの操作に基づき、メニュー
    をコンピュータの表示画面上に表示させるコンピュータ
    プログラムを記憶したコンピュータ読取り可能な記憶媒
    体において、 コンピュータのオペレーティングシステムから入力デバ
    イスの操作による特定のイベントが発生した旨のメッセ
    ージを受信するプログラムコード手段と、 当該イベントの継続時間に基づき、コンピュータシステ
    ム上に生成されるグルーピングされたメニュー項目を切
    り替えて表示させるプログラムコード手段とを有するこ
    とを特徴とするコンピュータ読取り可能な記憶媒体。
JP3415499A 1999-02-12 1999-02-12 コンピュータシステム Withdrawn JP2000231432A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3415499A JP2000231432A (ja) 1999-02-12 1999-02-12 コンピュータシステム
US09/384,073 US6938216B1 (en) 1999-02-12 1999-08-26 Menu system requiring reduced user manipulation of an input device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3415499A JP2000231432A (ja) 1999-02-12 1999-02-12 コンピュータシステム

Publications (1)

Publication Number Publication Date
JP2000231432A true JP2000231432A (ja) 2000-08-22

Family

ID=12406297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3415499A Withdrawn JP2000231432A (ja) 1999-02-12 1999-02-12 コンピュータシステム

Country Status (2)

Country Link
US (1) US6938216B1 (ja)
JP (1) JP2000231432A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010060277A (ko) * 1999-11-12 2001-07-06 포만 제프리 엘 입력이벤트를 관리하는 방법, 시스템 및 컴퓨터 프로그램제품
KR100486683B1 (ko) * 2001-05-26 2005-05-03 안현기 다기능 포인팅 디바이스의 제어 장치
WO2008001749A1 (fr) * 2006-06-29 2008-01-03 P & W Solutions Co., Ltd. Procédé de réception d'entrée de paramètre
JP2010140327A (ja) * 2008-12-12 2010-06-24 Dainippon Printing Co Ltd ボード書き込みシステム、コンピュータ装置及びプログラム
JP2012093839A (ja) * 2010-10-25 2012-05-17 Dainippon Printing Co Ltd 情報機器、コンピュータプログラム
JP2015232895A (ja) * 2012-11-30 2015-12-24 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理システム、情報の表示方法、制御方法、及びプログラム

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020167548A1 (en) * 2001-05-14 2002-11-14 Murray La Tondra Method, system, and computer-program product for the customization of drop-down list boxes using hot lists
US7546548B2 (en) * 2002-06-28 2009-06-09 Microsoft Corporation Method and system for presenting menu commands for selection
KR100621367B1 (ko) * 2002-09-10 2006-09-07 삼성전자주식회사 전자기기의 입력패널장치
US7328409B2 (en) * 2003-04-17 2008-02-05 International Business Machines Corporation Method, system, and computer program product for user customization of menu items
US20070112781A1 (en) * 2005-11-17 2007-05-17 Mcmullen Cindy System and method for providing search controls in a communities framework
US7590687B2 (en) * 2005-11-17 2009-09-15 Bea Systems, Inc. System and method for providing notifications in a communities framework
US7680927B2 (en) * 2005-11-17 2010-03-16 Bea Systems, Inc. System and method for providing testing for a communities framework
US8046696B2 (en) * 2005-11-17 2011-10-25 Oracle International Corporation System and method for providing active menus in a communities framework
US8185643B2 (en) 2005-11-17 2012-05-22 Oracle International Corporation System and method for providing security in a communities framework
US8255818B2 (en) * 2005-11-17 2012-08-28 Oracle International Corporation System and method for providing drag and drop functionality in a communities framework
US20070112798A1 (en) * 2005-11-17 2007-05-17 Bea Systems, Inc. System and method for providing unique key stores for a communities framework
US7493329B2 (en) * 2005-11-17 2009-02-17 Bea Systems, Inc. System and method for providing generic controls in a communities framework
US7805459B2 (en) 2005-11-17 2010-09-28 Bea Systems, Inc. Extensible controls for a content data repository
US20070113188A1 (en) * 2005-11-17 2007-05-17 Bales Christopher E System and method for providing dynamic content in a communities framework
US8078597B2 (en) * 2005-11-17 2011-12-13 Oracle International Corporation System and method for providing extensible controls in a communities framework
US20070112856A1 (en) * 2005-11-17 2007-05-17 Aaron Schram System and method for providing analytics for a communities framework
JP2007207186A (ja) * 2006-02-06 2007-08-16 Denso Corp 操作システム
US8196052B2 (en) * 2006-06-30 2012-06-05 International Business Machines Corporation System and method to display a web page as scheduled by a user
US20090094614A1 (en) * 2007-10-05 2009-04-09 Microsoft Corporation Direct synchronous input
US9524525B2 (en) * 2008-04-30 2016-12-20 Oracle International Corporation Method, system, and graphical user interface for presenting an interactive hierarchy and indicating entry of information therein
TWI419041B (zh) * 2008-06-06 2013-12-11 Hon Hai Prec Ind Co Ltd 控制觸摸屏圖示顯示之方法
JP5435937B2 (ja) 2008-12-25 2014-03-05 キヤノン株式会社 画像撮影装置及び画像撮影装置における画像の表示制御方法
JP5846755B2 (ja) 2010-05-14 2016-01-20 株式会社東芝 画像診断装置及び医用画像表示装置
US20130191781A1 (en) * 2012-01-20 2013-07-25 Microsoft Corporation Displaying and interacting with touch contextual user interface
US9928562B2 (en) 2012-01-20 2018-03-27 Microsoft Technology Licensing, Llc Touch mode and input type recognition
US9335897B2 (en) 2013-08-08 2016-05-10 Palantir Technologies Inc. Long click display of a context menu
WO2015041648A1 (en) * 2013-09-19 2015-03-26 Hewlett-Packard Development Company, L.P. Application menu modification recommendations
US10447562B2 (en) * 2016-03-06 2019-10-15 Nice Ltd. System and method for detecting screen connectivity monitoring application malfunctions
US20180004385A1 (en) 2016-06-30 2018-01-04 Futurewei Technologies, Inc. Software defined icon interactions with multiple and expandable layers

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5251125A (en) * 1990-04-30 1993-10-05 Eaton Corporation User interface for a process control device
US5388198A (en) * 1992-04-16 1995-02-07 Symantec Corporation Proactive presentation of automating features to a computer user
JPH05298049A (ja) 1992-04-17 1993-11-12 Hitachi Ltd メニュー表示制御方式
CA2170429C (en) * 1995-03-28 2000-04-25 Stephen Gregory Eick Method and apparatus for finding and selecting a desired data item from a large schedule of data items using a tv set and a controller similar to a tv-remote-control
EP0845136A4 (en) * 1995-08-14 2002-02-06 Marco Luzzatto IMPROVED CONTROLLED NOTICE ARRANGEMENTS AND PROCEDURES
US5694150A (en) * 1995-09-21 1997-12-02 Elo Touchsystems, Inc. Multiuser/multi pointing device graphical user interface system
US6282362B1 (en) * 1995-11-07 2001-08-28 Trimble Navigation Limited Geographical position/image digital recording and display system
US5801692A (en) * 1995-11-30 1998-09-01 Microsoft Corporation Audio-visual user interface controls
US6493006B1 (en) * 1996-05-10 2002-12-10 Apple Computer, Inc. Graphical user interface having contextual menus
US5736984A (en) * 1996-07-03 1998-04-07 Sun Microsystems, Inc. Method and system for embedded feedback message and graphical processing element
JPH10333860A (ja) 1997-05-30 1998-12-18 N T T Data:Kk リスト表示装置
US5982351A (en) * 1997-09-30 1999-11-09 Motorola, Inc. Method and apparatus for supplementing a keyboard and for helping a user operate an electronic device
US6868527B2 (en) * 1999-03-22 2005-03-15 Intel Corporation Controlling processor-based systems

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010060277A (ko) * 1999-11-12 2001-07-06 포만 제프리 엘 입력이벤트를 관리하는 방법, 시스템 및 컴퓨터 프로그램제품
KR100486683B1 (ko) * 2001-05-26 2005-05-03 안현기 다기능 포인팅 디바이스의 제어 장치
WO2008001749A1 (fr) * 2006-06-29 2008-01-03 P & W Solutions Co., Ltd. Procédé de réception d'entrée de paramètre
US8904307B2 (en) 2006-06-29 2014-12-02 P&W Solutions Co., Ltd. Parameter input receiving method
JP2010140327A (ja) * 2008-12-12 2010-06-24 Dainippon Printing Co Ltd ボード書き込みシステム、コンピュータ装置及びプログラム
JP2012093839A (ja) * 2010-10-25 2012-05-17 Dainippon Printing Co Ltd 情報機器、コンピュータプログラム
JP2015232895A (ja) * 2012-11-30 2015-12-24 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理システム、情報の表示方法、制御方法、及びプログラム

Also Published As

Publication number Publication date
US6938216B1 (en) 2005-08-30

Similar Documents

Publication Publication Date Title
JP2000231432A (ja) コンピュータシステム
JP3086399B2 (ja) グラフィカル・ユーザ・インターフェース(gui)オブジェクトのレイジー・ドラッグ
JP4541676B2 (ja) グラフィカルユーザインタフェースにおいてソフトウェアアプリケーションを管理するためのシステムおよび方法
US5555370A (en) Method and system for creating complex objects for use in application development
US7620911B2 (en) Collapsible dialog window
US5801693A (en) "Clear" extension to a paste command for a clipboard function in a computer system
US7426697B2 (en) Multi-application tabbing system
US8302021B2 (en) Pointer drag path operations
JP3233254B2 (ja) ウィンドウ変更のための方法、システム、及びメモリ
JP3872322B2 (ja) タッチパネルに対応した入力方法、入力システムおよびプログラム
US20060224991A1 (en) Method and apparatus for application window grouping and management
US20050188329A1 (en) System for and method of generating and navigating within a workspace of a computer application
US20020175955A1 (en) Graphical user interface having contextual menus
US20080266255A1 (en) Switching display mode of electronic device
JPH0944335A (ja) イメージ・マップと元々の外観とを表示する方法および装置
WO2004029785A2 (en) Customizable drag and drop for industrial software applications
JPH07295753A (ja) 複数のディスプレイ・ポインタを提供する方法およびコンピュータ・システム
JPH07210353A (ja) データ処理システム・グラフィカル・ユーザ・インタフェースをカストマイズする方法及びシステム
JPH0778782B2 (ja) 対話型コンピュータ・システムならびにその使用環境適合化装置および方法
US6181338B1 (en) Apparatus and method for managing windows in graphical user interface environment
AU642606B2 (en) Encapsulation of applications for inclusion within an object management facility environment
JP2003345483A (ja) 情報処理装置および同装置で使用されるウィンドウサイズ制御方法
JP2000311040A (ja) データ引き渡し装置、データ引き渡し方法、及びデータ引き渡しプログラムを記録した記録媒体
EP1025489B1 (en) System to associate control with applications using drag and drop interface
US5812129A (en) Method and system for accessing functions of a user interface environment from processes running outside of the user interface environment

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041001

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051219

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060119

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060421

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080325