(57)【要約】【課題】従来技術の親ウィンドウを子ウィンドウが隠してしまうという問題を、親ウィンドウの表示位置と、子ウィンドウの前回表示位置を考慮し、子ウィンドウの表示位置を親ウィンドウを隠さない位置にすることで解決する。【解決手段】２回目以降に子ウィンドウを開く場合、親ウィンドウに関する情報を取得する。次に、表示状態保存テーブルから、子ウィンドウが前回閉じられた時の情報を取得する。次に、子ウィンドウの前回の表示位置が現在の親ウィンドウの表示位置と重なるかを確認する。親ウィンドウと重なってしまう場合には、表示情報保存テーブルから取り出した親ウィンドウとの重なりの有無を示す情報を確認する。親ウィンドウとの重なりがある場合には、親ウィンドウと同じディスプレイに子ウィンドウを開く。親ウィンドウとの重なりがない場合には、親ウィンドウのディスプレイとは異なるディスプレイに対してウィンドウを開く。【選択図】図２
2011141830.tif 000002
【特許請求の範囲】
【請求項１】
マルチ・ウィンドウ環境で、親ウィンドウと子ウィンドウを複数のディスプレイのうち任意のディスプレイに表示するウィンドウ表示状態決定手段と、
前記ウィンドウ表示状態決定手段からデータの読み書きが可能な記憶手段と
を具備し、
前記記憶手段は、
ウィンドウが最後に表示されたディスプレイ、前記ウィンドウが最後に表示されたディスプレイ上での座標位置、前記ウィンドウのサイズ、及び前記ウィンドウと親ウィンドウとの重なりの有無を示す情報を格納した表示状態保存テーブル
を具備し、
前記ウィンドウ表示状態決定手段は、
前記複数のディスプレイの中から、前記親ウィンドウと前記子ウィンドウの各々を表示するためのディスプレイを選択し、決定する表示ディスプレイ選択手段と、
前記表示状態保存テーブルの内容に従い、前記選択されたディスプレイ上において前記親ウィンドウと前記子ウィンドウの各々を表示する位置を決定する表示位置決定手段と
を具備する
画面表示制御装置。
【請求項２】
請求項１に記載の画面表示制御装置であって、
前記ウィンドウ表示状態決定は、
前記ウィンドウが表示されたディスプレイ上における前記ウィンドウの座標位置及びサイズを検出する位置検出手段と、
前記ウィンドウが最後に表示されたディスプレイ、前記ウィンドウが最後に表示されたディスプレイ上での座標位置、前記ウィンドウのサイズ、及び前記ウィンドウと親ウィンドウとの重なりの有無を示す情報を、前記表示状態保存テーブルに登録する表示状態テーブル管理手段と
を更に具備する
画面表示制御装置。
【請求項３】
請求項２に記載の画面表示制御装置であって、
前記表示ディスプレイ選択手段は、
前記子ウィンドウを表示する際に、前記親ウィンドウの座標位置及びサイズと、前記子ウィンドウのサイズとに基づいて、前記親ウィンドウが表示されたディスプレイ上に、前記親ウィンドウと前記子ウィンドウのサイズとが重複せずに前記子ウィンドウを表示するスペースがあるか確認する手段と、
スペースがあれば、前記親ウィンドウが表示されたディスプレイを、前記子ウィンドウを表示するディスプレイとして選択し、決定する手段と、
スペースがなければ、前記親ウィンドウが表示されたディスプレイとは別のディスプレイを、前記子ウィンドウを表示するディスプレイとして選択し、決定する手段と
を具備する
画面表示制御装置。
【請求項４】
請求項３に記載の画面表示制御装置であって、
前記表示ディスプレイ選択手段は、
前記親ウィンドウと前記子ウィンドウのサイズとが重複せずに前記子ウィンドウを表示するスペースがない時に、前記子ウィンドウが過去に表示されたことがある場合、前記表示状態保存テーブルを参照し、前記子ウィンドウが最後に表示されたディスプレイ、前記子ウィンドウが最後に表示されたディスプレイ上での座標位置、前記子ウィンドウのサイズ、及び前記子ウィンドウと親子ウィンドウとの重なりの有無を示す情報を取得する手段と、
過去に表示された際に前記子ウィンドウと親子ウィンドウとの重なりがあれば、前記子ウィンドウと親子ウィンドウとの重なりを許容していたと判断し、前記親ウィンドウが表示されたディスプレイを、前記子ウィンドウを表示するディスプレイとして選択し、決定する手段と
を更に具備する
画面表示制御装置。
【請求項５】
請求項４に記載の画面表示制御装置であって、
前記表示位置決定手段は、
過去に表示された際に前記子ウィンドウと親子ウィンドウとの重なりがあれば、前記子ウィンドウが最後に表示されたディスプレイ上での座標位置、及び前記子ウィンドウのサイズを、前記親ウィンドウが表示されたディスプレイ上での前記子ウィンドウの座標位置及びサイズとして決定する手段
を具備する
画面表示制御装置。
【請求項６】
マルチ・ウィンドウ環境で、親ウィンドウと子ウィンドウを複数のディスプレイのうち任意のディスプレイに表示することと、
ウィンドウが最後に表示されたディスプレイ、前記ウィンドウが最後に表示されたディスプレイ上での座標位置、前記ウィンドウのサイズ、及び前記ウィンドウと親ウィンドウとの重なりの有無を示す情報を格納した表示状態保存テーブルを保持することと、
前記複数のディスプレイの中から、前記親ウィンドウと前記子ウィンドウの各々を表示するためのディスプレイを選択し、決定することと、
前記表示状態保存テーブルの内容に従い、前記選択されたディスプレイ上において前記親ウィンドウと前記子ウィンドウの各々を表示する位置を決定することと
を含む
画面表示制御方法。
【請求項７】
請求項６に記載の画面表示制御方法であって、
前記ウィンドウが表示されたディスプレイ上における前記ウィンドウの座標位置及びサイズを検出することと、
検出結果に基づいて、前記ウィンドウが最後に表示されたディスプレイ、前記ウィンドウが最後に表示されたディスプレイ上での座標位置、前記ウィンドウのサイズ、及び前記ウィンドウと親ウィンドウとの重なりの有無を示す情報を、前記表示状態保存テーブルに登録することと
を更に含む
画面表示制御方法。
【請求項８】
請求項７に記載の画面表示制御方法であって、
前記子ウィンドウを表示する際に、前記親ウィンドウの座標位置及びサイズと、前記子ウィンドウのサイズとに基づいて、前記親ウィンドウが表示されたディスプレイ上に、前記親ウィンドウと前記子ウィンドウのサイズとが重複せずに前記子ウィンドウを表示するスペースがあるか確認することと、
スペースがあれば、前記親ウィンドウが表示されたディスプレイを、前記子ウィンドウを表示するディスプレイとして選択し、決定することと、
スペースがなければ、前記親ウィンドウが表示されたディスプレイとは別のディスプレイを、前記子ウィンドウを表示するディスプレイとして選択し、決定することと
を更に含む
画面表示制御方法。
【請求項９】
請求項８に記載の画面表示制御方法であって、
前記親ウィンドウと前記子ウィンドウのサイズとが重複せずに前記子ウィンドウを表示するスペースがない時に、前記子ウィンドウが過去に表示されたことがある場合、前記表示状態保存テーブルを参照し、前記子ウィンドウが最後に表示されたディスプレイ、前記子ウィンドウが最後に表示されたディスプレイ上での座標位置、前記子ウィンドウのサイズ、及び前記子ウィンドウと親子ウィンドウとの重なりの有無を示す情報を取得することと、
過去に表示された際に前記子ウィンドウと親子ウィンドウとの重なりがあれば、前記子ウィンドウと親子ウィンドウとの重なりを許容していたと判断し、前記親ウィンドウが表示されたディスプレイを、前記子ウィンドウを表示するディスプレイとして選択し、決定することと
を更に含む
画面表示制御方法。
【請求項１０】
請求項９に記載の画面表示制御方法であって、
過去に表示された際に前記子ウィンドウと親子ウィンドウとの重なりがあれば、前記子ウィンドウが最後に表示されたディスプレイ上での座標位置、及び前記子ウィンドウのサイズを、前記親ウィンドウが表示されたディスプレイ上での前記子ウィンドウの座標位置及びサイズとして決定すること
を更に含む
画面表示制御方法。
【請求項１１】
マルチ・ウィンドウ環境で、親ウィンドウと子ウィンドウを複数のディスプレイのうち任意のディスプレイに表示するステップと、
ウィンドウが最後に表示されたディスプレイ、前記ウィンドウが最後に表示されたディスプレイ上での座標位置、前記ウィンドウのサイズ、及び前記ウィンドウと親ウィンドウとの重なりの有無を示す情報を格納した表示状態保存テーブルを保持するステップと、
前記複数のディスプレイの中から、前記親ウィンドウと前記子ウィンドウの各々を表示するためのディスプレイを選択し、決定するステップと、
前記表示状態保存テーブルの内容に従い、前記選択されたディスプレイ上において前記親ウィンドウと前記子ウィンドウの各々を表示する位置を決定するステップと
をコンピュータに実行させるための
画面表示制御用プログラム。
【請求項１２】
請求項１１に記載の画面表示制御用プログラムであって、
前記ウィンドウが表示されたディスプレイ上における前記ウィンドウの座標位置及びサイズを検出するステップと、
検出結果に基づいて、前記ウィンドウが最後に表示されたディスプレイ、前記ウィンドウが最後に表示されたディスプレイ上での座標位置、前記ウィンドウのサイズ、及び前記ウィンドウと親ウィンドウとの重なりの有無を示す情報を、前記表示状態保存テーブルに登録するステップと
を更にコンピュータに実行させるための
画面表示制御用プログラム。
【請求項１３】
請求項１２に記載の画面表示制御用プログラムであって、
前記子ウィンドウを表示する際に、前記親ウィンドウの座標位置及びサイズと、前記子ウィンドウのサイズとに基づいて、前記親ウィンドウが表示されたディスプレイ上に、前記親ウィンドウと前記子ウィンドウのサイズとが重複せずに前記子ウィンドウを表示するスペースがあるか確認するステップと、
スペースがあれば、前記親ウィンドウが表示されたディスプレイを、前記子ウィンドウを表示するディスプレイとして選択し、決定するステップと、
スペースがなければ、前記親ウィンドウが表示されたディスプレイとは別のディスプレイを、前記子ウィンドウを表示するディスプレイとして選択し、決定するステップと
を更にコンピュータに実行させるための
画面表示制御用プログラム。
【請求項１４】
請求項１３に記載の画面表示制御用プログラムであって、
前記親ウィンドウと前記子ウィンドウのサイズとが重複せずに前記子ウィンドウを表示するスペースがない時に、前記子ウィンドウが過去に表示されたステップがある場合、前記表示状態保存テーブルを参照し、前記子ウィンドウが最後に表示されたディスプレイ、前記子ウィンドウが最後に表示されたディスプレイ上での座標位置、前記子ウィンドウのサイズ、及び前記子ウィンドウと親子ウィンドウとの重なりの有無を示す情報を取得するステップと、
過去に表示された際に前記子ウィンドウと親子ウィンドウとの重なりがあれば、前記子ウィンドウと親子ウィンドウとの重なりを許容していたと判断し、前記親ウィンドウが表示されたディスプレイを、前記子ウィンドウを表示するディスプレイとして選択し、決定するステップと
を更にコンピュータに実行させるための
画面表示制御用プログラム。
【請求項１５】
請求項１４に記載の画面表示制御用プログラムであって、
過去に表示された際に前記子ウィンドウと親子ウィンドウとの重なりがあれば、前記子ウィンドウが最後に表示されたディスプレイ上での座標位置、及び前記子ウィンドウのサイズを、前記親ウィンドウが表示されたディスプレイ上での前記子ウィンドウの座標位置及びサイズとして決定するステップ
を更にコンピュータに実行させるための
画面表示制御用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面表示制御装置に関し、特にマルチ・ディスプレイ使用時の画面配置の最適化を行う画面表示制御装置に関する。
【背景技術】
【０００２】
近年、生産性向上のためマルチ・ウィンドウ（ｍｕｌｔｉ−ｗｉｎｄｏｗ）環境でアプリケーションソフトウェア（ａｐｐｌｉｃａｔｉｏｎ  ｓｏｆｔｗａｒｅ）を使うユーザが増加した。なお、ウィンドウとは、パソコン等の表示装置の画面内に個々に独立して表示され、画像や文書を表示する小さな画面や矩形状の表示領域である。ダイアログボックス（ｄｉａｌｏｇ  ｂｏｘ）もウィンドウの一種である。
【０００３】
また、様々なアプリケーションソフトウェアを同時に使用するため、ユーザ操作によりアプリケーション・ウィンドウをディスプレイ間で移動することが多くなった。
【０００４】
関連する技術として、特開２００８−０２０８００号公報（特許文献１）に画像表示制御装置、プログラム及び記録媒体が開示されている。この関連技術では、マウスの移動量を減らすため、子ウィンドウを表示する場合に親ウィンドウと同じディスプレイに表示する。
【０００５】
しかしながら、かかる手法では、親ウィンドウが表示されているディスプレイに子ウィンドウ（モードレスダイアログ、ウィンドウ）を表示するため、子ウィンドウが親ウィンドウを隠す状態で表示される可能性が高い。
【０００６】
親ウィンドウは、現在作業中のウィンドウであり、このウィンドウでの作業を補助する目的（例えば文字列検索等）で子ウィンドウを表示するため、親ウィンドウを隠してしまうことは親ウィンドウ上の作業を阻害する要因となり、ユーザには、マウス操作によって子ウィンドウを親ウィンドウが隠れない位置に移動する手間が発生してしまう。
【０００７】
図１Ａ〜図１Ｄに、具体的な例を示す。
【０００８】
（１）図１Ａに示すように、ディスプレイＡ（ＤｉｓｐｌａｙＡ）に親ウィンドウがあった時、子ウィンドウを開くと、ディスプレイＢ（ＤｉｓｐｌａｙＢ）に表示される。
【０００９】
（２）図１Ｂに示すように、ディスプレイＢ（ＤｉｓｐｌａｙＢ）に表示されている子ウィンドウを閉じる。
【００１０】
（３）図１Ｃに示すように、子ウィンドウを閉じた後、親ウィンドウをディスプレイＢ（ＤｉｓｐｌａｙＢ）へ移動する。
【００１１】
（４）図１Ｄに示すように、親ウィンドウをディスプレイＢ（ＤｉｓｐｌａｙＢ）へ移動した後に、子ウィンドウを開くと、子ウィンドウは、現在の親ウィンドウが表示されているディスプレイＢ（ＤｉｓｐｌａｙＢ）に表示される。
【００１２】
子ウィンドウが親ウィンドウを隠すように開いてしまうため、親ウィンドウ上の情報を見ることが困難であり、子ウィンドウを移動する等の対応が必要となってしまう。
【００１３】
また、特開２００７−１４００１５号公報（特許文献２）に表示制御装置が開示されている。この関連技術では、第１のディスプレイに主文書を表示する際に、以前に主文書の閲覧時に参照していた副文書を自動的に第２のディスプレイに表示する。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００８−０２０８００号公報
【特許文献２】特開２００７−１４００１５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
本発明の目的は、親ウィンドウの表示位置（ディスプレイ及び座標）と、子ウィンドウの前回表示位置（ディスプレイ及び座標）を考慮し、子ウィンドウの表示位置を親ウィンドウを隠さない位置にする画面表示制御装置を提供することである。
【課題を解決するための手段】
【００１６】
本発明の画面表示制御装置は、マルチ・ウィンドウ環境で、親ウィンドウと子ウィンドウを複数のディスプレイのうち任意のディスプレイに表示するウィンドウ表示状態決定手段と、ウィンドウ表示状態決定手段からデータの読み書きが可能な記憶手段とを具備する。記憶手段は、ウィンドウが最後に表示されたディスプレイ、ウィンドウが最後に表示されたディスプレイ上での座標位置、ウィンドウのサイズ、及びウィンドウと親ウィンドウとの重なりの有無を示す情報を格納した表示状態保存テーブルを具備する。ウィンドウ表示状態決定手段は、複数のディスプレイの中から、親ウィンドウと子ウィンドウの各々を表示するためのディスプレイを選択し、決定する表示ディスプレイ選択手段と、表示状態保存テーブルの内容に従い、選択されたディスプレイ上において親ウィンドウと子ウィンドウの各々を表示する位置を決定する表示位置決定手段とを具備する。
【００１７】
本発明の画面表示制御方法では、マルチ・ウィンドウ環境で、親ウィンドウと子ウィンドウを複数のディスプレイのうち任意のディスプレイに表示する。また、ウィンドウが最後に表示されたディスプレイ、ウィンドウが最後に表示されたディスプレイ上での座標位置、ウィンドウのサイズ、及びウィンドウと親ウィンドウとの重なりの有無を示す情報を格納した表示状態保存テーブルを保持する。また、複数のディスプレイの中から、親ウィンドウと子ウィンドウの各々を表示するためのディスプレイを選択し、決定する。また、表示状態保存テーブルの内容に従い、選択されたディスプレイ上において親ウィンドウと子ウィンドウの各々を表示する位置を決定する。
【００１８】
本発明の画面表示制御用プログラムは、マルチ・ウィンドウ環境で、親ウィンドウと子ウィンドウを複数のディスプレイのうち任意のディスプレイに表示するステップと、ウィンドウが最後に表示されたディスプレイ、ウィンドウが最後に表示されたディスプレイ上での座標位置、ウィンドウのサイズ、及びウィンドウと親ウィンドウとの重なりの有無を示す情報を格納した表示状態保存テーブルを保持するステップと、複数のディスプレイの中から、親ウィンドウと子ウィンドウの各々を表示するためのディスプレイを選択し、決定するステップと、表示状態保存テーブルの内容に従い、選択されたディスプレイ上において親ウィンドウと子ウィンドウの各々を表示する位置を決定するステップとをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１９】
ＧＵＩ（グラフィカルユーザインタフェース）アプリケーションソフトウェアにおけるマルチ・ディスプレイ利用時のウィンドウ／ダイアログ等の画面配置を最適化できるようになる。
【図面の簡単な説明】
【００２０】
【図１Ａ】公知技術の問題点を説明するための図である。
【図１Ｂ】公知技術の問題点を説明するための図である。
【図１Ｃ】公知技術の問題点を説明するための図である。
【図１Ｄ】公知技術の問題点を説明するための図である。
【図２】本発明の画面表示制御装置の構成例を示すブロック図である。
【図３】表示状態保存テーブルの例を示す図である。
【図４】子ウィンドウを開く場合の処理の流れを示す図である。
【図５】初めて（１回目に）子ウィンドウを開く場合の処理の流れを示す図である。
【図６Ａ】２回目以降にウィンドウを開く場合の処理の流れを示す図である。
【図６Ｂ】２回目以降にウィンドウを開く場合の処理の流れを示す図である。
【図７】ウィンドウの重なりを判断する処理を説明するための図である。
【図８Ａ】本発明による効果を説明するための図である。
【図８Ｂ】本発明による効果を説明するための図である。
【図８Ｃ】本発明による効果を説明するための図である。
【図８Ｄ】本発明による効果を説明するための図である。
【図８Ｅ】本発明による効果を説明するための図である。
【図８Ｆ】本発明による効果を説明するための図である。
【図８Ｇ】本発明による効果を説明するための図である。
【図８Ｈ】本発明による効果を説明するための図である。
【発明を実施するための形態】
【００２１】
以下に、本発明の実施形態について添付図面を参照して説明する。
図２に示すように、本発明の画面表示制御装置は、作成・終了指示受付部１１と、ウィンドウ表示状態決定部１２と、ウィンドウ生成部１３と、ウィンドウ終了部１４を備える。
【００２２】
作成・終了指示受付部１１は、操作Ｉ／Ｆ（ｉｎｔｅｒｆａｃｅ）１を介して、ユーザ操作や設定を受け付け、ユーザ操作や設定に基づいて、ディスプレイ中に表示されるウィンドウの作成指示や終了指示を行う。
【００２３】
ウィンドウ表示状態決定部１２は、表示ディスプレイ選択部１２１と、位置検出部１２２と、表示状態テーブル管理部１２３と、表示状態保存テーブル１２４と、表示位置決定部１２５を備える。
【００２４】
表示ディスプレイ選択部１２１は、ウィンドウの作成指示や終了指示に応じて、複数のディスプレイのうちから少なくとも１つのディスプレイを選択する。このとき、表示ディスプレイ選択部１２１は、選択可能なディスプレイが最初から１つだけしかない場合、無条件で当該ディスプレイを選択するようにしても良い。ここでは、表示ディスプレイ選択部１２１は、ウィンドウの作成指示に応じて、作成されるウィンドウを表示するためのディスプレイを選択する。また、表示ディスプレイ選択部１２１は、ウィンドウの終了指示に応じて、当該ウィンドウが表示されているディスプレイを選択する。
【００２５】
位置検出部１２２は、所定のウィンドウに関する情報（ディスプレイ番号、座標、サイズ）を取得する。例えば、位置検出部１２２は、開こうとしているウィンドウに関する情報や、当該ウィンドウの親ウィンドウに関する情報を取得する。
【００２６】
表示状態テーブル管理部１２３は、表示状態保存テーブル１２４を作成し、表示状態保存テーブル１２４をＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２に格納し、格納された表示状態保存テーブル１２４を管理する。なお、ＲＡＭは一例に過ぎない。実際には、表示状態テーブル管理部１２３は、表示状態保存テーブル１２４を、ＲＡＭ以外の記憶手段に格納するようにしても良い。記憶手段の例として、フラッシュメモリ等の半導体メモリや、ハードディスク等の外部記憶装置（ストレージ）、又は、記憶媒体（メディア）等が考えられる。但し、実際には、これらの例に限定されない。
【００２７】
図３に、表示状態保存テーブル１２４の例を示す。
表示状態保存テーブル１２４は、「ウィンドウ名」と、「最終表示ディスプレイ」と、「最終表示位置」と、「親ウィンドウ識別子」と、「最終表示状態」を持つ。すなわち、表示状態テーブル管理部１２３は、これらの情報を、表示状態保存テーブル１２４に登録する。
【００２８】
「ウィンドウ名」は、対象ウィンドウの識別情報である。「最終表示ディスプレイ」は、対象ウィンドウが最後に表示されたディスプレイを示す情報である。「最終表示位置」は、最終表示ディスプレイにおいて、対象ウィンドウが最後に表示された座標位置を示す情報である。「親ウィンドウ識別子」は、対象ウィンドウの親ウィンドウの識別情報である。「最終表示状態」は、対象ウィンドウと親ウィンドウとの重なりの有無を示す情報である。
【００２９】
表示位置決定部１２５は、表示状態保存テーブル１２４の内容に従い、表示ディスプレイ選択部１２１で選択されたディスプレイ中のどの位置に表示するかを決定する。
【００３０】
ウィンドウ生成部１３は、ウィンドウの作成指示に応じて、表示ディスプレイ選択部１２１で選択されたディスプレイ中の、表示位置決定部１２５で決定された位置に表示されるウィンドウを作成する。ここでは、ウィンドウ生成部１３は、第１のディスプレイを制御する第１ディスプレイコントローラ３と、第２のディスプレイを制御する第２ディスプレイコントローラ４のうち、表示ディスプレイ選択部１２１で選択されたディスプレイを制御するディスプレイコントローラに対して、作成されたウィンドウを表示する旨を指示する。
【００３１】
ウィンドウ終了部１４は、ウィンドウの終了指示に応じて、表示ディスプレイ選択部１２１で選択されたディスプレイ中の、表示位置決定部１２５で決定された位置に表示されているウィンドウの表示処理を終了する。すなわち、ウィンドウ終了部１４は、該当するウィンドウを閉じる。ここでは、ウィンドウ生成部１３は、第１のディスプレイを制御する第１ディスプレイコントローラ３と、第２のディスプレイを制御する第２ディスプレイコントローラ４のうち、表示ディスプレイ選択部１２１で選択されたディスプレイを制御するディスプレイコントローラに対して、該当するウィンドウを閉じる旨を指示する。
【００３２】
表示状態保存テーブルは、ウィンドウの名前、最終表示ディスプレイ、最終表示位置、親ウィンドウ識別子、最終表示状態（親ウィンドウとの重なりの有無）を持つことを特徴とする。
【００３３】
なお、操作Ｉ／Ｆ１の例として、キーボードやキーパッド、画面上のキーパッド、タッチパネル（ｔｏｕｃｈ  ｐａｎｅｌ）、タブレット（ｔａｂｌｅｔ）、又は、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）チップや記憶媒体の読取装置等が考えられる。或いは、操作Ｉ／Ｆ１は、外部の入力装置や記憶装置から情報を取得するためのインターフェースでも良い。但し、実際には、これらの例に限定されない。
【００３４】
また、作成・終了指示受付部１１、ウィンドウ表示状態決定部１２、ウィンドウ生成部１３、及びウィンドウ終了部１４の例として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）等の処理装置、又は同様の機能を有する半導体集積回路（ＩＣ）、或いは、各々の機能をコンピュータに実行させるためのプログラムでも良い。但し、実際には、これらの例に限定されない。
【００３５】
また、第１ディスプレイコントローラ３、及び第２ディスプレイコントローラ４の例として、ＬＣＤ（液晶ディスプレイ）やＰＤＰ（プラズマディスプレイ）、有機ＥＬディスプレイ（ｏｒｇａｎｉｃ  ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ  ｄｉｓｐｌａｙ）等の表示装置等が考えられる。或いは、第１ディスプレイコントローラ３、及び第２ディスプレイコントローラ４は、外部の表示装置に情報を出力するためのインターフェースでも良い。但し、実際には、これらの例に限定されない。
【００３６】
図４を参照して、子ウィンドウを開く場合の処理の流れについて説明する。本発明の画面表示制御装置では、ウィンドウを開くのが初めて（１回目）かどうかで処理が変わる。
【００３７】
（１）ステップＳ１
ウィンドウ表示状態決定部１２は、ウィンドウを開くのが初めてかどうかを確認する。
【００３８】
（２）ステップＳ２
ウィンドウ表示状態決定部１２は、ウィンドウを開くのが初めてである場合、初めて子ウィンドウを開く場合の処理を行う。
【００３９】
（３）ステップＳ３
ウィンドウ表示状態決定部１２は、ウィンドウを開くのが初めてでない場合、２回目以降に子ウィンドウを開く場合の処理を行う。
【００４０】
それぞれの処理については、以下で詳しく説明する。
【００４１】
図５を参照して、初めて（１回目に）子ウィンドウを開く場合の処理の流れについて説明する。
【００４２】
（１）ステップＳ２０１
まず、ウィンドウ表示状態決定部１２は、開こうとしているウィンドウの親ウィンドウに関する情報（ディスプレイ番号、座標、サイズ）を取得する。このとき、表示ディスプレイ選択部１２１は、ウィンドウの作成指示や終了指示に応じて、位置検出部１２２に対し、開こうとしているウィンドウの親ウィンドウに関する情報を取得するように指示する。位置検出部１２２は、開こうとしているウィンドウの親ウィンドウに関する情報を取得する。
【００４３】
（２）ステップＳ２０２
次に、ウィンドウ表示状態決定部１２は、開こうとしている子ウィンドウに関する情報を取得する。この情報は、アプリケーションソフトウェア（ａｐｐｌｉｃａｔｉｏｎ  ｓｏｆｔｗａｒｅ）又はＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によって指定される。すなわち、アプリケーションソフトウェア又はＯＳが、開こうとしている子ウィンドウのサイズを決定する。このとき、表示ディスプレイ選択部１２１は、開こうとしている子ウィンドウに関する情報を取得する。或いは、位置検出部１２２が、開こうとしている子ウィンドウに関する情報を取得し、表示ディスプレイ選択部１２１に通知するようにしても良い。
【００４４】
（３）ステップＳ２０３
次に、ウィンドウ表示状態決定部１２は、親ウィンドウが開いているディスプレイの中に親ウィンドウを隠さずに（重ならずに）子ウィンドウを開くことができるか確認する。
このとき、表示ディスプレイ選択部１２１は、親ウィンドウに関する情報及び子ウィンドウに関する情報に基づいて、親ウィンドウと同じウィンドウの中に、親ウィンドウと重複せずに、子ウィンドウを表示するスペース（空き領域）があるか確認する。
【００４５】
（４）ステップＳ２０４
ウィンドウ表示状態決定部１２は、同じウィンドウの中における親ウィンドウと子ウィンドウとの重なりの有無を確認する。このとき、表示ディスプレイ選択部１２１は、親ウィンドウと子ウィンドウとの重なり「Ｏｖｅｒｗｒａｐ」の有無を確認する。表示ディスプレイ選択部１２１は、親ウィンドウと同じウィンドウの中に、親ウィンドウと重複せずに子ウィンドウを表示するスペースがあれば、「Ｏｖｅｒｗｒａｐ」が無いと判断し、親ウィンドウと同じウィンドウの中では親ウィンドウと子ウィンドウとが重複してしまうならば、「Ｏｖｅｒｗｒａｐ」が有ると判断する。
【００４６】
（５）ステップＳ２０５
ウィンドウ表示状態決定部１２は、同じウィンドウの中における親ウィンドウと子ウィンドウとの重なりが無い場合、ウィンドウ生成部１３に対して、ウィンドウ生成処理を依頼する。このとき、表示ディスプレイ選択部１２１は、「Ｏｖｅｒｗｒａｐ」が無いと判断した場合、親ウィンドウと同じディスプレイを、子ウィンドウを開くためのディスプレイとして決定し、表示位置決定部１２５に対して、ディスプレイ中の表示位置の決定処理を依頼する。表示位置決定部１２５は、子ウィンドウを表示する位置を決定し、ウィンドウ生成部１３に対して、ウィンドウ生成処理を依頼する。また、表示状態テーブル管理部１２３は、「Ｏｖｅｒｗｒａｐ」が無い旨の情報を、表示状態保存テーブル１２４に登録する。
【００４７】
（６）ステップＳ２０６
ウィンドウ表示状態決定部１２は、同じウィンドウの中における親ウィンドウと子ウィンドウとの重なりが有る場合には、親ウィンドウとは異なるディスプレイに子ウィンドウを開くようにするため、子ウィンドウを開くディスプレイを選択し、決定する。このとき、表示ディスプレイ選択部１２１は、「Ｏｖｅｒｗｒａｐ」が有ると判断した場合、子ウィンドウを表示可能な複数のディスプレイのうち、親ウィンドウとは異なるディスプレイを、子ウィンドウを開くディスプレイとして選択し、決定する。また、表示状態テーブル管理部１２３は、「Ｏｖｅｒｗｒａｐ」が有る旨の情報を、表示状態保存テーブル１２４に登録する。
【００４８】
（７）ステップＳ２０７
ウィンドウ表示状態決定部１２は、選択されたディスプレイ中において、子ウィンドウを表示する位置を決定する。このとき、表示ディスプレイ選択部１２１は、表示位置決定部１２５に対して、選択されたディスプレイ中における子ウィンドウの表示位置の決定処理を依頼する。表示位置決定部１２５は、選択されたディスプレイ中において、子ウィンドウを表示する位置を決定する。
【００４９】
（８）ステップＳ２０８
ウィンドウ表示状態決定部１２は、選択されたディスプレイ中に子ウィンドウを開くように、ウィンドウ生成部１３に対して、ウィンドウ生成処理を依頼する。このとき、表示位置決定部１２５は、選択されたディスプレイ中において、決定された位置に子ウィンドウを開くように、ウィンドウ生成部１３に対して、ウィンドウ生成処理を依頼する。
【００５０】
図６Ａ、図６Ｂを参照して、２回目以降に子ウィンドウを開く場合の処理の流れについて説明する。
【００５１】
（１）ステップＳ３０１
ウィンドウ表示状態決定部１２は、２回目以降に子ウィンドウを開く場合も、初めて開く場合と同様に、開こうとしているウィンドウの親ウィンドウに関する情報を取得する。このとき、表示ディスプレイ選択部１２１は、ウィンドウの作成指示や終了指示に応じて、位置検出部１２２に対し、開こうとしているウィンドウの親ウィンドウに関する情報を取得するように指示する。位置検出部１２２は、開こうとしているウィンドウの親ウィンドウに関する情報を取得する。
【００５２】
（２）ステップＳ３０２
次に、ウィンドウ表示状態決定部１２は、初めて開く場合とは異なり、表示状態保存テーブル１２４から、これから開こうとしているウィンドウが前回閉じられた時の情報（子ウィンドウの前回表示情報）を取得する。なお、表示状態保存テーブル１２４から、これから開こうとしているウィンドウが前回閉じられた時の情報を取得できない場合は、初めて開く場合ということになる。
【００５３】
すなわち、ウィンドウ表示状態決定部１２は、子ウィンドウの前回表示情報を、表示状態保存テーブル１２４から取得する。子ウィンドウの前回表示情報には、ディスプレイ番号、座標、サイズ、親ウィンドウとの重なり（「Ｏｖｅｒｗｒａｐ前」）の有無に関する情報が含まれる。「Ｏｖｅｒｗｒａｐ前」の有無に関する情報とは、子ウィンドウが前回表示された際に、表示状態保存テーブル１２４に登録された「Ｏｖｅｒｗｒａｐ」の有無に関する情報である。表示状態保存テーブル１２４には、親ウィンドウ識別子も含まれているが、表示状態保存テーブル１２４は、ウィンドウの名前でウィンドウの情報を管理しているため、異なる親ウィンドウに対する子ウィンドウの情報も保持されている。このとき、位置検出部１２２は、子ウィンドウが前回表示された際に、子ウィンドウの前回表示情報を取得し、表示状態テーブル管理部１２３に通知しているものとする。表示状態テーブル管理部１２３は、予め、子ウィンドウの前回表示情報を、表示状態保存テーブル１２４に登録しておく。表示ディスプレイ選択部１２１は、子ウィンドウの前回表示情報を、表示状態保存テーブル１２４から取得する。
【００５４】
ここでは、ウィンドウ表示状態決定部１２は、これから開こうとしているウィンドウと同じ親ウィンドウ識別子を持つエントリから情報を取り出すため、取り出しされた情報としては親ウィンドウ識別子は利用しない。すなわち、ウィンドウ表示状態決定部１２は、親ウィンドウ識別子を取り出さない。或いは、ウィンドウ表示状態決定部１２は、親ウィンドウ識別子を取り出しても利用しない。ウィンドウ表示状態決定部１２は、同じウィンドウの名前を持つが、親ウィンドウ識別子が一致するエントリが存在しない場合には、初めてウィンドウを開く場合と同様に処理を行う。
【００５５】
（３）ステップＳ３０３
ウィンドウ表示状態決定部１２は、子ウィンドウの前回の表示位置が現在の親ウィンドウの表示位置と重なるかを確認する。このとき、表示ディスプレイ選択部１２１は、子ウィンドウの前回表示情報に基づいて、子ウィンドウの前回の表示位置が現在の親ウィンドウの表示位置と重なるかを確認する。
【００５６】
（４）ステップＳ３０４
ウィンドウ表示状態決定部１２は、子ウィンドウの前回の表示位置と現在の親ウィンドウの表示位置との重なりの有無を確認する。このとき、表示ディスプレイ選択部１２１は、子ウィンドウの前回の表示位置と現在の親ウィンドウの表示位置との重なり「Ｏｖｅｒｗｒａｐ」の有無を確認する。表示ディスプレイ選択部１２１は、子ウィンドウの前回の表示位置と現在の親ウィンドウの表示位置とが重複しない場合、「Ｏｖｅｒｗｒａｐ」が無いと判断し、子ウィンドウの前回の表示位置と現在の親ウィンドウの表示位置とが重複してしまう場合、「Ｏｖｅｒｗｒａｐ」が有ると判断する。
【００５７】
（５）ステップＳ３０５
ウィンドウ表示状態決定部１２は、子ウィンドウの前回の表示位置と現在の親ウィンドウの表示位置との重なりが無い場合には、親ウィンドウと同じディスプレイに子ウィンドウを開くように、ウィンドウ生成部１３に対して、ウィンドウ生成処理を依頼する。このとき、表示ディスプレイ選択部１２１は、「Ｏｖｅｒｗｒａｐ」が無いと判断した場合には、親ウィンドウと同じディスプレイを、子ウィンドウを開くためのディスプレイとして決定し、表示位置決定部１２５に対して、ディスプレイ中の表示位置の決定処理を依頼する。表示位置決定部１２５は、子ウィンドウを表示する位置を決定し、ウィンドウ生成部１３に対して、ウィンドウ生成処理を依頼する。また、表示状態テーブル管理部１２３は、「Ｏｖｅｒｗｒａｐ」が無い旨の情報を、表示状態保存テーブル１２４に登録する。
【００５８】
（６）ステップＳ３０６
ウィンドウ表示状態決定部１２は、子ウィンドウの前回の表示位置と現在の親ウィンドウの表示位置とが重複してしまう場合には、更に、表示状態保存テーブル１２４から取り出した情報を参照し、親ウィンドウとの重なりの有無を確認する。このとき、表示ディスプレイ選択部１２１は、「Ｏｖｅｒｗｒａｐ」が有ると判断した場合、表示状態保存テーブル１２４から取り出した情報を参照し、「Ｏｖｅｒｗｒａｐ前」の有無を確認する。また、表示状態テーブル管理部１２３は、「Ｏｖｅｒｗｒａｐ」が無い旨の情報を、表示状態保存テーブル１２４に登録する。
【００５９】
（７）ステップＳ３０７
ウィンドウ表示状態決定部１２は、表示状態保存テーブル１２４から取り出した情報を参照し、親ウィンドウとの重なりがない場合には、親ウィンドウを隠す形で子ウィンドウを開くことをせずに、子ウィンドウを開くためのディスプレイとして、親ウィンドウとは異なるディスプレイを選択し、決定する。このとき、表示ディスプレイ選択部１２１は、「Ｏｖｅｒｗｒａｐ前」が無いと判断した場合、親ウィンドウが表示されているディスプレイを対象外として、子ウィンドウを開くディスプレイを選択し、決定する。
【００６０】
（８）ステップＳ３０８
ウィンドウ表示状態決定部１２は、子ウィンドウを表示する位置を決定する。このとき、表示ディスプレイ選択部１２１は、表示位置決定部１２５に対して、選択されたディスプレイを通知し、ディスプレイ中の表示位置の決定処理を依頼する。表示位置決定部１２５は、子ウィンドウを表示する位置を決定する。
【００６１】
（９）ステップＳ３０９
ウィンドウ表示状態決定部１２は、親ウィンドウを隠す形で子ウィンドウを開くことをせずに、親ウィンドウとは異なるディスプレイに子ウィンドウを開くように、ウィンドウ生成部１３に対して、ウィンドウ生成処理を依頼する。このとき、表示位置決定部１２５は、ウィンドウ生成部１３に対して、選択されたディスプレイと、決定された位置を通知し、ウィンドウ生成処理を依頼する。
【００６２】
（１０）ステップＳ３１０
また、ウィンドウ表示状態決定部１２は、表示状態保存テーブル１２４から取り出した情報を参照し、親ウィンドウとの重なりがある場合には、親ウィンドウとの重なりを許容していたと判断し、重なりを無視して親ウィンドウと同じディスプレイを、子ウィンドウを開くためのディスプレイとして決定する。このとき、表示ディスプレイ選択部１２１は、「Ｏｖｅｒｗｒａｐ前」が有ると判断した場合、親ウィンドウと同じディスプレイを、子ウィンドウを開くためのディスプレイとして決定し、表示ディスプレイ選択部１２１に対して、ディスプレイの選択処理を依頼する。この場合、表示ディスプレイ選択部１２１は、子ウィンドウを開くディスプレイとして、親ウィンドウが表示されているディスプレイを選択する。
【００６３】
（１１）ステップＳ３１１
ウィンドウ表示状態決定部１２は、子ウィンドウを表示する位置を決定する。このとき、表示ディスプレイ選択部１２１は、表示位置決定部１２５に対して、ディスプレイ中の表示位置の決定処理を依頼する。表示位置決定部１２５は、子ウィンドウを表示する位置を決定する。
【００６４】
（１２）ステップＳ３１２
ウィンドウ表示状態決定部１２は、重なりを無視して親ウィンドウと同じディスプレイの中の決定された位置に子ウィンドウを開くように、ウィンドウ生成部１３に対して、ウィンドウ生成処理を依頼する。このとき、表示位置決定部１２５は、ウィンドウ生成部１３に対して、親ウィンドウと同じディスプレイが子ウィンドウを表示するディスプレイである旨と、子ウィンドウを表示する位置を通知し、ウィンドウ生成処理を依頼する。
【００６５】
図７を参照して、親ウィンドウと子ウィンドウの重なりを確認する処理について説明する。
【００６６】
子ウィンドウを開く処理においては、ディスプレイのサイズを超えるサイズのウィンドウを開くことは考える必要がないので、重ならずに開けるかどうかの判断を行うために、ディスプレイ中において、親ウィンドウを基準として上下左右の空き領域（図７の領域Ａ〜Ｄ）のそれぞれについて子ウィンドウを配置できるかどうかを確認すれば良い。
【００６７】
具体的には、以下のような判断によって配置可能かどうかが分かる。
【００６８】
なお、ディスプレイの基準点は、ディスプレイの左上隅とする。ディスプレイの左右方向を「Ｘ軸」とする。ディスプレイの上下方向を「Ｙ軸」とする。ディスプレイの左右方向（Ｘ軸方向）のサイズ（幅）を「Ｗ」とする。ディスプレイの上下方向（Ｙ軸方向）のサイズ（高さ）を「Ｈ」とする。
【００６９】
ここでは、親ウィンドウの基準点のＸ軸における位置を「Ｘ親」、Ｙ軸における位置を「Ｙ親」とする。親ウィンドウの基準点は、親ウィンドウの左上隅とする。すなわち、親ウィンドウの基準点の座標（Ｘ、Ｙ）は、（Ｘ親、Ｙ親）となる。また、親ウィンドウのＸ軸方向のサイズを「Ｗ親」、Ｙ軸方向のサイズを「Ｈ親」とする。
【００７０】
同様に、子ウィンドウの基準点のＸ軸における位置を「Ｘ子」、Ｙ軸における位置を「Ｙ子」とする。子ウィンドウの基準点は、子ウィンドウの左上隅とする。すなわち、子ウィンドウの基準点の座標（Ｘ、Ｙ）は、（Ｘ子、Ｙ子）となる。また、子ウィンドウのＸ軸方向のサイズを「Ｗ子」、Ｙ軸方向のサイズを「Ｈ子」とする。
【００７１】
［領域Ａ］
「Ｘ親  ＞  Ｗ子」であれば、親ウィンドウと子ウィンドウは重ならずに配置が可能である。
【００７２】
［領域Ｂ］
「Ｗ−（Ｘ親＋Ｗ親）  ＞  Ｗ子」であれば、親ウィンドウと子ウィンドウは重ならずに配置が可能である。
【００７３】
［領域Ｃ］
「Ｙ親  ＞  Ｈ子」であれば、親ウィンドウと子ウィンドウは重ならずに配置が可能である。
【００７４】
［領域Ｄ］
「Ｈ−（Ｙ親＋Ｈ親）  ＞  Ｈ子」であれば、親ウィンドウと子ウィンドウは重ならずに配置が可能である。
【００７５】
前述の方式をとることによって、子ウィンドウを開く場合に、親ウィンドウとの重なりを特定の条件（前回終了時に重なっていた場合）を除き、排除することが可能となり、親ウィンドウを隠すことがないので親ウィンドウ上に表示されている情報を見ながら子ウィンドウを操作することが可能となる。
【００７６】
図８Ａ〜図８Ｈを用いて、具体的な動作について説明する。
【００７７】
ここでは、第１のディスプレイを「ディスプレイＡ（ＤｉｓｐｌａｙＡ）」とする。また、第２のディスプレイを「ディスプレイＢ（ＤｉｓｐｌａｙＢ）」とする。
【００７８】
（１）図８Ａに示すように、ディスプレイＡ（ＤｉｓｐｌａｙＡ）にエディタを開いた状態で、エディタの検索ダイアログを初めて開くと、ディスプレイＢ（ＤｉｓｐｌａｙＢ）に検索ダイアログが表示される。例えば、ウィンドウ表示状態決定部１２は、第１ディスプレイコントローラ３がディスプレイＡ（ＤｉｓｐｌａｙＡ）にエディタを開いた状態である場合、作成・終了指示受付部１１からの検索ダイアログ作成指示に応じて、エディタの検索ダイアログを初めて開くために、第２ディスプレイコントローラ４に対して、検索ダイアログ生成処理を依頼する。第２ディスプレイコントローラ４は、ディスプレイＢ（ＤｉｓｐｌａｙＢ）に検索ダイアログを表示する。
【００７９】
（２）図８Ｂに示すように、検索ダイアログを閉じる。例えば、ウィンドウ表示状態決定部１２は、作成・終了指示受付部１１からの検索ダイアログ終了指示に応じて、エディタの検索ダイアログを閉じるために、第２ディスプレイコントローラ４に対して、検索ダイアログ終了処理を依頼する。第２ディスプレイコントローラ４は、ディスプレイＢ（ＤｉｓｐｌａｙＢ）に表示された検索ダイアログを閉じる。
【００８０】
（３）図８Ｃに示すように、エディタをディスプレイＡ（ＤｉｓｐｌａｙＡ）からディスプレイＢ（ＤｉｓｐｌａｙＢ）へ移動する。例えば、ウィンドウ表示状態決定部１２は、作成・終了指示受付部１１を介して、エディタをディスプレイＡ（ＤｉｓｐｌａｙＡ）からディスプレイＢ（ＤｉｓｐｌａｙＢ）へ移動する旨のユーザ操作を受け付けると、第１ディスプレイコントローラ３に対して、エディタ終了処理を依頼する。第１ディスプレイコントローラ３は、ディスプレイＡ（ＤｉｓｐｌａｙＡ）に表示されたエディタを閉じる。続けて、ウィンドウ表示状態決定部１２は、第２ディスプレイコントローラ４に対して、エディタ生成処理を依頼する。第２ディスプレイコントローラ４は、ディスプレイＢ（ＤｉｓｐｌａｙＢ）にエディタを表示する。
【００８１】
（４）図８Ｄに示すように、再度、検索ダイアログを開く場合、前回検索ダイアログはディスプレイＢ（ＤｉｓｐｌａｙＢ）で閉じられたが、現在ディスプレイＢ（ＤｉｓｐｌａｙＢ）にエディタ（親ウィンドウ）が表示されているため、検索ダイアログはディスプレイＡ（ＤｉｓｐｌａｙＡ）に開かれる。例えば、ウィンドウ表示状態決定部１２は、親ウィンドウとは異なるディスプレイに子ウィンドウを開くように、ウィンドウ生成部１３に対して、ウィンドウ生成処理を依頼する。ウィンドウ生成部１３は、第２ディスプレイコントローラ４に対して、検索ダイアログ生成処理を依頼する。第２ディスプレイコントローラ４は、ディスプレイＢ（ＤｉｓｐｌａｙＢ）に検索ダイアログを表示する。
【００８２】
（５）図８Ｅに示すように、エディタをディスプレイＢ（ＤｉｓｐｌａｙＢ）からディスプレイＡ（ＤｉｓｐｌａｙＡ）に移動する。そして、ディスプレイＡ（ＤｉｓｐｌａｙＡ）にエディタと検索ダイアログを表示させる。例えば、ウィンドウ表示状態決定部１２は、作成・終了指示受付部１１を介して、エディタをディスプレイＢ（ＤｉｓｐｌａｙＢ）からディスプレイＡ（ＤｉｓｐｌａｙＡ）へ移動する旨のユーザ操作を受け付けると、第２ディスプレイコントローラ４に対して、エディタ終了処理を依頼する。第２ディスプレイコントローラ４は、ディスプレイＢ（ＤｉｓｐｌａｙＢ）に表示されたエディタを閉じる。続けて、ウィンドウ表示状態決定部１２は、第１ディスプレイコントローラ３に対して、エディタ生成処理を依頼する。第１ディスプレイコントローラ３は、ディスプレイＡ（ＤｉｓｐｌａｙＡ）に検索ダイアログと共にエディタを表示する。このとき、第１ディスプレイコントローラ３は、既存の検索ダイアログの表示を、エディタに検索ダイアログを重ねた状態の表示に差し替えるようにしても良い。
【００８３】
（６）図８Ｆに示すように、検索ダイアログを閉じる。
例えば、ウィンドウ表示状態決定部１２は、作成・終了指示受付部１１からの検索ダイアログ終了指示に応じて、エディタの検索ダイアログを閉じるために、第１ディスプレイコントローラ３に対して、検索ダイアログ終了処理を依頼する。第１ディスプレイコントローラ３は、ディスプレイＡ（ＤｉｓｐｌａｙＡ）に表示された検索ダイアログを閉じる。
【００８４】
（７）図８Ｇに示すように、検索ダイアログを閉じた状態で、ディスプレイＡ（ＤｉｓｐｌａｙＡ）にエディタのみ表示させた状態にする。例えば、第１ディスプレイコントローラ３は、ディスプレイＡ（ＤｉｓｐｌａｙＡ）にエディタのみ表示させた状態を継続する。
【００８５】
（８）図８Ｈに示すように、再度、検索ダイアログを開く場合、前回検索ダイアログを閉じたときにディスプレイＡ（ＤｉｓｐｌａｙＡ）にエディタ（親ウィンドウ）と一緒に表示していたため、そのままディスプレイＡ（ＤｉｓｐｌａｙＡ）の前回閉じた位置に表示する。例えば、ウィンドウ表示状態決定部１２は、再度、検索ダイアログを開く場合、親ウィンドウと同じディスプレイに子ウィンドウを開くように、ウィンドウ生成部１３に対して、ウィンドウ生成処理を依頼する。ウィンドウ生成部１３は、第１ディスプレイコントローラ３に対して、検索ダイアログ生成処理を依頼する。第１ディスプレイコントローラ３は、ディスプレイＡ（ＤｉｓｐｌａｙＡ）に検索ダイアログを表示する。このとき、第１ディスプレイコントローラ３は、既存の検索ダイアログの表示を、エディタに検索ダイアログを重ねた状態の表示に差し替えるようにしても良い。
【００８６】
以上のように、本発明は、ＧＵＩ（グラフィカルユーザインタフェース）アプリケーションソフトウェアにおけるマルチ・ディスプレイ利用時のウィンドウ／ダイアログの配置の最適化方法に関する。
【００８７】
表示状態保存テーブルは、ウィンドウの名前、最終表示ディスプレイ、最終表示位置、親ウィンドウ識別子、最終表示状態（親ウィンドウとの重なりの有無）を持つことを特徴とする。
【００８８】
表示位置決定部は、表示状態保存テーブルの内容に従い、表示ディスプレイ選択部で選択されたディスプレイ中のどの位置に表示するかを決定する。
【００８９】
本発明では、従来技術の親ウィンドウを子ウィンドウが隠してしまうという問題を、親ウィンドウの表示位置（ディスプレイ及び座標）と、子ウィンドウの前回表示位置（ディスプレイ及び座標）を考慮することで子ウィンドウの表示位置を親ウィンドウを隠さない位置にすることで解決した。
【００９０】
本発明では、子ウィンドウを開く際に親ウィンドウを隠すことがないため、親ウィンドウに表示される情報を見るために子ウィンドウ又は親ウィンドウを移動させる必要がない。
【００９１】
また、本発明では、前回終了時の情報として親ウィンドウとの重なりの有無を持っているため、意図的にウィンドウを重ねていた場合には、再度ウィンドウを開く際に重ねて表示することができる。
【００９２】
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【符号の説明】
【００９３】
１…  操作Ｉ／Ｆ（ｉｎｔｅｒｆａｃｅ）
２…  ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）
３…  第１ディスプレイコントローラ
４…  第２ディスプレイコントローラ
１１…  作成・終了指示受付部
１２…  ウィンドウ表示状態決定部
１２１…  表示ディスプレイ選択部
１２２…  位置検出部
１２３…  表示状態テーブル管理部
１２４…  表示状態保存テーブル
１２５…  表示位置決定部
１３…  ウィンドウ生成部
１４…  ウィンドウ終了部
【図１Ａ】
2011141830.tif 000003
【図１Ｂ】
2011141830.tif 000004
【図１Ｃ】
2011141830.tif 000005
【図１Ｄ】
2011141830.tif 000006
【図２】
2011141830.tif 000007
【図３】
2011141830.tif 000008
【図４】
2011141830.tif 000009
【図５】
2011141830.tif 000010
【図６Ａ】
2011141830.tif 000011
【図６Ｂ】
2011141830.tif 000012
【図７】
2011141830.tif 000013
【図８Ａ】
2011141830.tif 000014
【図８Ｂ】
2011141830.tif 000015
【図８Ｃ】
2011141830.tif 000016
【図８Ｄ】
2011141830.tif 000017
【図８Ｅ】
2011141830.tif 000018
【図８Ｆ】
2011141830.tif 000019
【図８Ｇ】
2011141830.tif 000020
【図８Ｈ】
2011141830.tif 000021