(57)【要約】【課題】汎用的な仕組みにより、ユーザの意図しない操作が実行されてしまうことを抑制できるプログラムを提供することを課題とする。【解決手段】コンピュータを、ユーザ操作受付部品を含む複数の表示アイテムの表示装置への表示を制御する表示制御手段、新たな表示アイテムの表示依頼を受け付けると、新たな表示アイテムのユーザ操作受付部品と既に表示されている別の表示アイテムのユーザ操作受付部品とが重ならないように、新たな表示アイテムを表示する位置を調整する表示位置調整手段、として機能させるためのプログラムにより上記課題を解決する。【選択図】  図２
2018151869.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
ユーザ操作受付部品を含む複数の表示アイテムの表示装置への表示を制御する表示制御手段、
新たな表示アイテムの表示依頼を受け付けると、前記新たな表示アイテムのユーザ操作受付部品と既に表示されている別の表示アイテムのユーザ操作受付部品とが重ならないように、前記新たな表示アイテムを表示する位置を調整する表示位置調整手段、
として機能させるためのプログラム。
【請求項２】
前記表示位置調整手段は、前記新たな表示アイテムの表示依頼を受け付けると、前記新たな表示アイテム上に表示される前記ユーザ操作受付部品が、前記新たな表示アイテムの直下に既に表示されている前記別の表示アイテム上の前記ユーザ操作受付部品と重なる場合に、前記新たな表示アイテム上の前記ユーザ操作受付部品と前記別の表示アイテム上の前記ユーザ操作受付部品とが重ならないように、前記新たな表示アイテムを表示する位置を移動すること
を特徴とする請求項１記載のプログラム。
【請求項３】
前記表示位置調整手段は、前記新たな表示アイテム上の前記ユーザ操作受付部品と、前記別の表示アイテム上の前記ユーザ操作受付部品と、入力装置による入力位置を示す入力装置ポインタの位置とが重なる場合に、前記新たな表示アイテム上の前記ユーザ操作受付部品と前記別の表示アイテム上の前記ユーザ操作受付部品とが重ならないように、前記新たな表示アイテムを表示する位置を移動すること
を特徴とする請求項２記載のプログラム。
【請求項４】
前記表示位置調整手段による前記新たな表示アイテムを表示する位置の調整は、前記入力装置による入力処理依頼を受け付けた場合であって、前記入力装置ポインタの位置の直下に複数の前記表示アイテムが存在する場合に行われること
を特徴とする請求項３記載のプログラム。
【請求項５】
前記表示位置調整手段は、複数の前記表示アイテム上に表示される前記ユーザ操作受付部品が重なっている場合であって、上に表示されている前記表示アイテムの非表示依頼を受け付けると、下に表示されている前記表示アイテム上の前記ユーザ操作受付部品と前記入力装置ポインタの位置が重ならないように、前記入力装置ポインタを表示する位置を移動すること
を特徴とする請求項３記載のプログラム。
【請求項６】
前記コンピュータを、更に、
前記新たな表示アイテム上の前記ユーザ操作受付部品と前記別の表示アイテム上の前記ユーザ操作受付部品とが重ならないように、前記新たな表示アイテムを表示する位置を移動できない場合であって、前記表示アイテムの表示及び非表示から所定時間の間、前記入力装置による入力処理依頼を無効化する入力制御手段、
として機能させるための請求項５記載のプログラム。
【請求項７】
ユーザ操作受付部品を含む複数の表示アイテムの表示装置への表示を制御する表示制御手段と、
新たな表示アイテムの表示依頼を受け付けると、前記新たな表示アイテムのユーザ操作受付部品と既に表示されている別の表示アイテムのユーザ操作受付部品とが重ならないように、前記新たな表示アイテムを表示する位置を調整する表示位置調整手段と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム及び情報処理装置に関する。
【背景技術】
【０００２】
例えばユーザが意図しないタイミングでメニュー画面などの表示アイテムが表示されたり消去されたりすると、ユーザが何らかの操作をしたときに、ユーザが意図していない別のアイコンやボタンなどの表示アイテムの操作が実行されてしまう場合がある。
【０００３】
従来、ユーザ操作を伴わず、画面を表示・消去するタイミングで、タッチ操作を一時的に無効とすることにより、ユーザの意図しない操作が実行されてしまうことを抑制することができる技術が知られていた（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、画面を表示・消去するタイミングで、タッチ操作を一時的に無効とすることにより、ユーザの意図しない操作が実行されてしまうことを抑制する仕組みを、表示アイテムを表示するプログラム自身が実装しなければならなかった。
【０００５】
本発明の実施の形態は、汎用的な仕組みにより、ユーザの意図しない操作が実行されてしまうことを抑制できるプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記した課題を達成するために本願請求項１は、コンピュータを、ユーザ操作受付部品を含む複数の表示アイテムの表示装置への表示を制御する表示制御手段、新たな表示アイテムの表示依頼を受け付けると、前記新たな表示アイテムのユーザ操作受付部品と既に表示されている別の表示アイテムのユーザ操作受付部品とが重ならないように、前記新たな表示アイテムを表示する位置を調整する表示位置調整手段、として機能させるためのプログラムであることを特徴とする。
【発明の効果】
【０００７】
本発明の実施の形態によれば、汎用的な仕組みにより、ユーザの意図しない操作が実行されてしまうことを抑制できる。
【図面の簡単な説明】
【０００８】
【図１】コンピュータの一例のハードウェア構成図である。
【図２】本実施形態に係るコンピュータの一例の処理ブロック図である。
【図３】表示アイテムの表示位置の調整について説明する一例の図である。
【図４】表示アイテムの表示位置の調整について説明する他の例の図（１／２）である。
【図５】表示アイテムの表示位置の調整について説明する他の例の図（２／２）である。
【図６】マウスポインタの移動について説明する一例の図（１／２）である。
【図７】マウスポインタの移動について説明する一例の図（２／２）である。
【図８】表示アイテムの表示時の処理の一例のフローチャートである。
【図９】表示アイテムの表示時の処理の他の例のフローチャートである。
【図１０】マウスのクリック時の処理の一例のフローチャートである。
【図１１】表示アイテムの非表示時の処理の一例のフローチャートである。
【図１２】本実施形態に係るコンピュータの他の例の処理ブロック図である。
【図１３】表示アイテムの表示時の処理の他の例のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照しながら説明する。
［第１の実施形態］
＜ハードウェア構成＞
本実施形態のプログラムは、例えば図１に示すようなハードウェア構成のコンピュータにより実行される。図１はコンピュータの一例のハードウェア構成図である。
【００１０】
図１に示したコンピュータ５００は、入力装置５０１、表示装置５０２、外部Ｉ／Ｆ５０３、ＲＡＭ５０４、ＲＯＭ５０５、ＣＰＵ５０６、通信Ｉ／Ｆ５０７及びＨＤＤ５０８などを備え、それぞれがバスＢで相互に接続されている。なお、入力装置５０１及び表示装置５０２は必要なときに接続して利用する形態であってもよい。
【００１１】
入力装置５０１はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置５０２はディスプレイ等を含み、コンピュータ５００による処理結果を表示する。
【００１２】
通信Ｉ／Ｆ５０７はコンピュータ５００を各種ネットワークに接続するインタフェースである。これにより、コンピュータ５００は通信Ｉ／Ｆ５０７を介してデータ通信を行うことができる。
【００１３】
また、ＨＤＤ５０８は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピュータ５００全体を制御する基本ソフトウェアであるＯＳ、及びＯＳ上において各種機能を提供するアプリケーションなどがある。なお、コンピュータ５００はＨＤＤ５０８に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであってもよい。
【００１４】
外部Ｉ／Ｆ５０３は、外部装置とのインタフェースである。外部装置には、記録媒体５０３ａなどがある。これにより、コンピュータ５００は外部Ｉ／Ｆ５０３を介して記録媒体５０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体５０３ａにはフレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ、ＳＩＭカードなどがある。
【００１５】
ＲＯＭ５０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）の一例である。ＲＯＭ５０５にはコンピュータ５００の起動時に実行されるＢＩＯＳ、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ５０４はプログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）の一例である。
【００１６】
ＣＰＵ５０６は、ＲＯＭ５０５やＨＤＤ５０８などの記憶装置からプログラムやデータをＲＡＭ５０４上に読み出し、処理を実行することで、コンピュータ５００全体の制御や機能を実現する演算装置である。ＣＰＵ５０６は１つのプロセッサ又は複数のプロセッサで実現されていてもよい。
【００１７】
本実施形態では、図１に示すコンピュータ５００において本実施形態のプログラムを実行することにより、図２に示すような各種処理を実現できる。
【００１８】
＜ソフトウェア構成＞
図２は本実施形態に係るコンピュータの一例の処理ブロック図である。なお、図２の処理ブロック図は、本実施形態の説明に不要な構成について省略している。図２に示したコンピュータ５００はＯＳ（オペレーティングシステム）やアプリケーションを含む各種プログラムを実行することにより、図２の処理ブロックを実現している。
【００１９】
図２のコンピュータ５００は、表示アイテム表示依頼部１０、表示位置調整部１２、表示制御部１４、キーボード制御部１６、マウス制御部１８及びその他の入力装置制御部２０を実現している。表示アイテム表示依頼部１０は表示アイテム表示依頼を行うＯＳやアプリケーションである。
【００２０】
表示位置調整部１２は表示アイテム表示依頼部１０から指定された表示アイテムの表示位置を、他の表示アイテムとボタンの表示位置が重ならないように調整する機能を有している。表示アイテムは、メール受信やエラー検知等により表示されるダイアログや、表示された後、所定時間の経過後に消去されるダイアログなどである。なお、表示アイテムはダイアログに限定されない。表示アイテムは、表示装置５０２の画面全体や、その中で表示されるウインドウなど、ボタンなどのマウスのクリックあるいはキーボードや他の入力装置５０１による「押下」されたことを検知できるアイテムを含む表示装置５０２上の全ての表示の単位である。表示制御部１４は表示装置５０２に表示するイメージを生成する機能を有している。
【００２１】
キーボード制御部１６は、ＴＡＢキーと矢印キーによる選択ボタンを切り替える命令を制御する機能を有している。マウス制御部１８は、ポインタの位置とクリックされた情報とを制御する機能を有している。その他の入力装置制御部２０は、その他（例えばノートＰＣのキーボードの下にあるポインタを制御する機能、トラックボールなど）の入力装置からの選択ボタンの切り替えとポインタの位置とクリックされた情報とを制御する機能を有している。
【００２２】
表示位置調整部１２は表示アイテム表示依頼部１０から表示アイテム表示依頼や表示アイテム非表示依頼を受信すると、後述するように表示アイテムの表示位置を調整することにより、ユーザの意図しない表示アイテムへの操作を抑止する。また、表示位置調整部１２はマウス制御部１８からクリック処理依頼を受信すると、後述するようにマウスポインタの位置を表示アイテムのボタンの位置から移動させることで、ユーザの意図しない表示アイテムへの操作を抑止する。
【００２３】
＜処理＞
《表示アイテムの表示位置の調整》
図３は表示アイテムの表示位置の調整について説明する一例の図である。図３（Ａ）は文書を作成するアプリケーション画面１０００と、文書を保存するためのダイアログ１０１０とが表示されている。図３（Ｂ）は図３（Ａ）の状態から、メールが届いたことを知らせるメール通知ダイアログ１０２０が表示される例である。図３（Ｂ）はダイアログ１０１０の保存しないボタンの上に、メール通知ダイアログ１０２０のＯＫボタンが表示される例を示している。
【００２４】
表示位置調整部１２は、メール通知ダイアログ１０２０が表示されるとき、ＯＫボタンの位置が、その下に隠れているダイアログ１０１０のボタンと重ならないように、メール通知ダイアログ１０２０の位置を自動で調整する。図３（Ｃ）はメール通知ダイアログ１０２０の位置が下方向に調整された例を示している。この際、表示位置調整部１２は移動可能な方向の中で、最も移動量が小さい方向に対して、メール通知ダイアログ１０２０の表示位置を移動して調整する。
【００２５】
図４及び図５は表示アイテムの表示位置の調整について説明する他の例の図である。図４（Ａ）は文書を作成するアプリケーション画面１０００と、文書を保存するためのダイアログ１０１０とが表示されている。図４（Ｂ）は図４（Ａ）の状態から、メールが届いたことを知らせるメール通知ダイアログ１０２０が表示される例である。図４（Ｂ）はダイアログ１０１０の保存しないボタンの上に、メール通知ダイアログ１０２０のＯＫボタンが表示される例を示している。
【００２６】
図４（Ｃ）はメール通知ダイアログ１０２０のＯＫボタンをクリックしようとしてマウスポインタ１０２１をＯＫボタンの上に置くと、そのマウスポインタ１０２１の下に、ダイアログ１０１０の保存しないボタンがあることを示している。
【００２７】
また、図５（Ｄ）は図４（Ｃ）の状態から、メール通知ダイアログ１０２０のＯＫボタンをクリックする前に、メール通知ダイアログ１０２０が非表示になった例である。マウスポインタ１０２１がダイアログ１０１０の保存しないボタンの上にあるため、ユーザの意図しない保存しないボタンのクリックにより、アプリケーション画面１０００で作成していた文書が保存されずに消えてしまう場合があった。
【００２８】
表示位置調整部１２は、メール通知ダイアログ１０２０が表示されるとき、ＯＫボタンの位置が、その下に隠れているダイアログ１０１０のボタンと重ならないように、メール通知ダイアログ１０２０の位置を自動で調整する。図５（Ｅ）はメール通知ダイアログ１０２０の位置が下方向に調整された例を示している。この際、表示位置調整部１２は最も移動量が小さい方向に対して、メール通知ダイアログ１０２０の表示位置を移動して調整する。
【００２９】
図５（Ｆ）はメール通知ダイアログ１０２０のＯＫボタンをクリックしようとしてマウスポインタ１０２１をＯＫボタンの上に置いたとしても、そのマウスポインタ１０２１の下に、ダイアログ１０１０の保存しないボタンがないことを示している。メール通知ダイアログ１０２０が表示されるとき、ＯＫボタンの位置は、その下に隠れているダイアログ１０１０のボタンと重なっていない。したがって、メール通知ダイアログ１０２０のＯＫボタンをクリックする直前にメール通知ダイアログ１０２０が非表示になっても、ユーザの意図しない保存しないボタンがクリックされることは無い。
【００３０】
《マウスポインタの移動》
図６及び図７はマウスポインタの移動について説明する一例の図である。図６（Ａ）は文書を作成するアプリケーション画面１０００と、文書を保存するためのダイアログ１０１０とが表示されている。図６（Ｂ）は図６（Ａ）の状態から、メールが届いたことを知らせるメール通知ダイアログ１０２０が表示される例である。図６（Ｂ）はダイアログ１０１０の保存しないボタンの上に、メール通知ダイアログ１０２０のＯＫボタンが表示される例を示している。
【００３１】
図６（Ｃ）はメール通知ダイアログ１０２０のＯＫボタンをクリックしようとしてマウスポインタ１０２１をＯＫボタンの上に置くと、そのマウスポインタ１０２１の下に、ダイアログ１０１０の保存しないボタンがあることを示している。
【００３２】
また、図７（Ｄ）は図６（Ｃ）の状態から、メール通知ダイアログ１０２０のＯＫボタンをクリックする前に、メール通知ダイアログ１０２０が非表示になる場合の例を表している。表示位置調整部１２はマウスポインタ１０２１の位置を、ダイアログ１０１０のボタンの上でないマウスポインタ１０２１ａの位置に移動させる。
【００３３】
マウスポインタ１０２１ａがダイアログ１０１０のボタンの上にないため、ユーザの意図しない保存しないボタンのクリックにより、アプリケーション画面１０００で作成していた文書が保存されずに消えてしまうことを防止できる。図７（Ｄ）はマウスポインタ１０２１の位置からマウスポインタ１０２１ａの位置に、横方向に調整した例を示している。表示位置調整部１２は最も移動量が小さい方向に対して、マウスポインタ１０２１の位置からダイアログ１０１０のボタンの上でないマウスポインタ１０２１ａの位置に移動させる。
【００３４】
図７（Ｅ）は図７（Ｄ）の状態から、メール通知ダイアログ１０２０が非表示になったとしても、マウスポインタ１０２１がダイアログ１０１０のボタンの上でないマウスポインタ１０２１ａの位置に移動されていることを示している。したがって、メール通知ダイアログ１０２０のＯＫボタンをクリックする直前にメール通知ダイアログ１０２０が非表示になっても、ユーザの意図しないボタンがクリックされることは無い。
【００３５】
《表示アイテムの表示時》
図８は表示アイテムの表示時の処理の一例のフローチャートである。ステップＳ１１において表示位置調整部１２は表示アイテム表示依頼部１０から表示アイテム表示依頼を受信する。例えば図３（Ａ）の状態において、表示位置調整部１２は表示アイテム表示依頼部１０からメール通知ダイアログ１０２０の表示アイテム表示依頼を受信する。
【００３６】
ステップＳ１２に進み、表示位置調整部１２は表示アイテムであるメール通知ダイアログ１０２０の直下に別の表示アイテムがあるか否かを判定する。例えば図３（Ｂ）の状態において、表示位置調整部１２は表示アイテムであるメール通知ダイアログ１０２０の直下にダイアログ１０１０があると判定する。
【００３７】
表示アイテムであるメール通知ダイアログ１０２０の直下に別の表示アイテムがあると判定すると、表示位置調整部１２はステップＳ１３に進む。ステップＳ１３において表示位置調整部１２は表示アイテム表示依頼のあった表示アイテム上のボタンの位置とサイズとを取得する。例えば図３（Ｂ）の状態において、表示位置調整部１２はメール通知ダイアログ１０２０のＯＫボタン及び開くボタンの位置とサイズを取得する。
【００３８】
ステップＳ１４に進み、表示位置調整部１２は表示アイテム表示依頼のあった表示アイテムの直下の表示アイテム上のボタンの位置とサイズとを取得する。例えば図３（Ｂ）の状態において、表示位置調整部１２はダイアログ１０１０の保存するボタン、保存しないボタン及びキャンセルボタンの位置とサイズを取得する。
【００３９】
ステップＳ１５において、表示位置調整部１２はステップＳ１３で取得した表示アイテム上のボタンと、ステップＳ１４で取得した表示アイテム上のボタンとが一部でも重なるか判定する。例えば図３（Ｂ）の状態において表示位置調整部１２は重なっていると判定する。
【００４０】
重なっていると判定すると、表示位置調整部１２はステップＳ１６に進み、表示アイテム表示依頼のあった表示アイテムの最適移動方向と距離を算出する。例えば図３（Ｂ）の状態において、表示位置調整部１２はメール通知ダイアログ１０２０のボタンとダイアログ１０１０のボタンとが重ならないようにするメール通知ダイアログ１０２０の移動方向と距離とを算出する。
【００４１】
ステップＳ１７に進み、表示位置調整部１２はステップＳ１６で算出した最適移動方向と距離により表される位置に移動可能か判定する。移動可能でないと判定すると、表示位置調整部１２はステップＳ１８に進み、表示アイテム表示依頼により依頼された位置に表示アイテムであるメール通知ダイアログ１０２０を表示する。なお、ステップＳ１７で移動可能でないと判定される場合は、３６０度のすべてについて表示アイテムであるメール通知ダイアログ１０２０を移動できない場合となる。
【００４２】
移動可能と判定すると、表示位置調整部１２はステップＳ１９に進み、ステップＳ１６で算出した最適移動方向と距離により表される位置に、表示アイテムであるメール通知ダイアログ１０２０を表示する。なお、ステップＳ１５において、ステップＳ１３で取得した表示アイテム上のボタンと、ステップＳ１４で取得した表示アイテム上のボタンとが一部でも重なっていないと判定すると、表示位置調整部１２はステップＳ１８に進む。
【００４３】
ステップＳ１２で表示アイテムであるメール通知ダイアログ１０２０の直下に別の表示アイテムがないと判定すると、表示位置調整部１２はステップＳ２０に進み、表示アイテム表示依頼により依頼された位置に表示アイテムであるメール通知ダイアログ１０２０を表示する。
【００４４】
なお、ここでは表示アイテムであるメール通知ダイアログ１０２０の直下に別の表示アイテムが１階層ある例を説明したが、複数階層あってもよい。以下のフローチャートにおいても同様である。
【００４５】
図９は表示アイテムの表示時の処理の他の例のフローチャートである。図９の表示アイテムの表示時の処理は、図８のフローチャートにステップＳ２７及びステップＳ２８の処理を追加したものである。したがって、図８のフローチャートと同一部分の説明は、省略する。
【００４６】
ステップＳ２６において表示アイテム表示依頼のあった表示アイテムの最適移動方向と距離を算出した後、表示位置調整部１２はステップＳ２７に進み、マウスポインタ１０２１の位置を取得する。ステップＳ２８に進み、表示位置調整部１２はマウスポインタ１０２１が、ステップＳ１３で取得した表示アイテム上のボタン及びステップＳ１４で取得した表示アイテム上のボタンと重なるか否かを判定する。例えば図４（Ｃ）の状態において表示位置調整部１２は重なっていると判定する。
【００４７】
重なっていると判定すると、表示位置調整部１２はステップＳ２９〜Ｓ３１において図８のステップＳ１７〜Ｓ１９と同様な処理を行う。重なっていないと判定すると、表示位置調整部１２はステップＳ３０に進み、図８のステップＳ１８と同様に、表示アイテム表示依頼により依頼された位置に表示アイテムであるメール通知ダイアログ１０２０を表示する。
【００４８】
《マウスのクリック時》
図１０はマウスのクリック時の処理の一例のフローチャートである。図１０のステップＳ４１において表示位置調整部１２はマウス制御部１８からマウスのクリック処理依頼を受信する。ステップＳ４２に進み、表示位置調整部１２はマウスポインタ１０２１の位置を取得する。
【００４９】
ステップＳ４３に進み、表示位置調整部１２はマウスポインタ１０２１の直下に表示アイテムがあるか否かを判定する。マウスポインタ１０２１の直下に表示アイテムがあれば表示位置調整部１２はステップＳ４４に進み、マウスポインタ１０２１の位置にある表示アイテム上のボタンの位置とサイズを取得する。
【００５０】
ステップＳ４５に進み、表示位置調整部１２はステップＳ４３であると判定した表示アイテムの直下に別の表示アイテムがあるか否かを判定する。別の表示アイテムがあると判定すると、表示位置調整部１２はステップＳ４６に進む。ステップＳ４６において表示位置調整部１２は別の表示アイテム上のボタンの位置とサイズとを取得する。
【００５１】
ステップＳ４７に進み、表示位置調整部１２はステップＳ４４で取得した表示アイテム上のボタンと、ステップＳ４６で取得した別の表示アイテム上のボタンと、が一部でも重なるか判定する。重なっていると判定すると、表示位置調整部１２はステップＳ４８に進み、ステップＳ４４で取得した表示アイテムの最適移動方向と距離を算出する。
【００５２】
ステップＳ４９に進み、表示位置調整部１２はステップＳ４８で算出した最適移動方向と距離により表される位置に移動可能か判定する。移動可能でないと判定すると、表示位置調整部１２はステップＳ５３に進み、マウスのクリック処理依頼により依頼されたマウスのクリックを無効とする。
【００５３】
移動可能と判定すると、表示位置調整部１２はステップＳ５０に進み、ステップＳ４８で算出した最適移動方向と距離により表される位置に、ステップＳ４３であると判定した表示アイテムを表示する。
【００５４】
ステップＳ５１に進み、ステップＳ４２で取得したマウスポインタ１０２１の位置の表示アイテムの最適移動方向と距離を算出する。ステップＳ５２に進み、表示位置調整部１２はステップＳ５１で算出した最適移動方向と距離により表される位置にマウスポインタ１０２１を移動可能か判定する。
【００５５】
移動可能でないと判定すると、表示位置調整部１２はステップＳ５３に進み、マウスのクリック処理依頼により依頼されたマウスのクリックを無効とする。移動可能と判定すると表示位置調整部１２はステップＳ５４に進み、ステップＳ５１で算出した最適移動方向と距離により表される位置に、マウスポインタ１０２１を移動させる。
【００５６】
なお、ステップＳ４７において、ステップＳ４４で取得した表示アイテム上のボタンとステップＳ４６で取得した別の表示アイテム上のボタンとが一部でも重なっていないと判定すると、表示位置調整部１２はステップＳ５３に進む。ステップＳ４３でマウスポインタ１０２１の直下に表示アイテムがないと判定すると、表示位置調整部１２は、ステップＳ５５に進み、マウスのクリック処理依頼により依頼されたマウスのクリック処理を実行する。また、ステップＳ４５で表示アイテムの直下に別の表示アイテムがないと判定すると、表示位置調整部１２は、ステップＳ５６に進み、マウスのクリック処理依頼により依頼されたマウスのクリック処理を実行する。
【００５７】
《表示アイテムの非表示時》
図１１は表示アイテムの非表示時の処理の一例のフローチャートである。ステップＳ６１において表示位置調整部１２は表示アイテム表示依頼部１０から表示アイテムの非表示依頼を受信する。例えば図６（Ｃ）の状態において、表示位置調整部１２は表示アイテム表示依頼部１０からメール通知ダイアログ１０２０の非表示依頼を受信する。
【００５８】
ステップＳ６２に進み、表示位置調整部１２は非表示を依頼された表示アイテム上のボタンの位置とサイズを取得する。ステップＳ６３に進み、表示位置調整部１２は、非表示を依頼された表示アイテムの直下に別の表示アイテムがあるか否かを判定する。例えば図６（Ｃ）の状態において、表示位置調整部１２はメール通知ダイアログ１０２０の直下にダイアログ１０１０があると判定する。
【００５９】
非表示を依頼された表示アイテムの直下に別の表示アイテムがあると判定すると、表示位置調整部１２はステップＳ６４に進む。ステップＳ６４において表示位置調整部１２は非表示を依頼された表示アイテムの直下の別の表示アイテム上のボタンの位置とサイズとを取得する。例えば図６（Ｃ）の状態において、表示位置調整部１２は別の表示アイテムであるダイアログ１０１０の保存するボタン、保存しないボタン及びキャンセルボタンの位置とサイズを取得する。
【００６０】
ステップＳ６５において、表示位置調整部１２はステップＳ６２で取得した表示アイテム上のボタンと、ステップＳ６４で取得した表示アイテム上のボタンとが一部でも重なるか判定する。例えば図６（Ｃ）の状態において表示位置調整部１２は重なっていると判定する。
【００６１】
重なっていると判定すると、表示位置調整部１２はステップＳ６６に進み、マウスポインタ１０２１の位置を取得する。ステップＳ６７に進み、表示位置調整部１２はマウスポインタ１０２１が、ステップＳ６４で取得した別の表示アイテム上のボタンと重なるか否かを判定する。例えば図６（Ｃ）の状態において表示位置調整部１２は重なっていると判定する。
【００６２】
ステップＳ６８に進み、ステップＳ６６で取得したマウスポインタ１０２１の位置の表示アイテムの最適移動方向と距離を算出する。ステップＳ６９に進み、表示位置調整部１２はステップＳ６８で算出した最適移動方向と距離により表される位置にマウスポインタ１０２１を移動可能か判定する。移動可能と判定すると表示位置調整部１２はステップＳ７０に進み、ステップＳ６８で算出した最適移動方向と距離により表される位置に、マウスポインタ１０２１を移動させる。
【００６３】
なお、ステップＳ６３において、非表示を依頼された表示アイテムの直下に別の表示アイテムがないと判定すると、表示位置調整部１２はステップＳ７２に進み、表示アイテムの非表示を実行する。ステップＳ６５において、重なっていないと判定すると、表示位置調整部１２はステップＳ７１に進み、表示アイテムの非表示を実行する。
【００６４】
ステップＳ６７において、マウスポインタ１０２１が、ステップＳ６４で取得した別の表示アイテム上のボタンと重ならないと判定すると、表示位置調整部１２はステップＳ７１に進み、表示アイテムの非表示を実行する。また、ステップＳ６９において、ステップＳ６８で算出した最適移動方向と距離により表される位置にマウスポインタ１０２１を移動可能でないと判定すると、表示位置調整部１２はステップＳ７１に進み、表示アイテムの非表示を実行する。
【００６５】
＜まとめ＞
本実施形態によれば、新たに表示アイテムを表示しようとする際、その表示アイテム上のボタンの位置が、既に表示されている表示アイテム上のボタンの位置と重ならないように表示アイテムの表示位置を調整できる。また、既に表示されている表示アイテムを消去しようとする際、その表示アイテムの直下にある他の表示アイテム上のボタンの位置が消去しようとしている表示アイテム上のボタンの位置と重ならないように調整できる。
【００６６】
更に、本実施形態によれば、新たに表示アイテムを表示しようとする際、その表示アイテム上のボタンの位置が、マウスポインタ１０２１の位置と重ならないようにマウスポインタ１０２１の位置を調整できる。また、既に表示されている表示アイテムを消去しようとする際、その表示アイテムの直下にある他の表示アイテム上のボタンの位置とマウスポインタ１０２１の位置とが重ならないように調整できる。
【００６７】
以上のような仕組みにより、本実施形態によれば、汎用的な仕組みにより、表示アイテム上のボタンに対して、ユーザの意図しない操作が実行されてしまうことを抑制できる。
［第２の実施形態］
第１の実施形態では表示アイテムを表示する際、その表示アイテム上のボタンと、その表示アイテムの直下にある他の表示アイテム上のボタンとが重ならないように調整することにより、ユーザの意図しないボタン操作を抑止する。また、第１の実施形態では表示アイテム上のボタンが重なっている状態で、マウスポインタ１０２１でボタンがクリックされた際に、マウスポインタ１０２１の位置をボタン上から移動させるように調整することにより、ユーザの意図しないボタン操作を抑止する。
【００６８】
第２の実施形態は、第１の実施形態の仕組みに、新しい表示アイテムを表示した後、及び、表示アイテムを非表示（消去）にした後、表示アイテム上のボタンに対する操作を無効とする仕組みを追加したものである。
【００６９】
図１２は本実施形態に係るコンピュータの他の例の処理ブロック図である。図１２の処理ブロック図は図２の処理ブロック図に入力制御部２２が追加された構成である。入力制御部２２は表示位置調整部１２からの入力の無効化の指示を受けて、キーボード制御部１６、マウス制御部１８及びその他の入力装置制御部２０からの入力を抑止する機能を有している。
【００７０】
図１３は表示アイテムの表示時の処理の他の例のフローチャートである。図１３に示すフローチャートは、図８のフローチャートの一部を修正したものとなる。なお、図８のフローチャートと同一の部分の説明は省略する。ステップＳ８７において、表示位置調整部１２はステップＳ８６で算出した最適移動方向と距離により表される位置に移動可能でないと判定するとステップＳ９１に進み、入力制御部２２に入力の無効化の指示を行う。
【００７１】
図１３のフローチャートの処理によれば、表示アイテム上のボタンが重ならないようにできない場合であっても、例えばマウスによるクリック操作を、ダイアログの表示後または非表示後に無効化できる。
【００７２】
また、表示位置調整部１２は例えば最前面のダイアログの表示直後のボタン操作を、隠れたボタンに対する操作として判断してもよい。さらに、表示位置調整部１２は例えば最前面のダイアログの非表示直後のボタン操作を、消去されたダイアログ上のボタンに対する操作として判断し、無効化してもよい。
【００７３】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、本実施形態で説明した図１のハードウェア構成は一例であって、用途や目的に応じて様々なシステム構成例があることは言うまでもない。例えば本発明は操作パネルを有する複合機やプロダクションプリンタなどの画像形成装置への適用も可能である。また、本実施形態で説明したダイアログは、ユーザに何かを入力させたりメッセージを確認させたりするために、一時的に表示される画面の一例である。
【００７４】
表示制御部１４は特許請求の範囲に記載した表示制御手段の一例である。表示位置調整部１２は表示位置調整手段の一例である。表示アイテム上のボタンはユーザ操作受付部品の一例である。表示装置５０２は表示装置の一例である。マウスポインタ１０２１は入力装置ポインタの一例である。入力制御部２２は入力制御手段の一例である。
【符号の説明】
【００７５】
１０    表示アイテム表示依頼部
１２    表示位置調整部
１４    表示制御部
１６    キーボード制御部
１８    マウス制御部
２０    その他の入力装置制御部
２２    入力制御部
５００    コンピュータ
５０１    入力装置
５０２    表示装置
５０３    外部Ｉ／Ｆ
５０３ａ    記録媒体
５０４    ＲＡＭ
５０５    ＲＯＭ
５０６    ＣＰＵ
５０７    通信Ｉ／Ｆ
５０８    ＨＤＤ
１０００    アプリケーション画面
１０１０    文書を保存するためのダイアログ
１０２０    メール通知ダイアログ
１０２１、１０２１ａ    マウスポインタ
Ｂ    バス
【先行技術文献】
【特許文献】
【００７６】
【特許文献１】特開２０１５−１３２８８８号公報
【図１】
2018151869.tif 000003
【図２】
2018151869.tif 000004
【図３】
2018151869.tif 000005
【図４】
2018151869.tif 000006
【図５】
2018151869.tif 000007
【図６】
2018151869.tif 000008
【図７】
2018151869.tif 000009
【図８】
2018151869.tif 000010
【図９】
2018151869.tif 000011
【図１０】
2018151869.tif 000012
【図１１】
2018151869.tif 000013
【図１２】
2018151869.tif 000014
【図１３】
2018151869.tif 000015