(57)【要約】【課題】入力補助を行うためのコントロールを容易に選択可能な仕組みを提供すること。【解決手段】文字入力を受け付けるためのテキストボックスコントロール７０１と、当該テキストボックスコントロール７０１に対応するボタンコントロール７０２とを備える画面において、テキストボックスコントロール７０１がフォーカスされた場合に、当該テキストボックスコントロール７０１に対応するボタンコントロール７０２の位置を特定し、特定した位置にマウスカーソルを移動させる。【選択図】図１３
2016062456.tif 000002
【特許請求の範囲】
【請求項１】
文字列の入力を受け付けるための第１のコントロールと、前記第１のコントロールに対する文字列の入力を補助するための第２のコントロールとを含む画面を表示するよう制御する表示制御手段と、
前記表示制御手段で表示された画面に含まれる前記第１のコントロールがフォーカスされた場合に、前記第２のコントロールの位置を特定する位置特定手段と、
前記位置特定手段で特定された位置にマウスカーソルを移動するよう制御するマウスカーソル制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記位置特定手段は、前記表示制御手段で表示された画面に含まれる前記第１のコントロールがキーボード操作によってフォーカスされた場合に、前記第２のコントロールの位置を特定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記マウスカーソル制御手段は、前記位置特定手段で特定された位置にマウスカーソルを移動するよう制御し、更に、当該マウスカーソルの移動範囲を制限するよう制御することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記マウスカーソル制御手段は、前記位置特定手段で特定された位置にマウスカーソルを移動するよう制御し、更に、所定の時間が経過するまで、当該マウスカーソルの移動範囲を制限するよう制御することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記情報処理装置は、
前記第２のコントロールに対する押下を検知するコントロール押下検知手段と、
前記マウスカーソル制御手段によって前記第２のコントロールの位置にマウスカーソルが移動した場合に、前記コントロール押下検知手段が当該第２のコントロールに対する押下を検知する範囲を拡大する検知範囲拡大手段と
を更に備えることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記検知範囲拡大手段は、更に、前記マウスカーソル制御手段によって前記第２のコントロールの位置にマウスカーソルが移動した場合に、所定の時間が経過するまで、前記コントロール押下検知手段が当該第２のコントロールに対する押下を検知する範囲を拡大することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
情報処理装置の表示制御手段が、文字列の入力を受け付けるための第１のコントロールと、前記第１のコントロールに対する文字列の入力を補助するための第２のコントロールとを含む画面を表示するよう制御する表示制御ステップと、
前記情報処理装置の位置特定手段が、前記表示制御ステップで表示された画面に含まれる前記第１のコントロールがフォーカスされた場合に、前記第２のコントロールの位置を特定する位置特定ステップと、
前記情報処理装置のマウスカーソル制御手段が、前記位置特定ステップで特定された位置にマウスカーソルを移動するよう制御するマウスカーソル制御ステップと
を備えることを特徴とする情報処理装置の制御方法。
【請求項８】
情報処理装置を、
文字列の入力を受け付けるための第１のコントロールと、前記第１のコントロールに対する文字列の入力を補助するための第２のコントロールとを含む画面を表示するよう制御する表示制御手段と、
前記表示制御手段で表示された画面に含まれる前記第１のコントロールがフォーカスされた場合に、前記第２のコントロールの位置を特定する位置特定手段と、
前記位置特定手段で特定された位置にマウスカーソルを移動するよう制御するマウスカーソル制御手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力補助を行うためのコントロールを容易に選択可能な情報処理装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータ等の情報処理装置では、画面に含まれるコントロールに対して操作を行うことで、所望の機能を実現している。コントロールとは、テキストボックスやボタン等のＧＵＩ（グラフィカルユーザインタフェース）の部品のことである。
【０００３】
コントロールには、Ｔａｂキー等のキーボード操作によってフォーカスする順序があらかじめ設定されており、この順序でフォーカスがコントロール間を移動する。この仕組みは、キーボード操作が主体のユーザによく用いられている。しかしながら、このあらかじめ決められた順序でしかコントロール間を移動することができないため、何度もＴａｂキー等を押下しなければならない問題があった。
【０００４】
そこで下記の特許文献１では、カーソルキー等の特殊キーの押下を検知すると、特殊キーが示す方向にあるコントロールにフォーカスを移動させる仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−５８２９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、テキストボックス等のコントロールに対する入力を補助するコントロールが存在する。例えば、日付入力を補助するためのカレンダーや入力候補を表示するための子画面等を呼び出すためのコントロールである。この入力補助を行うためのコントロールは、マウス操作が主体で入力に不慣れなユーザが使用するための仕組みであり、キーボード操作が主体のユーザは使用しないので、キーボード操作ではフォーカスしないコントロールとなっている。
【０００７】
しかしながら、キーボード操作が主体のユーザであっても、入力補助のためのコントロールを使用したいことがある。例えば、入力すべき科目に対する科目コードを忘れてしまった場合である。この場合には、マウス操作によって入力補助のコントロールにマウスカーソルを移動させ、当該コントロールを押下することで科目コードの一覧を子画面に表示しなければならない。つまり、わざわざマウスカーソルを移動させなければならない問題がある。
【０００８】
また、キーボード操作が主体のユーザはマウスカーソルが画面内のどこに存在するのかをあまり意識していないため、マウス操作によってマウスカーソルを探さなくてはならない問題もあった。
【０００９】
そこで本発明は、入力補助を行うためのコントロールを容易に選択可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明の情報処理装置は、文字列の入力を受け付けるための第１のコントロールと、前記第１のコントロールに対する文字列の入力を補助するための第２のコントロールとを含む画面を表示するよう制御する表示制御手段と、前記画面表示手段で表示された画面に含まれる前記第１のコントロールがフォーカスされた場合に、前記第２のコントロールの位置を特定する位置特定手段と、前記位置特定手段で特定された位置にマウスカーソルを移動するよう制御するマウスカーソル制御手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、入力補助を行うためのコントロールを容易に選択可能な効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】情報処理装置１００のハードウェア構成の一例を示す図である。
【図２】情報処理装置１００の機能構成の一例を示す図である。
【図３】設定画面４００における処理の一例を示すフローチャートである。
【図４】設定画面４００の画面構成の一例を示す図である。
【図５】設定情報５００の一例を示す図である。
【図６】データ登録画面７００における処理の一例を示すフローチャートである。
【図７】データ登録画面７００の画面構成の一例を示す図である。
【図８】コントロール操作処理の一例を示すフローチャートである。
【図９】データ登録画面７００における操作結果の一例を示す図である。
【図１０】コントロール管理テーブル１０００のテーブル構成の一例を示す図である。
【図１１】フォーカス移動処理の一例を示すフローチャートである。
【図１２】ボタン押下補助処理の一例を示すフローチャートである。
【図１３】マウスカーソルを移動させた場合の様子を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１４】
図１は、本発明の実施形態における情報処理装置１００のハードウェア構成を示す図である。情報処理装置１００は、オペレーティングシステムを搭載する汎用的な装置である。本実施形態ではパーソナルコンピュータを想定して説明を行うが、サーバ装置であってもよいし、携帯端末（携帯電話、スマートフォン、タブレット端末等）であってもよい。
【００１５】
ＣＰＵ１０１は、システムバス１０４に接続される各デバイスやコントローラを統括的に制御する。
【００１６】
また、ＲＯＭ１０２あるいは外部メモリ１１１には、ＣＰＵ１０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステムや、情報処理装置１００が実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ１０３は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。
【００１７】
ＣＰＵ１０１は、処理の実行に際して必要なプログラム等をＲＡＭ１０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００１８】
また、入力コントローラ１０５は、キーボードやマウス等のポインティングデバイス（入力デバイス１０９）からの入力を制御する。
【００１９】
ビデオコントローラ１０６は、ディスプレイ１１０等の表示器への表示を制御する。表示器はＣＲＴや液晶ディスプレイでも構わない。
【００２０】
メモリコントローラ１０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスクやフレキシブルディスク或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ１１１へのアクセスを制御する。
【００２１】
通信Ｉ／Ｆコントローラ１０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２２】
尚、ＣＰＵ１０１は、例えばＲＡＭ１０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ１１０での表示を可能としている。また、ＣＰＵ１０１は、ディスプレイ１１０の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２３】
本発明の情報処理装置１００が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ１１１に記録されており、必要に応じてＲＡＭ１０３にロードされることによりＣＰＵ１０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ１１１に格納されている。
【００２４】
次に、情報処理装置１００の機能構成の一例について、図２を用いて説明する。
【００２５】
情報処理装置１００は機能部として、記憶部２０１と、表示制御部２０２と、マウスカーソル制御部２０３と、キーボード入力制御部２０４と、フォーカス制御部２０５と、コントロール操作制御部２０６と、ボタン押下検知範囲拡大部２０７とを備えている。
【００２６】
記憶部２０１は、情報処理装置１００を動作させるための各種プログラムやデータ等を記憶・管理するための機能部である。特に、本実施形態においては、後述する設定情報５００やコントロール管理テーブル１０００等を記憶する（記憶手段）。また、後述する図７のデータ登録画面７００で入力された各種データをデータベースに登録する。表示制御部２０２は、情報処理装置１００のディスプレイ１１０に各種画面を表示するための機能部である。
【００２７】
マウスカーソル制御部２０３は、入力デバイス１０９であるマウスからの入力を受け付け、ディスプレイ１１０に表示されるマウスカーソルの移動を制御するための機能部である。マウスカーソル制御部２０３は、必要に応じてマウスカーソルの移動範囲を制限することもできる。
【００２８】
キーボード入力制御部２０４は、入力デバイス１０９であるキーボードからの入力を受け付け、テキストボックス等のコントロールにデータを入力するための機能部である。フォーカス制御部２０５は、コントロールに対してフォーカスするための機能部である。フォーカス制御部２０５は、更にコントロールごとに設定されたフォーカスの順序に従って、フォーカスをコントロール間で移動させることもできる。
【００２９】
コントロール操作制御部２０６（コントロール押下検知手段）は、マウスカーソル制御部２０３またはキーボード入力制御部２０４で受け付けた、コントロールに対する操作を検知し、その操作に応じてコントロールの動作を制御するための機能部である。ボタン押下検知範囲拡大部２０７は、ボタンのコントロールに対して押下されたと検知する範囲を拡大するための機能部である。通常はボタンのコントロールが示す範囲にマウスカーソルが存在し、クリックがなされると当該ボタンのコントロールが押下されたと検知する。ボタン押下検知範囲拡大部２０７は、このボタンのコントロールが示す範囲を拡大し、より広い範囲でこの検知を可能とするための機能部である。
【００３０】
尚、情報処理装置１００が備える機能部はこれ以外にあってもよい。前述した機能部に限られるものではない。
【００３１】
次に、設定画面４００における処理の流れについて、図３に示すフローチャートを用いて説明する。
【００３２】
ステップＳ３０１では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能により図４に示すような設定画面４００をディスプレイ１１０に表示する。
【００３３】
図４の設定画面４００は、後述する図７のデータ登録画面７００における動作を設定するための画面である。設定画面４００は、チェックボックス４０１と、ラジオボタン４０２と、保存ボタン４０３とを備える。チェックボックス４０１は、マウスカーソル制御モードでデータ登録画面７００を動作させるか否かを設定するためのチェックボックスである。
【００３４】
マウスカーソル制御モードは、テキストボックスのコントロールにフォーカスが移動した際に、当該コントロールに対応するボタンのコントロールに、マウスカーソルを移動するモードのことである。このボタンのコントロールは、入力補助を行うためのコントロールである。例えば、日付入力のためのカレンダーを表示するためのボタンや入力候補の一覧を含む子画面を表示するためのボタン等である。テキストボックスのコントロールにフォーカスが移動した際に、当該コントロールに対応するボタンのコントロールに、マウスカーソルを自動で移動させることにより、ユーザがマウス操作によってマウスカーソルを探す必要がなくなる上、クリックするだけでボタンのコントロールを押下可能となる。
【００３５】
ラジオボタン４０２は、マウスカーソル制御モードでマウスカーソルの制御をした後の動作について選択するためのラジオボタンである。つまり、チェックボックス４０１にチェックがなされると、ラジオボタン４０２が選択可能となる。
【００３６】
ラジオボタン４０２−１は、マウスカーソルが移動してから所定の時間が経過するまで、ボタン押下の検知範囲を拡大するための選択肢である。マウスカーソルが移動した後、ユーザが入力デバイス１０９であるマウスを持ってクリック（ボタン押下）をするのだが、マウスを持った反動によってマウスカーソルが多少移動してしまう可能性がある。これにより、マウスカーソルがボタンのコントロールの範囲から外れてしまうと、ボタン押下が無効となってしまうので、多少移動してもボタン押下を有効とするために、ボタン押下の検知範囲を拡大する。
【００３７】
ラジオボタン４０２−２は、マウスカーソルが移動してから所定の時間が経過するまで、マウスカーソルの移動範囲を制限するための選択肢である。前述したように、マウスを持った反動によってマウスカーソルが多少移動してしまう問題があるので、別の対策としてマウスカーソルの移動範囲を制限してしまうことが考えられる。本実施形態では、マウスカーソルの移動をボタンのコントロールが示す範囲内に制限することで、ボタンのコントロールが示す範囲外にマウスカーソルが移動してしまう問題を解決する。
【００３８】
ステップＳ３０２では、情報処理装置１００のＣＰＵ１０１は、コントロール操作制御部２０６の機能により、設定画面４００が備える保存ボタン４０３に対する押下を検知したか否かを判定する。保存ボタン４０３に対する押下を検知したと判定した場合には、ステップＳ３０３に処理を進める。保存ボタン４０３に対する押下を検知したと判定しなかった場合には、保存ボタン４０３の押下を検知するまでステップＳ３０２を繰り返す。
【００３９】
ステップＳ３０３では、情報処理装置１００のＣＰＵ１０１は、設定画面４００のチェックボックス４０１やラジオボタン４０２で選択された設定を図５に示す設定情報５００に格納する。設定情報５００は、情報処理装置１００の外部メモリ１１１に記憶される設定ファイルである。設定情報５００に格納される情報は、「０」、「１」、「２」の３つが存在する。「０」は、チェックボックス４０１にチェックがなされていない状態を示す。「１」は、ラジオボタン４０２−１にチェックがなされた状態を示す。「２」は、ラジオボタン４０２−２にチェックがなされた状態を示す。このように、チェックされた項目に応じた情報を格納しておく。
【００４０】
次に、データ登録画面７００における処理の流れについて、図６に示すフローチャートを用いて説明する。
【００４１】
ステップＳ６０１では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能により、図７に示すようなデータ登録画面７００をディスプレイ１１０に表示する（表示制御手段）。
【００４２】
データ登録画面７００は、各種データを登録するための画面である。データ登録画面７００は、テキストボックスコントロール７０１と、ボタンコントロール７０２と、登録ボタン７０３とを備える。
【００４３】
テキストボックスコントロール７０１（第１のコントロール）は、テキスト（文字列）入力が可能なテキストボックスのコントロールである。更に、データ登録画面７００のテキストボックスコントロール７０１は複数存在し、伝票日付を入力するための伝票日付テキストボックスコントロール７０１−１と、科目のコードを入力するための科目テキストボックスコントロール７０１−２と、金額を入力するための金額テキストボックスコントロール７０１−３と、部門のコードを入力するための部門テキストボックスコントロール７０１−４とが存在する。
【００４４】
ボタンコントロール７０２（第２のコントロール）は、テキストボックスコントロール７０１に対する入力を補助するためのボタンのコントロールである。更に、データ登録画面７００のボタンコントロール７０２は複数存在し、カレンダーを表示し日付入力を補助するためのカレンダーボタンコントロール７０２−１と、入力候補を選択可能な子画面を表示するための参照ボタンコントロール７０２−２と、同じく参照ボタンコントロール７０２−３とが存在する。
【００４５】
図７のデータ登録画面７００では、伝票日付テキストボックスコントロール７０１−１はカレンダーボタンコントロール７０２−１と対応しており、科目テキストボックスコントロール７０１−２は参照ボタンコントロール７０２−２と対応している。また、部門テキストボックスコントロール７０１−４は参照ボタンコントロール７０２−３と対応している。一方、金額テキストボックスコントロール７０１−３はどのボタンコントロール７０２とも対応していない。
【００４６】
登録ボタン７０３は、テキストボックスコントロール７０１に入力されたテキストを記憶部２０１のデータベースに登録するためのボタンである。
【００４７】
ステップＳ６０２では、情報処理装置１００のＣＰＵ１０１は、データ登録画面７００が備えるコントロールに対する押下を検知し、押下されたコントロールの機能を実行する処理を行う。コントロール操作処理の詳細は、後述する図８に示す。
【００４８】
ステップＳ６０３では、情報処理装置１００のＣＰＵ１０１は、フォーカス制御部２０５の機能により、フォーカスの移動を検知したか否かを判定する。より具体的には、入力デバイス１０９であるマウスまたはキーボードからフォーカスの移動指示があったか否かを検知する。例えば、テキストボックスコントロール７０１に対するマウスからのクリックや、キーボードが備えるＴａｂキーの押下があれば、フォーカスの移動指示があったと検知する。本実施形態では、テキストボックスコントロール７０１と登録ボタン７０３がフォーカス可能なコントロールであり、入力補助のためのボタンコントロール７０２にはフォーカスしない仕組みとなっているので、ここでいう移動指示は、テキストボックスコントロール７０１または登録ボタン７０３に対するフォーカスの移動指示ということである。フォーカスの移動を検知したと判定した場合に、ステップＳ６０４に処理を進める。フォーカスの移動を検知したと判定しなかった場合には、ステップＳ６０５に処理を進める。
【００４９】
ステップＳ６０４では、情報処理装置１００のＣＰＵ１０１は、検知したフォーカスの移動指示に応じて、フォーカスを移動させる処理を実行する。フォーカス移動処理の詳細は、後述する図１１に示す。
【００５０】
ステップＳ６０５では、情報処理装置１００のＣＰＵ１０１は、閉じるボタンの押下等によるデータ登録画面７００の終了指示を検知したか否かを判定する。終了指示を検知したと判定した場合には、ステップＳ６０６に処理を進める。終了指示を検知したと判定しなかった場合には、ステップＳ６０２に処理を戻す。
【００５１】
ステップＳ６０６では、情報処理装置１００のＣＰＵ１０１は、ステップＳ６０１で表示したデータ登録画面７００を閉じて、本一連の処理を終了する。
【００５２】
次に、コントロール操作処理の流れについて、図８に示すフローチャートを用いて説明する。
【００５３】
ステップＳ８０１では、情報処理装置１００のＣＰＵ１０１は、コントロール操作制御部２０６の機能により、フォーカス中のテキストボックスコントロール７０１に対するテキストの入力を検知したか否かを判定する。テキストの入力を検知したと判定した場合には、ステップＳ８０２に処理を進める。テキストの入力を検知したと判定しなかった場合には、ステップＳ８０３に処理を進める。
【００５４】
ステップＳ８０２では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能により、入力されたテキストをフォーカス中のテキストボックスコントロール７０１に表示する。
【００５５】
一方ステップＳ８０３では、情報処理装置１００のＣＰＵ１０１は、コントロール操作制御部２０６の機能により、カレンダーボタンコントロール７０２−１の押下を検知したか否かを判定する。より具体的には、図１０に示すようなコントロール管理テーブル１０００のコントロール名１００２が「カレンダーボタン」であるレコードのボタン押下検知範囲１００６を参照し、このボタン押下検知範囲１００６が示す範囲にマウスカーソルが存在する状態でマウスの押下を受け付けた場合に、カレンダーボタンコントロール７０２−１の押下を検知したと判定する。カレンダーボタンコントロール７０２−１の押下を検知したと判定した場合には、ステップＳ８０４に処理を進める。カレンダーボタンコントロール７０２−１の押下を検知したと判定しなかった場合には、ステップＳ８０７に処理を進める。
【００５６】
コントロール管理テーブル１０００は、情報処理装置１００の外部メモリ１１１に記憶される、各コントロールのパラメータを示すデータテーブルである。コントロール管理テーブル１０００は、ＩＤ１００１と、コントロール名１００２と、フォーカス順序１００３と、対応コントロール１００４と、移動座標１００５と、ボタン押下検知範囲１００６とを備える。ＩＤ１００１は、コントロールごとに一意に割り振られた識別番号を示す。コントロール名１００２は、コントロールの名称を示す。フォーカス順序１００３は、Ｔａｂキー等のキーボード入力を受け付けた場合に、フォーカスが遷移するコントロールの順番を示す。対応コントロール１００４は、対応関係にあるコントロールのＩＤ１００１を示す。移動座標１００５は、ボタンコントロール７０２が押下された場合にマウスカーソルが移動する移動先の座標を示す。ボタン押下検知範囲１００６は、ボタンコントロール７０２に対する押下とみなす範囲の座標を示す。尚、本実施形態ではコントロール管理テーブル１０００に示すようなデータテーブルを用いるものとするが、各コントロールにコントロール管理テーブル１０００が示す各項目の情報を含んでもよい。
【００５７】
ステップＳ８０４では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能により、カレンダーボタンコントロール７０２−１の近傍に、日付入力を補助するためのカレンダーオブジェクト９０１を表示する。図９の下部に示すデータ登録画面７００は、カレンダーオブジェクト９０１の表示例である。カレンダーオブジェクト９０１に含まれる日付が選択されると、選択されたカレンダーの年月日が、カレンダーボタンコントロール７０２−１に対応する伝票日付テキストボックスコントロール７０１−１に入力される。
【００５８】
ステップＳ８０５では、情報処理装置１００のＣＰＵ１０１は、コントロール操作制御部２０６の機能により、ステップＳ８０４で表示されたカレンダーオブジェクト９０１で選択された年月日を取得する。ステップＳ８０６では、情報処理装置１００のＣＰＵ１０１は、コントロール操作制御部２０６に機能により、ステップＳ８０５で取得した年月日をカレンダーボタンコントロール７０２−１に対応するテキストボックスコントロール７０１に入力する。そして、表示制御部２０２の機能によりこれを表示する。
【００５９】
カレンダーボタンコントロール７０２−１に対応するテキストボックスコントロール７０１は、コントロール管理テーブル１０００の対応コントロール１００４を参照することで特定できる。図１０に示すコントロール管理テーブル１０００では、カレンダーボタンコントロール７０２−１のレコードは、コントロール名１００２が「カレンダーボタン」のレコードである。このレコードの対応コントロール１００４を参照すると「０１」と格納されているので、このＩＤ１００１を持つレコードを特定する。すると、コントロール名１００２が「伝票日付テキストボックス」である伝票日付テキストボックスコントロール７０１−１が特定されるので、これがカレンダーボタンコントロール７０２−１と対応するテキストボックスコントロール７０１であることがわかる。この特定した伝票日付テキストボックスコントロール７０１−１に、選択された年月日を入力した例が図９の上部に示すデータ登録画面７００である。
【００６０】
一方ステップＳ８０７では、情報処理装置１００のＣＰＵ１０１は、コントロール操作制御部２０６の機能により、参照ボタンコントロール７０２−２または参照ボタンコントロール７０２−３の押下を検知したか否かを判定する。判定の具体的な方法は、ステップＳ８０３で前述した方法と同様なので、説明は省略する。参照ボタンコントロール７０２−２または参照ボタンコントロール７０２−３の押下を検知したと判定した場合には、ステップＳ８０８に処理を進める。参照ボタンコントロール７０２−２または参照ボタンコントロール７０２−３の押下を検知したと判定しなかった場合には、ステップＳ８１１に処理を進める。
【００６１】
ステップＳ８０８では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能により、入力候補を選択するための子画面９０２をディスプレイ１１０に表示する。図９の下部に示すデータ登録画面７００は、子画面９０２の表示例である。子画面９０２では、押下された参照ボタンコントロール７０２−２または参照ボタンコントロール７０２−３に対応するテキストボックスコントロール７０１にテキストを入力するために、その入力候補を一覧表示する。そして、いずれか入力候補の選択がされた状態で決定ボタンの押下を受け付けるとその入力候補を、押下された参照ボタンコントロール７０２−２または参照ボタンコントロール７０２−３に対応するテキストボックスコントロール７０１に入力する。また、子画面９０２では入力候補の検索を行うことも可能である。
【００６２】
ステップＳ８０９では、情報処理装置１００のＣＰＵ１０１は、コントロール操作制御部２０６の機能により、子画面９０２で選択された入力候補を取得する。そして、ステップＳ８１０では、情報処理装置１００のＣＰＵ１０１は、コントロール操作制御部２０６の機能により、ステップＳ８０９で取得した入力候補を、押下された参照ボタンコントロール７０２−２または参照ボタンコントロール７０２−３に対応するテキストボックスコントロール７０１に入力する。そして、表示制御部２０２の機能によりこれを表示する。対応するテキストボックスコントロール７０１の特定方法については、ステップＳ８０６で前述した方法と同様なので、説明は省略する。
【００６３】
一方、ステップＳ８１１では、情報処理装置１００のＣＰＵ１０１は、コントロール操作制御部２０６の機能により、登録ボタン７０３の押下を検知したか否かを判定する。判定の具体的な方法は、ステップＳ８０３で前述した方法と同様なので、説明は省略する。登録ボタン７０３の押下を検知したと判定した場合には、ステップＳ８１２に処理を進める。登録ボタン７０３の押下を検知したと判定しなかった場合には、コントロール操作処理を終了する。
【００６４】
ステップＳ８１２では、情報処理装置１００のＣＰＵ１０１は、コントロール操作制御部２０６の機能により、テキストボックスコントロール７０１のそれぞれに入力されたテキストを取得する。そして、ステップＳ８１３では、情報処理装置１００のＣＰＵ１０１は、記憶部２０１の機能により、ステップＳ８１２で取得したテキストを外部メモリ１１１のデータベースに登録する。
【００６５】
ステップＳ８１３では、情報処理装置１００のＣＰＵ１０１は、コントロール操作制御部２０６の機能により、データ登録画面７００のテキストボックスコントロール７０１に入力されているテキストをすべてクリアする。以上のようにして、各コントロールに対する操作を処理する。
【００６６】
次に、フォーカス移動処理の流れについて、図１１に示すフローチャートを用いて説明する。
【００６７】
ステップＳ１１０１では、情報処理装置１００のＣＰＵ１０１は、フォーカス制御部２０５の機能により、入力デバイス１０９であるマウスまたはキーボードから指示されたフォーカスの移動先のコントロールを特定する。
【００６８】
具体的な特定方法について、キーボード操作による移動指示とマウス操作による移動指示とに分けて説明する。まずキーボード操作による移動指示があった場合の特定方法について説明する。Ｔａｂキー等によりフォーカスの移動指示を検知すると、フォーカス制御部２０５の機能により、フォーカス中のコントロールを特定する。本実施形態では、テキストボックスコントロール７０１または登録ボタン７０３にフォーカス可能な仕組みとなっているので、例えば、伝票日付テキストボックスコントロール７０１−１がフォーカス中ならこれが特定される。そして、コントロール管理テーブル１０００のフォーカス順序１００３を参照し、次のフォーカス順序１００３を持つコントロールを特定する。伝票日付テキストボックスコントロール７０１−１がフォーカス中なら現在のフォーカス順序１００３は「１」である。この次のフォーカス順序１００３は「２」であるので、これを持つレコードをフォーカス順序１００３から検索すると、科目テキストボックスコントロール７０１−２であることがわかる。つまり、フォーカスの移動先として、科目テキストボックスコントロール７０１−２が特定されることになる。尚、次のフォーカス順序１００３がなくなった場合（例えば、登録ボタン７０３にフォーカス中の時にＴａｂキー等が押下された場合）には、フォーカス順序１００３が「１」のコントロールにフォーカスが戻ることになる。
【００６９】
次に、マウス操作による移動指示があった場合の特定方法について説明する。この場合には、マウス操作によって直接コントロールを指定しているので、その指定されたコントロールをコントロール操作制御部２０６の機能により特定し、これをフォーカス制御部２０５に通知すればよい。
【００７０】
ステップＳ１１０２では、情報処理装置１００のＣＰＵ１０１は、フォーカス制御部２０５の機能により、ステップＳ１１０１で特定したコントロールにフォーカスを移動させる。
【００７１】
ステップＳ１１０３では、情報処理装置１００のＣＰＵ１０１は、フォーカス制御部２０５の機能により、ステップＳ６０３で検知したフォーカスの移動指示が、Ｔａｂキー等のキーボード操作によってなされたのか否かを判定する。フォーカスの移動指示がキーボード操作によってなされたと判定した場合には、ステップＳ１１０４に処理を進める。フォーカスの移動指示がキーボード操作によってなされたと判定しなかった場合には、フォーカス移動処理を終了する。
【００７２】
ステップＳ１１０４では、情報処理装置１００のＣＰＵ１０１は、コントロール操作制御部２０６の機能により、ステップＳ１１０２でフォーカスしたコントロールに対応するコントロール（以下、対応コントロールと呼ぶ。）が存在するか否かを判定する。つまり、フォーカスしたテキストボックスコントロール７０１に対応するボタンコントロール７０２が存在するか否かを判定する。より具体的には、フォーカスしたコントロールのレコードをコントロール管理テーブル１０００から特定し、このレコードの対応コントロール１００４を参照する。ここに情報が格納されていれば、対応コントロールが存在すると判定する。対応コントロールが存在すると判定した場合には、ステップＳ１１０５に処理を進める。対応コントロールが存在すると判定しなかった場合には、フォーカス移動処理を終了する。
【００７３】
ステップＳ１１０５では、情報処理装置１００のＣＰＵ１０１は、フォーカスしたコントロールに対応する対応コントロールの機能を実行しやすくするために、マウスカーソルによるボタン押下を補助する処理を実行する。ボタン押下補助処理の詳細は、後述する図１２に示す。ボタン押下補助処理が完了したら、フォーカス移動処理を終了する。
【００７４】
次に、ボタン押下補助処理の流れについて、図１２に示すフローチャートを用いて説明する。
【００７５】
ステップＳ１２０１では、情報処理装置１００のＣＰＵ１０１は、マウスカーソル制御部２０３の機能により、ステップＳ１１０４で特定された対応コントロールの移動座標１００５をコントロール管理テーブル１０００から取得する（位置特定手段）。この移動座標１００５が示す座標は、対応コントロールのボタン押下検知範囲１００６の中心座標が望ましいが、これに限らない。対応コントロールのボタン押下検知範囲１００６の範囲内であればよい。すなわち、ステップＳ１２０１の処理は、対応コントロールの位置を特定するということである。
【００７６】
ステップＳ１２０２では、情報処理装置１００のＣＰＵ１０１は、マウスカーソル制御部２０３の機能により、ステップＳ１２０１で取得した移動座標１００５が示す座標にマウスカーソルを移動させる（マウスカーソル制御手段）。図１３は、登録ボタン７０３から伝票日付テキストボックスコントロール７０１−１にフォーカスが移動した場合の例を示す。伝票日付テキストボックス７０１−１の対応コントロールは、カレンダーボタンコントロール７０２−１であるので、これにマウスカーソルを移動させる。こうすることで、ユーザはマウスを移動させることなく、マウスをクリックするだけでカレンダーボタンコントロール７０２−１を実行することが可能となる。
【００７７】
ステップＳ１２０３では、情報処理装置１００のＣＰＵ１０１は、記憶部２０１の機能により外部メモリ１１１に記憶された設定情報５００を取得し、設定情報５００が示す値に応じて処理を分岐させる。設定情報５００が「０」を示す場合には、ボタン押下補助処理を終了する。設定情報５００が「１」を示す場合には、ステップＳ１２０４に処理を進める。設定情報５００が「２」を示す場合には、ステップＳ１２１０に処理を進める。このように、図４の設定画面で設定した項目によって処理を切り替えることができる。
【００７８】
ステップＳ１２０４では、情報処理装置１００のＣＰＵ１０１は、ボタン押下検知範囲拡大部２０７の機能により、対応コントロールのボタン押下検知範囲１００６が示す範囲を一時的にＲＡＭ１０３に記憶した後、対応コントロールのボタン押下検知範囲１００６が示す範囲を広げる（検知範囲拡大手段）。ステップＳ１２０４でボタン押下検知範囲１００６が拡大される前は、対応コントロールの範囲がボタン押下検知範囲１００６となっている（図１３の１３０１）が、これを拡大して、対応コントロールの周辺もボタン押下検知範囲１００６に含める（図１３の１３０２）。こうすることにより、ユーザがマウスを持った反動でマウスカーソルが多少移動してしまっても、対応コントロールに対するクリックを受け付けることが可能となる。尚、本実施形態では矩形型に拡大しているが、ステップＳ１２０１で取得した移動座標を中心とする円形型に拡大してもよいし、それ以外の形であってもよい。
【００７９】
ステップＳ１２０５では、情報処理装置１００のＣＰＵ１０１は、データ登録画面７００が備えるコントロールに対する押下を検知し、押下されたコントロールの機能を実行する処理を行う。コントロール操作処理の詳細は、図８で前述した通りである。
【００８０】
ステップＳ１２０６では、情報処理装置１００のＣＰＵ１０１は、フォーカス制御部２０５の機能により、フォーカスの移動を検知したか否かを判定する。詳細な処理については、ステップＳ６０３と同様であるので説明は省略する。フォーカスの移動を検知したと判定した場合に、ステップＳ１２０７に処理を進める。フォーカスの移動を検知したと判定しなかった場合には、ステップＳ１２０８に処理を進める。
【００８１】
ステップＳ１２０７では、情報処理装置１００のＣＰＵ１０１は、ステップＳ１２０４でＲＡＭ１０３に一時記憶した情報を対応コントロールのボタン押下検知範囲１００６に格納することで、拡大したボタン押下検知範囲１００６を元に戻す。フォーカスの移動操作を検知したということは、別のコントロールで入力を行うということである。つまり、別の対応コントロールに対する操作が必要となるので、対応コントロールに対する誤検出を防ぐために、拡大したボタン押下検知範囲１００６を元の範囲に戻す。処理が完了したら、ステップＳ１２０１に処理を戻す。
【００８２】
一方ステップＳ１２０８では、情報処理装置１００のＣＰＵ１０１は、ステップＳ１２０２でマウスカーソルを移動させてから所定の時間が経過したか否かを判定する。この所定の時間はユーザが自由に設定できてもよいし、固定の時間であってもよい。マウスカーソルを移動させてから所定の時間が経過したと判定した場合には、ステップＳ１２０９に処理を進める。マウスカーソルを移動させてから所定の時間が経過したと判定しなかった場合、つまり所定の時間が経過していない場合にはステップＳ１２０５に処理を戻す。別の実施形態として、Ｅｓｃキー等の所定のキー操作がなされたか否かを判定し、所定のキー操作がなされた場合にステップＳ１２０９に処理を進め、そうでない場合にステップＳ１２０５に処理を戻すようにしてもよい。
【００８３】
ステップＳ１２０９では、情報処理装置１００のＣＰＵ１０１は、ステップＳ１２０７と同様に、ステップＳ１２０４でＲＡＭ１０３に一時記憶した情報を対応コントロールのボタン押下検知範囲１００６に格納することで、拡大したボタン押下検知範囲１００６を元に戻す。処理が完了したら、ボタン押下補助処理を終了する。
【００８４】
一方ステップＳ１２１０では、情報処理装置１００のＣＰＵ１０１は、マウスカーソル制御部２０３の機能により、対応コントロールのボタン押下検知範囲１００６が示す範囲内でしか移動できないよう、マウスカーソルの移動を制限する。入力デバイス１０９であるマウスからの移動指示を受け付けても、対応コントロールのボタン押下検知範囲１００６を超える移動についてはその指示を無視することで、移動を制限すればよい。こうすることで、ユーザがマウスを持った反動によってマウスが移動してしまっても、対応コントロールのボタン押下検知範囲１００６を超えて移動することはなくなる。
【００８５】
ステップＳ１２１１では、情報処理装置１００のＣＰＵ１０１は、対応コントロールに対する押下を検知したか否かを判定する。対応コントロールは、ボタンコントロール７０２であるのでこのボタンコントロール７０２の機能を実行するべく、マウスの押下を検知したか否かを判定する。対応コントロールに対する押下を検知したと判定した場合には、ステップＳ１２１２に処理を進める。対応コントロールに対する押下を検知したと判定しなかった場合には、ステップＳ１２１３に処理を進める。
【００８６】
ステップＳ１２１２では、情報処理装置１００のＣＰＵ１０１は、対応コントロールの機能を実行する。すなわち、対応コントロールが示すボタンコントロール７０２の機能を実行する。対応コントロールがカレンダーボタンコントロール７０２−１であれば、前述したステップＳ８０４乃至ステップＳ８０６を実行し、参照ボタンコントロール７０２−２または参照ボタンコントロール７０２−３であれば、前述したステップＳ８０８乃至ステップＳ８１０を実行する。
【００８７】
ステップＳ１２１３では、情報処理装置１００のＣＰＵ１０１は、ステップＳ１２０２でマウスカーソルを移動させてから所定の時間が経過したか否かを判定する。この所定の時間はユーザが自由に設定できてもよいし、固定の時間であってもよい。マウスカーソルを移動させてから所定の時間が経過したと判定した場合には、ステップＳ１２１４に処理を進める。マウスカーソルを移動させてから所定の時間が経過したと判定しなかった場合、つまり所定の時間が経過していない場合にはステップＳ１２１１に処理を戻す。別の実施形態として、Ｅｓｃキー等の所定のキー操作がなされたか否かを判定し、所定のキー操作がなされた場合にステップＳ１２１４に処理を進め、そうでない場合にステップＳ１２１１に処理を戻すようにしてもよい。
【００８８】
ステップＳ１２１４では、情報処理装置１００のＣＰＵ１０１は、ステップＳ１２１０で実行したマウスカーソルの移動制限を解除する。いつまでも移動範囲が制限されていると、他のコントロールに対する操作を行うことができないので、ステップＳ１２１４でこれを解除する。
【００８９】
以上説明したように、本実施形態によれば、入力補助を行うためのコントロールを容易に選択可能な効果を奏する。
【００９０】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【００９１】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【００９２】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００９３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００９４】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００９５】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００９６】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００９７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００９８】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００９９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１００】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１０１】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  システムバス
１０５  入力コントローラ
１０６  ビデオコントローラ
１０７  メモリコントローラ
１０８  通信Ｉ／Ｆコントローラ
１０９  入力デバイス
１１０  ディスプレイ
１１１  外部メモリ
【図１】
2016062456.tif 000003
【図２】
2016062456.tif 000004
【図３】
2016062456.tif 000005
【図４】
2016062456.tif 000006
【図５】
2016062456.tif 000007
【図６】
2016062456.tif 000008
【図７】
2016062456.tif 000009
【図８】
2016062456.tif 000010
【図９】
2016062456.tif 000011
【図１０】
2016062456.tif 000012
【図１１】
2016062456.tif 000013
【図１２】
2016062456.tif 000014
【図１３】
2016062456.tif 000015