(57)【特許請求の範囲】
【請求項１】
ウィンドウの表示制御を行う情報処理装置であって、
前記ウィンドウのうち、第１のウィンドウの指定を受け付ける受付手段と、
ユーザからの操作指示に従い、前記第１のウィンドウに対するドラッグアンドドロップ処理を実行する実行手段と、
前記実行手段によりドラッグアンドドロップ処理が実行される前記第１のウィンドウと、前記第１のウィンドウとは異なる第２のウィンドウの表示位置の入れ替え指示を受け付けたかを判定する第１の判定手段と、
前記実行手段により前記第１のウィンドウがドロップされた位置に、前記第２のウィンドウが表示されているかを判定する第２の判定手段と、
前記ウィンドウの表示制御を行う表示制御手段を備え、
前記表示制御手段は、
前記第１の判定手段で、前記第１のウィンドウと前記第２のウィンドウとの表示位置の入れ替え指示を受け付けた判定し、前記第２の判定手段で、前記第１のウィンドウがドロップされた位置に前記第１のウィンドウとは異なる第２のウィンドウが表示されていると判定した場合に、前記第２のウィンドウの表示位置である第１の位置に前記第１のウィンドウを表示し、前記実行手段によるドラッグが開始された際の第１のウィンドウの表示位置である第２の位置に前記第２のウィンドウを表示するようウィンドウの表示制御を行い、
前記第１の判定手段で、入れ替え指示を受け付けていないと判定した場合には、前記第１のウィンドウの表示位置を、前記実行手段によりドロップされた位置に変更するようウィンドウの表示制御を行うこと
を特徴とする情報処理装置。
【請求項２】
前記第１のウィンドウ及び前記第２のウィンドウの表示位置変更処理前のサイズ情報を取得する取得手段をさらに備え、
前記表示制御手段は、前記取得手段で取得したサイズ情報に従い、第１の位置に表示される前記第１のウィンドウのサイズを表示位置変更処理前の前記第２のウィンドウサイズで、前記第２の位置に表示される第２のウィンドウサイズを表示位置変更処理前の前記第１のウィンドウサイズで表示するようウィンドウの表示制御を行うこと
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の判定手段で第１のウィンドウと第２のウィンドウの入れ替え指示を受け付けたと判定し、前記第２の判定手段で、前記第１のウィンドウがドロップされた位置に第２のウィンドウが表示されてないと判定した場合、前記表示制御手段は、前記第１のウィンドウを前記第２の位置に表示するようウィンドウの表示制御を行うこと
を特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記第１のウィンドウにはウィンドウの入替指定を行うための指定領域が設定されており、
前記第１の判定手段は、前記指定領域が指定された状態で、前記実行手段による前記第１のウィンドウのドラッグが開始された場合に、前記第１のウィンドウと前記第２のウィンドウの表示位置の入れ替え指示を受け付けたと判定すること
を特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
キーボードの特定のボタンが押下されている状態で、前記実行手段による前記第１のウィンドウのドラッグが開始された場合に、前記第１の判定手段は、前記第１のウィンドウと第２のウィンドウの表示位置の入れ替え指示を受け付けたと判定すること
を特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項６】
前記実行手段によりドラッグされた第１のウィンドウがドロップされた位置が、前記実行手段によるドラッグが開始される前の第１のウィンドウの表示領域内であるかを判定する第３の判定手段をさらに備え、
前記第１の判定手段で、前記第１のウィンドウと前記第２のウィンドウとの表示位置の入れ替え指示を受け付けた判定し、前記第３の判定手段で、前記第１のウィンドウがドロップされた位置が、前記実行手段によるドラッグが開始される前の第１のウィンドウの表示領域内であると判定した場合、前記表示制御手段は、前記第１のウィンドウが表示された位置に第２のウィンドウが表示されているかにかかわらず、前記第１のウィンドウを前記第２の位置に表示するよう表示制御すること
を特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第１のウィンドウが通常のウィンドウ、前記第２のウィンドウが最小化ウィンドウである場合に、前記表示制御手段は、前記第１のウィンドウと、前記第２のウィンドウの表示位置を入れ替えるウィンドウの表示制御を行わないこと
を特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第２のウィンドウが表示されているかを判定する第４の判定手段をさらに備え、
前記第４の判定手段で前記第２のウィンドウが表示されていないと判定した場合に、前記表示制御手段は、前記第１の判定手段による判定結果に関わらず、前記第１のウィンドウを実行手段によりドロップされた位置に表示すること
を特徴とする請求項１乃至７のいずれか１項記載の情報処理装置。
【請求項９】
ウィンドウの表示制御を行う情報処理装置によって行われる情報処理方法であって、
前記ウィンドウのうち、第１のウィンドウの指定を受け付ける受付工程と、
ユーザからの操作指示に従い、前記第１のウィンドウに対するドラッグアンドドロップ処理を実行する実行工程と、
前記実行工程でドラッグアンドドロップ処理が実行される前記第１のウィンドウと、前記第１のウィンドウとは異なる第２のウィンドウの表示位置の入れ替え指示を受け付けたかを判定する第１の判定工程と、
前記実行工程で前記第１のウィンドウがドロップされた位置に、前記第２のウィンドウが表示されているかを判定する第２の判定工程と、
前記ウィンドウの表示制御を行う表示制御工程を備え、
前記表示制御工程は、
前記第１の判定工程で、前記第１のウィンドウと前記第２のウィンドウとの表示位置の入れ替え指示を受け付けた判定し、前記第２の判定工程で、前記第１のウィンドウがドロップされた位置に前記第１のウィンドウとは異なる第２のウィンドウが表示されていると判定した場合に、前記第２のウィンドウの表示位置である第１の位置に前記第１のウィンドウを表示し、前記実行工程でドラッグが開始された際の第１のウィンドウの表示位置である第２の位置に前記第２のウィンドウを表示するようウィンドウの表示制御を行い、
前記第１の判定工程で、入れ替え指示を受け付けていないと判定した場合には、前記第１のウィンドウの表示位置を、前記実行工程ドロップされた位置に変更するようウィンドウの表示制御を行うこと
を特徴とする情報処理方法。
【請求項１０】
ウィンドウの表示制御を行う情報処理装置を、
前記ウィンドウのうち、第１のウィンドウの指定を受け付ける受付手段と、
ユーザからの操作指示に従い、前記第１のウィンドウに対するドラッグアンドドロップ処理を実行する実行手段と、
前記実行手段によりドラッグアンドドロップ処理が実行される前記第１のウィンドウと、前記第１のウィンドウとは異なる第２のウィンドウの表示位置の入れ替え指示を受け付けたかを判定する第１の判定手段と、
前記実行手段により前記第１のウィンドウがドロップされた位置に、前記第２のウィンドウが表示されているかを判定する第２の判定手段と、
前記ウィンドウの表示制御を行う表示制御手段
として機能させ、
前記表示制御手段は、
前記第１の判定手段で、前記第１のウィンドウと前記第２のウィンドウとの表示位置の入れ替え指示を受け付けた判定し、前記第２の判定手段で、前記第１のウィンドウがドロップされた位置に前記第１のウィンドウとは異なる第２のウィンドウが表示されていると判定した場合に、前記第２のウィンドウの表示位置である第１の位置に前記第１のウィンドウを表示し、前記実行手段によるドラッグが開始された際の第１のウィンドウの表示位置である第２の位置に前記第２のウィンドウを表示するようウィンドウの表示制御を行い、
前記第１の判定手段で、入れ替え指示を受け付けていないと判定した場合には、前記第１のウィンドウの表示位置を、前記実行手段によりドロップされた位置に変更するようウィンドウの表示制御を行うこと
を特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のウィンドウを同時に表示可能なコンピュータシステムにおいて、ウィンドウの表示位置の入替等のウィンドウの表示位置の制御を行う技術に関する。
【背景技術】
【０００２】
現在広く使用されているコンピュータシステムは、マルチウィンドウシステムが採用され、複数のアプリケーションの処理ウィンドウを同時に表示させて、それらウィンドウを介してのユーザによる操作に従って、複数のアプリケーションが夫々の処理を行うことが可能である。
【０００３】
これら複数の処理ウィンドウは、ユーザが夫々を希望のサイズで希望の位置に表示させるようコンピュータに指示することが可能である。ウィンドウを最大化したり、最小化したり、重ねて表示したり、上下に配置したり、左右に配置したりといった具合である。
【０００４】
ここで、２つの処理ウィンドウの表示位置を入れ替えようとした場合には、一方のウィンドウを他方のウィンドウの表示位置に移動させた後に、他方のウィンドウを一方のウィンドウが移動前に表示されていた位置に移動させ、必要に応じてサイズの変更も行わなければならず、操作性が悪い。
【０００５】
特許文献１には、商品情報選択画面のレイアウト変更が短時間で行え、かつレイアウト変更中のアイコンなどの表示データの消失などのミスを防止できる電子商取引における商品情報選択画面の編集方法について開示されており、ある領域に表示されているアイコンを他の領域にドラッグアンドドロップした際に、他の領域に他のアイコンが表示されていた場合に、それらアイコンの表示位置の入れ替えを行う。この方法によれば、アイコンの表示位置を入れ替える際に、一方のアイコンを移動させた後に、他方のアイコンを一方のアイコンが表示されていた位置に移動させることを行わなくても良く、操作性の向上が図れる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１４６３３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の発明は、アイコンの表示領域として予め決められた領域に複数のアイコンを表示させないようにしているものであり、通常のコンピュータシステムのウィンドウのように、重ね合わせての表示を許容しているものではなく、この方法をコンピュータシステムのウィンドウの表示にそのまま適用することはできない。
【０００８】
つまりは、ウィンドウシステムは、複数のウィンドウを任意のサイズで表示可能であり、且つ、複数のウィンドウを重ねて表示することが可能であるため、それらの表示設定を考慮した形でのウィンドウの表示位置の入れ替え処理を行う必要性がある。
【０００９】
また、ウィンドウの表示方法として、最小化表示といったことも広く行われており、これら最小化されたウィンドウを通常サイズに戻す際にも、その表示位置や表示サイズの表示制御を行うことが好ましい。さらには、最小化ウィンドウを通常サイズに戻すと表示する数が増えてしまい表示が見づらくなるので、最小化ウィンドウと通常ウィンドウの表示位置の入替等を行えることが好ましい。
【００１０】
そこで、本発明は、複数のウィンドウを同時に表示可能なコンピュータシステムのウィンドウの表示位置の変更指示を容易に行うことが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明の情報処理装置は、ウィンドウの表示制御を行う情報処理装置であって、前記ウィンドウのうち、第１のウィンドウの指定を受け付ける受付手段と、ユーザからの操作指示に従い、前記第１のウィンドウに対するドラッグアンドドロップ処理を実行する実行手段と、前記実行手段によりドラッグアンドドロップ処理が実行される前記第１のウィンドウと、前記第１のウィンドウとは異なる第２のウィンドウの表示位置の入れ替え指示を受け付けたかを判定する第１の判定手段と、前記実行手段により前記第１のウィンドウがドロップされた位置に、前記第２のウィンドウが表示されているかを判定する第２の判定手段と、前記ウィンドウの表示制御を行う表示制御手段を備え、前記表示制御手段は、前記第１の判定手段で、前記第１のウィンドウと前記第２のウィンドウとの表示位置の入れ替え指示を受け付けた判定し、前記第２の判定手段で、前記第１のウィンドウがドロップされた位置に前記第１のウィンドウとは異なる第２のウィンドウが表示されていると判定した場合に、前記第２のウィンドウの表示位置である第１の位置に前記第１のウィンドウを表示し、前記実行手段によるドラッグが開始された際の第１のウィンドウの表示位置である第２の位置に前記第２のウィンドウを表示するようウィンドウの表示制御を行い、前記第１の判定手段で、入れ替え指示を受け付けていないと判定した場合には、前記第１のウィンドウの表示位置を、前記実行手段によりドロップされた位置に変更するようウィンドウの表示制御を行うことを特徴とする。
【００１２】
上記の目的を達成するために、本発明の情報処理方法は、ウィンドウの表示制御を行う情報処理装置によって行われる情報処理方法であって、前記ウィンドウのうち、第１のウィンドウの指定を受け付ける受付工程と、ユーザからの操作指示に従い、前記第１のウィンドウに対するドラッグアンドドロップ処理を実行する実行工程と、前記実行工程でドラッグアンドドロップ処理が実行される前記第１のウィンドウと、前記第１のウィンドウとは異なる第２のウィンドウの表示位置の入れ替え指示を受け付けたかを判定する第１の判定工程と、前記実行工程で前記第１のウィンドウがドロップされた位置に、前記第２のウィンドウが表示されているかを判定する第２の判定工程と、前記ウィンドウの表示制御を行う表示制御工程を備え、前記表示制御工程は、前記第１の判定工程で、前記第１のウィンドウと前記第２のウィンドウとの表示位置の入れ替え指示を受け付けた判定し、前記第２の判定工程で、前記第１のウィンドウがドロップされた位置に前記第１のウィンドウとは異なる第２のウィンドウが表示されていると判定した場合に、前記第２のウィンドウの表示位置である第１の位置に前記第１のウィンドウを表示し、前記実行工程でドラッグが開始された際の第１のウィンドウの表示位置である第２の位置に前記第２のウィンドウを表示するようウィンドウの表示制御を行い、前記第１の判定工程で、入れ替え指示を受け付けていないと判定した場合には、前記第１のウィンドウの表示位置を、前記実行工程ドロップされた位置に変更するようウィンドウの表示制御を行うことを特徴とする。
【００１３】
上記の目的を達成するために、本発明のコンピュータプログラムは、ウィンドウの表示制御を行う情報処理装置を、前記ウィンドウのうち、第１のウィンドウの指定を受け付ける受付手段と、ユーザからの操作指示に従い、前記第１のウィンドウに対するドラッグアンドドロップ処理を実行する実行手段と、前記実行手段によりドラッグアンドドロップ処理が実行される前記第１のウィンドウと、前記第１のウィンドウとは異なる第２のウィンドウの表示位置の入れ替え指示を受け付けたかを判定する第１の判定手段と、前記実行手段により前記第１のウィンドウがドロップされた位置に、前記第２のウィンドウが表示されているかを判定する第２の判定手段と、前記ウィンドウの表示制御を行う表示制御手段として機能させ、前記表示制御手段は、前記第１の判定手段で、前記第１のウィンドウと前記第２のウィンドウとの表示位置の入れ替え指示を受け付けた判定し、前記第２の判定手段で、前記第１のウィンドウがドロップされた位置に前記第１のウィンドウとは異なる第２のウィンドウが表示されていると判定した場合に、前記第２のウィンドウの表示位置である第１の位置に前記第１のウィンドウを表示し、前記実行手段によるドラッグが開始された際の第１のウィンドウの表示位置である第２の位置に前記第２のウィンドウを表示するようウィンドウの表示制御を行い、前記第１の判定手段で、入れ替え指示を受け付けていないと判定した場合には、前記第１のウィンドウの表示位置を、前記実行手段によりドロップされた位置に変更するようウィンドウの表示制御を行うことを特徴とする。

【発明の効果】
【００１４】
本発明によれば、ポインティングデバイスによるドラッグアンドドロップ処理という直感的な操作により表示位置の入れ替えを行うことが可能となり、複数のウィンドウを同時に表示可能なコンピュータシステムのウィンドウの表示位置の変更指示を容易に行うことが可能になる。
【００１５】
さらに、最小化されたウィンドウについても、簡易な操作により、表示位置の設定や画面の表示位置の入れ替え処理を行うことが可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施の形態における情報処理装置の機能構成の一例を示す図である。
【図２】本発明の情報処理装置に適用可能なコンピュータのハードウェア構成の一例を示す図である。
【図３】本発明におけるアプリケーションのウィンドウの画面構成の一例を示す模式図である。
【図４】本発明の情報処理装置１００のＣＰＵ２０１によって行われるウィンドウ表示制御処理の詳細を示すフローチャートである。
【図５】本発明によるウィンドウ表示制御の第１の例を示す図である。
【図６】本発明によるウィンドウ表示制御の第２の例を示す図である。
【図７】本発明によるウィンドウ表示制御の第３の例を示す図である。
【図８】本発明によるウィンドウ表示制御の第４の例を示す図である。
【図９】本発明によるウィンドウ表示制御の第５の例を示す図である。
【図１０】本発明によるウィンドウ表示制御の第６の例を示す図である。
【図１１】本発明によるウィンドウ表示制御の第７の例を示す図である。
【図１２】本発明の第２の実施の形態の情報処理装置の機能構成の一例を示す図である。
【図１３】本発明の第２の実施の形態で情報処理装置のディスプレイ装置に表示される画面の表示例の一例を示す図である。
【図１４】本発明の第２の実施形態における情報処理装置のウィンドウ表示制御処理の概要を示す図である。
【図１５】図１４のステップＳ１４０３の通常ウィンドウ表示制御処理の詳細な処理を示すフローチャートである。
【図１６】図１４のステップＳ１４０４のＤｏｃｋ内ウィンドウ表示制御処理の詳細な処理を示すフローチャートである。
【図１７】本発明の第２の実施形態におけるウィンドウ表示制御の第１の例を示す図である。
【図１８】本発明の第２の実施形態におけるウィンドウ表示制御の第２の例を示す図である。
【発明を実施するための形態】
【００１７】
＜第１の実施の形態＞
以下、図面を参照して、本発明の実施の形態の一例について説明する。図１は本願発明の情報処理装置の機能構成の一例を示す図である。図１に示すように、情報処理装置１００は、ウィンドウ移動部１０１、ウィンドウ入替部１０２、ウィンドウ表示更新部１０３を備えている。
【００１８】
ウィンドウ移動部１０１は、後述するディスプレイ装置２１０に表示されているウィンドウの表示位置の移動を行う機能部である。ウィンドウ入替部１０２は、ディスプレイ装置２１０に表示されている複数のウィンドウの表示位置の入れ替えを行う機能部である。ウィンドウ表示更新部１０３はウィンドウの表示を更新する機能部である。
【００１９】
ウィンドウ入替部１０２は、入替指示受付部１０２−１、入替候補特定部１０２−２、ウィンドウ情報取得部１０２−３、入替実行部１０２−４を備えている。
【００２０】
入替指示受付部１０２−１は、ユーザからの入力装置を介したウィンドウの入替指示を受け付ける機能部である。入替候補特定部１０２−２は、表示位置の入替対象となるウィンドウを特定するための機能部である。ウィンドウ情報取得部１０２−３は、入替候補特定部１０２−２で特定されたウィンドウの表示位置や表示サイズといったウィンドウ情報を取得するための機能部である。入替実行部１０２−４は、ウィンドウの入替処理を実行するための機能部である。以上が、本発明の情報処理装置の機能構成の説明である。
【００２１】
次に、図２を参照して、本発明の情報処理装置として適用可能なコンピュータのハードウェア構成の一例について説明する。
【００２２】
図中、ＣＰＵ２０１は、システムバス２０４に接続される後述の各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Basic Input / Output System）やオペレーティングシステムプログラム（以下、ＯＳ）や、情報処理装置１００に後述する各種の処理を実行させるために必要な各種プログラムやデータ等が記憶されている。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００２３】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０２にロードして、プログラムを実行することで後述する各種処理を実現するものである。また、入力コントローラ（入力Ｃ）２０５は、キーボードやポインティングデバイス等で構成される入力装置２０９からの入力を制御する。ビデオコントローラ（ＶＣ）２０６は、ディスプレイ装置２１０等の表示装置への表示を制御する。ディスプレイ装置２１０は、例えばＣＲＴディスプレイや液晶ディスプレイ等で構成される。
【００２４】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフロッピーディスク（登録商標  ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ２１１へのアクセスを制御する。
【００２５】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２６】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ装置２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ装置２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。以上が、図１の情報処理装置１００に適用可能なコンピュータのハードウェア構成の説明であるが、後述する各種の処理を実行可能であれば、必ずしも図２に記載のハードウェア構成を有していなくとも構わないことは言うまでもない。
【００２７】
図３は、本発明の情報処理装置１００のディスプレイ装置２１０に表示されるウィンドウの構成の一例を示す図である。本発明のウィンドウ３００は、ウィンドウ位置入替指定部３０１、タイトルバー３０２、最小化ボタン３０３、最大化ボタン３０４、閉じるボタン３０５、ビュー３０６等を備えて構成されている。
【００２８】
ウィンドウ位置入替指定部３０１は、他のウィンドウとの表示位置の入れ替え指定を行う際に用いる指定部である。このウィンドウ入替指定部３０１を指定したウィンドウの入れ替え処理の詳細については後述する。
【００２９】
タイトルバー３０２は、ウィンドウのタイトルの表示を行う領域であり、ウィンドウの表示位置の移動指定を行う際に用いる指定部でもある。最小化ボタン３０３は、ウィンドウを最小化する際に用いるボタンである。最大化ボタン３０４は、ウィンドウサイズを最大化する際に用いるボタンである。尚、ウィンドウサイズが最大の場合には、このウィンドウサイズを最大化する前のサイズに戻すために用いる戻すボタンが表示されることになる。閉じるボタン３０５はウィンドウを閉じる際に用いるボタンである。
【００３０】
図４は、図１の情報処理装置１００のＣＰＵ２０１によって行われるウィンドウ表示制御処理の詳細を示すフローチャートである。本処理を情報処理装置１００のＣＰＵ２０１に実行させるためのプログラムは外部メモリ２１１等に記憶されており、ＣＰＵ２０１は、本処理を実行するにあたって当該プログラムをＲＡＭ２０２にロードし、ロードしたプログラムによる制御に従い、本処理を行う。
【００３１】
まず、ＣＰＵ２０１は、ユーザのポインティングデバイス操作によるウィンドウのドラッグ処理の開始を検知したかを判定する（ステップＳ４０１）。ドラッグの開始を検知しなかったと判定した場合（ステップＳ４０１でＮＯ）には、検知したと判断するまで、ステップＳ４０１で待機する。その間、ユーザの操作部からの操作に従い、他の処理を実行する指示を受け付けた場合には、該指定された他の処理を行うことになる。一方、ポインティングデバイス操作によるウィンドウのドラッグ処理を検知したと判定した場合（ステップＳ４０１でＹＥＳ）には、処理をステップＳ４０２に進める。
【００３２】
ＣＰＵ２０１はステップＳ４０２において、ウィンドウのドラッグ処理がウィンドウの表示位置の入れ替えを目的として開始されたか、それともウィンドウの表示位置の移動を目的として開始されたかを判定する。図３に示すウィンドウ位置入替指定部３０１にポインティングデバイスのカーソルを合わせた状態でドラッグ処理が開始された場合には、ＣＰＵ２０１はステップＳ４０２の判定処理で「入替」と、タイトルバー３０２にカーソルを合わせた状態でドラッグ処理が開始された場合には「移動」と判定することになる。
【００３３】
ステップＳ４０２の判定処理で入替と判定した場合には、ＣＰＵ２０１は処理をステップＳ４０３に進め、ドラッグが開始されたウィンドウのドラッグ開始時の位置情報を取得する。ここで取得する位置情報とは、ウィンドウの原点座標やウィンドウサイズ等がある。
【００３４】
ウィンドウの位置情報取得終了後、ユーザのポインティングデバイス操作に従ったウィンドウのドラッグ処理に合わせたウィンドウの表示位置を制御することになる。このとき、ウィンドウのドラッグ開始前の位置と、ドラッグ処理による指定位置とをユーザが認識可能に表示することが好ましい。このとき、例えば、開始前の位置のウィンドウを通常よりも薄く表示し、ドラッグ中の位置（指定位置）は、例えば白枠等で表示する。尚、表示形態はこの例に限られず、他の表示形態を採用しても勿論構わない。
【００３５】
その後、ユーザによるポインティングデバイス操作により、ドロップ処理が行われたかを判定する（ドロップ処理検知：ステップＳ４０５）。ドラッグ処理を検知していない（ステップＳ４０５でＮＯ）と判定した場合には、ステップＳ４０４のドラッグ処理に合わせたウィンドウの表示制御処理を引き続き行うことになる。
【００３６】
ステップＳ４０５で、ＣＰＵ２０１がドロップ処理を検知したと判定した場合には（ステップＳ４０５でＹＥＳ）、処理をステップＳ４０６に進め、当該ウィンドウのドラッグアンドドロップ時に、表示装置に他のウィンドウが表示されていたかを判定する。
【００３７】
ステップＳ４０６の判定処理で、ＣＰＵ２０１が他のウィンドウが表示されていないと判定した場合には（ステップＳ４０６でＮＯ）、処理をステップＳ４１３に進める。
【００３８】
一方、ステップＳ４０６の判定処理でＣＰＵ２０１が他のウィンドウが表示されていると判断した場合には（ステップＳ４０６でＹＥＳ）、処理をステップＳ４０７に進め、ドロップされた位置がドラッグ開始前のウィンドウの表示領域内（ウィンドウの元の表示領域内）であるかを判定する。
【００３９】
ステップＳ４０７の判定処理で、ＣＰＵ２０１がドロップされた箇所が当該ウィンドウの元の表示領域内であると判定した場合には（ステップＳ４０７でＹＥＳ）、処理をステップＳ４１０に進める。
【００４０】
一方、ステップＳ４０７の判定処理で、ドロップされた箇所が当該ウィンドウの元の表示領域外であると判定した場合には（ステップＳ４０７でＮＯ）、処理をステップＳ４０８に進める。
【００４１】
ステップＳ４０８では、ウィンドウがドロップされた箇所に他のウィンドウが表示されているかを判定する。この判定処理で、ＣＰＵ２０１がドロップされた箇所に他のウィンドウが表示されていると判定した場合には、処理をステップＳ４０９に、他のウィンドウが表示されていないと判定した場合には、処理をステップＳ４１０に処理を進める。
【００４２】
ステップＳ４０９では、ＣＰＵ２０１は、ドラッグアンドドロップ処理がなされたウィンドウと、当該ウィンドウがドロップされた箇所に表示されている他のウィンドウの表示位置を変更すると決定する。尚、ウィンドウがドロップされた位置に複数の他のウィンドウが表示されている場合には、その中で最も上位に表示されているウィンドウを、入れ替えを行うウィンドウとして決定することになる。ステップＳ４１０では、当該ウィンドウの表示位置を元の位置に決定する。尚、ステップＳ４０７でＹＥＳとＣＰＵ２０１が判断した際にステップＳ４１０に進みウィンドウを元の位置に表示すると決定する理由は、ウィンドウがドロップされた位置の最前面に表示されていたウィンドウはドラッグアンドドロップ処理がされたウィンドウ自体だからである。
【００４３】
ステップＳ４０２の処理で、ウィンドウの表示位置の移動を目的としてドラッグ処理が開始されたと判定した場合には、処理をステップＳ４１１に進める。そして、他のウィンドウと表示位置を変更する目的でドラッグ処理が開始された場合と同様に、ユーザのポインティングデバイス操作に従ったウィンドウのドラッグ処理に合わせたウィンドウの表示位置を制御することになる（ステップＳ４１１）。そして、ドロップ処理を検知すると（ステップＳ４１２でＹＥＳ）、処理をステップＳ４１３に進め、ドロップされた場所に当該ウィンドウを移動すると決定する。
【００４４】
その後、ＣＰＵ２０１は、ステップＳ４０９、ステップＳ４１０、ステップＳ４１３で決定した通りに、ウィンドウの表示制御処理を行う。即ち、ステップＳ４０９でウィンドウの表示を決定した場合には、ステップＳ４１４ではドラッグアンドドロップ処理がなされたウィンドウと、当該ウィンドウがドロップされた箇所に表示されている他のウィンドウの表示位置を変更する表示制御処理を行う。ステップＳ４１０でウィンドウの表示を決定した場合には、ドラッグアンドドロップ処理がなされたウィンドウを元の位置に表示する表示制御処理を行う。ステップＳ４１３でウィンドウの表示を決定した場合には、ドラッグアンドドロップされたウィンドウをドロップされた位置に表示する表示制御処理を行う。
【００４５】
以上が、本発明の情報処理装置１００により行われるウィンドウ表示制御処理の詳細な説明である。
【００４６】
次に、図５から図１１を参照して、情報処理装置１００が図４に示すウィンドウ表示制御処理を行った場合に、ディスプレイ装置２１０に表示されるウィンドウの表示の流れについて説明する。
【００４７】
図５は、本発明によるウィンドウ表示制御の第１の例を示す図であり、ウィンドウの表示位置の入れ替えが行われる場合に、ディスプレイ装置２１０に表示されるウィンドウの表示の流れを示す図である。即ち、図４のステップＳ４０２の判定処理で「入替」、ステップＳ４０６の判定処理で「ＹＥＳ」、ステップＳ４０７の判定処理で「ＮＯ」、ステップＳ４０８の判定処理で「ＹＥＳ」とＣＰＵ２０１が判定する場合のウィンドウ表示の流れを示している。尚、ここでは、ディスプレイ装置２１０に表示されている全てのウィンドウのサイズが同じである例について説明する。
【００４８】
図５の（１）の状態は、ウィンドウのドラッグ処理が開始されようとしている段階のウィンドウの表示の一例を示している。ここで、５０１はドラッグの対象となるウィンドウであり、５０４に示すように、ウィンドウ位置入替指定部３０１が指定された状態でドラッグ処理が開始されようとしている。また、ウィンドウ５０２は表示位置の入替対象とするウィンドウであり、ウィンドウ５０３はディスプレイ装置２１０に表示されているその他のウィンドウを示している。
【００４９】
そして、図５の（２）の状態は、ウィンドウ５０１がドラッグ処理されている間に行われるウィンドウの表示制御の例を示している。図に示す通り、５０５に示すような軌跡でドラッグ処理がなされているウィンドウ（（１）のウィンドウ５０１）は、ドラッグ処理が開始された時点での表示位置（元の位置（５０１−１が示す位置））を認識可能なように、通常のウィンドウとは表示形態を異ならせた形でのウィンドウの表示が行われるのとともに、ドラッグ処理によるウィンドウの移動の結果として、ウィンドウがどの位置にあるかを示す情報（５０１−２）も合わせて表示される。５０１−２の情報は、ウィンドウがドラッグされた箇所にどの他のウィンドウが表示されているかをユーザが認識しやすいように、ウィンドウを透過状態で表示することが望ましい。
【００５０】
図５の（３）の状態は、図５の（２）の５０６の位置でウィンドウ５０１がドロップされた結果のディスプレイ装置２１０へのウィンドウの表示例を示している。
【００５１】
（２）の５０６の位置でウィンドウ５０１のドロップ処理がなされると、ＣＰＵ２０１は、図４のステップＳ４０７の判定処理でＮＯ、ステップＳ４０８の判定処理でＹＥＳと判定することになるので、５０６の位置に表示されている他のウィンドウ（ウィンドウ５０２）とドラッグアンドドロップ処理されたウィンドウ（５０１）の表示位置を変更するよう、ウィンドウの表示制御を行うことになる。
【００５２】
その結果として、図５の（１）でウィンドウ５０２が表示されていた位置にウィンドウ５０１を、ウィンドウ５０１のドラッグ処理が開始された時のウィンドウ５０１の表示位置にウィンドウ５０２を表示するような表示制御をＣＰＵ２０１は行うことになる。
【００５３】
図６は、本発明によるウィンドウ表示制御の第２の例を示す図であり、ウィンドウの表示位置の入れ替えを行う場合のディスプレイ装置２１０に表示されるウィンドウの表示の第２の例を示している。ここでは、ドラッグ処理をされるウィンドウ（ウィンドウ６０１）のサイズと、当該ウィンドウがドロップ処理された位置に表示されているウィンドウ（ウィンドウ６０２）のサイズが異なる場合に行われる表示制御の一例について説明する。
【００５４】
図６の（１）の状態は、ウィンドウのドラッグ処理が開始されようとしている段階のウィンドウの表示の一例を示している。ここで、ドラッグ処理の対象となるウィンドウはウィンドウ６０１であり、６０４に示すように、ウィンドウ位置入替指定部３０１が指定された状態でドラッグ処理が開始されようとしている。ウィンドウ６０２は表示位置の入替対象とするウィンドウ、ウィンドウ６０３はディスプレイ装置２１０に表示されている他のウィンドウを示している。
【００５５】
図６の（２）の状態は、ウィンドウ６０１がドラッグ処理されている間に行われているウィンドウの表示制御の例を示している。ここでの表示制御は図５の（２）で説明したものと同様であるので、詳細な説明は割愛する。尚、６０５はドラッグ処理の軌跡を示している。
【００５６】
図６の（３）の状態は、図６の（２）の６０６の位置でウィンドウ６０１がドロップされた結果のディスプレイ装置２１０へのウィンドウの表示例を示している。
【００５７】
図６の（３）に示すように、ウィンドウ６０１とウィンドウ６０２の表示位置が入れ替えられるとともに、ウィンドウ６０１の表示サイズがウィンドウ６０２の元の表示サイズに、ウィンドウ６０２の表示サイズが、ウィンドウ６０１の元の表示サイズに変更されることになる。
【００５８】
この例によれば、ウィンドウの入れ替えの前後で、同一の位置に表示されているウィンドウのサイズを同じ大きさにするようなレイアウトでのウィンドウの入れ替えを行うことができ、特定の位置に表示されているウィンドウのサイズを保った形でのウィンドウの表示位置の入れ替えを容易に行うことが可能となる。
【００５９】
図７は、本発明によるウィンドウ表示制御の第３の例を示す図であり、ウィンドウの表示位置の入れ替えを行う場合のディスプレイ装置２１０に表示されるウィンドウの表示の第３の例を示している。ここでは、ドラッグ処理をされるウィンドウ（ウィンドウ７０１）のサイズと、当該ウィンドウがドロップ処理された位置に表示されているウィンドウ（ウィンドウ７０２）のサイズが異なる場合に行われる表示制御の一例について説明する。尚、この例では、図６を参照して説明した例とは異なり、入れ替え処理を行うウィンドウの元のサイズに変更を加えないようにウィンドウの表示位置を入れ替える例について説明する。
【００６０】
図７の（１）の状態は、ウィンドウのドラッグ処理が開始されようとしている段階のウィンドウの表示の一例を示している。ここで、ドラッグ処理の対象となるウィンドウはウィンドウ７０１であり、７０４に示すように、ウィンドウ位置入替指定部３０１が指定された状態でドラッグ処理が開始されようとしている。ウィンドウ７０２は表示位置の入替対象とするウィンドウ、ウィンドウ７０３はディスプレイ装置２１０に表示されている他のウィンドウを示している。
【００６１】
図７の（２）の状態は、ウィンドウ７０１がドラッグ処理されている間に行われているウィンドウの表示制御の例を示している。ここでの表示制御は図５の（２）で説明したものと同様であるので、詳細な説明は割愛する。尚、７０５はドラッグ処理の軌跡を示す。
【００６２】
図７の（３）の状態は、図７の（２）の７０６の位置でウィンドウ７０１がドロップされた結果のディスプレイ装置２１０へのウィンドウの表示例を示している。
【００６３】
図７の（３）に示すように、ウィンドウ７０１とウィンドウ７０２の表示位置が入れ替えられている。ただ、図６で説明した例とは異なり、ウィンドウ７０１及びウィンドウ７０２は入れ替えられる前のウィンドウサイズ（図７の（１）の状態のウィンドウサイズ）を保ったまま、ウィンドウの表示位置の入れ替えが行われていることが理解できよう。
【００６４】
これにより、ウィンドウの入れ替え前の夫々のウィンドウサイズを保ったまま、ウィンドウの入れ替えを容易に行うことが可能である。
【００６５】
尚、本発明では、図６、図７で説明した入れ替えのうち、どちらの方法を採用するかをあらかじめ指定することが可能であり、ウィンドウサイズが異なる場合には指定された方法に従った形でのウィンドウの入れ替えが行われる。また、ウィンドウの入れ替えを行う際に、図６、図７に示す方法の何れを採用するかをユーザの入力部操作に従い決定するようにしても勿論構わない。
【００６６】
図８は、本発明によるウィンドウ表示制御の第４の例を示す図であり、図４のステップＳ４０７でＹＥＳとＣＰＵ２０１が判定する場合のウィンドウの表示の流れについて示している。この例では、入れ替えを指定した形でウィンドウのドラッグを行った後に、当該ウィンドウの元の表示領域内でドロップされた場合の例について説明する。
【００６７】
図８の（１）の状態は、ウィンドウのドラッグ処理が開始されようとしている段階のウィンドウの表示の一例を示している。ここで、ドラッグ処理の対象となるウィンドウはウィンドウ８０１であり、８０４に示すように、ウィンドウ位置入替指定部３０１が指定された状態でドラッグ処理が開始されようとしている。ウィンドウ８０２、ウィンドウ８０３はディスプレイ装置２１０に表示されている他のウィンドウを示している。
【００６８】
図８の（２）の状態は、ウィンドウ８０１がドラッグ処理されている間に行われているウィンドウの表示制御の例を示している。ここでの表示制御は図５の（２）で説明したものと同様であるので、詳細な説明は割愛する。尚、８０５はドラッグ処理の軌跡を示す。
【００６９】
図８の（３）の状態は、図８の（２）の８０６の位置でウィンドウ８０１がドロップされた結果のディスプレイ装置２１０へのウィンドウの表示例を示している。
【００７０】
図８の（３）に示すように、ウィンドウ８０１の表示位置は、ドラッグ処理を開始する前の位置と変わっていない。これは、ウィンドウ８０１がドロップされた位置は、ウィンドウ８０１のドラッグ前の表示領域内であるためである。ウィンドウ８０１がドロップされた箇所８０６には、ウィンドウ８０１が最上位に表示されていたので、ウィンドウ８０１を入れ替え対象とした結果として、ウィンドウの表示位置を元に戻すような制御が行われる。尚、ウィンドウがドロップされた箇所がもともとそのウィンドウが表示されていた表示領域内であっても、ドロップされた箇所に他のウィンドウが表示されていたら（図８の場合にはウィンドウ８０２）、そのウィンドウと表示位置を入れ替える制御を行う方法を採用しても勿論構わない。
【００７１】
図９は、本発明によるウィンドウ表示制御の第５の例を示す図であり、図４のステップＳ４０８でＮＯとＣＰＵ２０１が判定する場合のウィンドウの表示の流れを示している。この例では、入れ替えを指定した形でウィンドウのドラッグを行った後に、他のウィンドウが表示されていない位置でドロップ処理がされた場合の例について説明する。
【００７２】
図９の（１）の状態は、ウィンドウのドラッグ処理が開始されようとしている段階のウィンドウの表示の一例を示している。ここで、ドラッグ処理の対象となるウィンドウはウィンドウ９０１であり、９０４に示すように、ウィンドウ位置入替指定部３０１が指定された状態でドラッグ処理が開始されようとしている。ウィンドウ９０２、ウィンドウ９０３はディスプレイ装置２１０に表示されている他のウィンドウを示している。
【００７３】
図９の（２）の状態は、ウィンドウ９０１がドラッグ処理されている間に行われているウィンドウの表示制御の例を示している。ここでの表示制御は図５の（２）で説明したものと同様であるので、詳細な説明は割愛する。尚、９０５はドラッグ処理の軌跡を示す。
【００７４】
図９の（３）の状態は、図９の（２）の９０６の位置でウィンドウ９０１がドロップされた結果のディスプレイ装置２１０へのウィンドウの表示例を示している。
【００７５】
図９の（３）に示すように、ウィンドウ８０１の表示位置は、ドラッグ処理を開始する前の位置と変わっていない。これは、ウィンドウ８０１がドロップされた位置に他のウィンドウ（この場合、ウィンドウ９０２、９０３）が表示されていないので、入れ替え対象のウィンドウが特定されないためである。これにより、ウィンドウの入れ替え指示をした形でウィンドウのドラッグ処理を始めても、他のウィンドウが表示されていない箇所でドロップ処理を行うことで、ウィンドウの入れ替え処理を容易にキャンセルさせることが可能となるわけである。
【００７６】
図１０は本発明によるウィンドウ表示制御の第６の例を示す図であり、図４のステップＳ４０８でＮＯとＣＰＵ２０１が判定する場合のウィンドウの表示の流れの他の例について示している。この例では、入れ替えを指定した形でウィンドウのドラッグを行った後に、他のウィンドウが表示されていない位置でドロップ処理がされた場合の他の例について説明する。
【００７７】
図１０の（１）の状態は、ウィンドウのドラッグ処理が開始されようとしている段階のウィンドウの表示の一例を示している。ここで、ドラッグ処理の対象となるウィンドウはウィンドウ９０１であり、９０４に示すように、ウィンドウ位置入替指定部３０１が指定された状態でドラッグ処理が開始されようとしている。ウィンドウ１００２、ウィンドウ１００３はディスプレイ装置２１０に表示されている他のウィンドウを示している。
【００７８】
図１０の（２）の状態は、ウィンドウ１００１がドラッグ処理されている間に行われているウィンドウの表示制御の例を示している。ここでの表示制御は図５の（２）で説明したものと同様であるので、詳細な説明は割愛する。尚、１００５はドラッグ処理の軌跡を示す。
【００７９】
図１０の（３）の状態は、図１０の（２）の１００６の位置でウィンドウ１００１がドロップされた結果のディスプレイ装置２１０へのウィンドウの表示例を示している。ここで、図１０の（２）で示す、ウィンドウ１００１のドロップされた箇所における表示領域であるウィンドウ１００１−２の表示領域は、ドラッグ処理前のウィンドウ１００１の表示位置を示すウィンドウ１００１−１と重なり合っていない。もし、ウィンドウの入れ替えのキャンセルを行うだけであれば、（２）の１００１−１のウィンドウが表示されている位置でドロップ処理を行えばよいのであり、その領域から外れた図１０の（２）の１００６の箇所までドラッグした後にドロップ処理を行いキャンセルする必要性はあまりない。
【００８０】
そこで、例えば、入れ替え指定をされた形でのウィンドウのドラッグ処理が開始され、他のウィンドウが表示されていない位置でドロップ処理がされた場合であっても、必ずしも入れ替え処理をキャンセルしなくても良い。さらに、ドラッグ開始前のウィンドウの表示領域と、ドロップ時のウィンドウの表示領域が重なっていない場合には、入れ替え処理ではなく、移動処理を行うように制御する手法を採用しても勿論構わない。
【００８１】
図１１は本発明によるウィンドウ表示制御の第７の例を示す図であり、図４のステップＳ４０６でＮＯとＣＰＵ２０１が判定する場合のウィンドウの表示の流れを示している。即ち、この例では、ウィンドウが１つしか表示されていない状態でウィンドウの入替を指定してドラッグアンドドロップが開始された場合の例について説明する。
【００８２】
図１１の（１）の状態は、ウィンドウのドラッグ処理が開始されようとしている段階のウィンドウの表示の一例を示している。図に示す通り、ディスプレイ装置２１０に表示されているウィンドウはウィンドウ１１０１のみである。そして、図１１の（１）に示すようにドラッグ処理の対象となるウィンドウはウィンドウ１１０１であり、１１０２に示すように、ウィンドウ位置入替指定部３０１が指定された状態でドラッグ処理が開始されようとしている。
【００８３】
図１１の（２）の状態は、ウィンドウ１１０１がドラッグ処理されている間に行われているウィンドウの表示制御の例を示している。ここでの表示制御は図５の（２）で説明したものと同様であるので、詳細な説明は割愛する。尚、１１０３はドラッグ処理の軌跡を示す。
【００８４】
図１１の（３）の状態は、図１１の（２）の１１０４の位置でウィンドウ１１０１がドロップされた結果のディスプレイ装置２１０へのウィンドウの表示例を示している。ウィンドウ位置入替指定部３０１が指定された状態でドラッグが開始されたが、他にウィンドウが表示されていない、即ち表示位置の入れ替えの対象となるウィンドウが存在しないので、この場合は、入れ替え指定がされてドラッグが開始された場合でも、移動処理として扱うことが好ましいため、このような方法を採用している。尚、表示装置にウィンドウが複数表示されていない場合には、ウィドウ位置入替指定部３０１を表示しないような形でウィンドウの表示を行い、複数のウィンドウが表示されて初めて夫々のウィンドウにウィンドウ入替指定部３０１を表示するよう表示制御しても勿論構わない。
【００８５】
本発明では以上のような構成をとることで、ウィンドウの表示位置の入れ替え指示を容易に行うことが可能となる。また、入れ替えに際し、ウィンドウのサイズに関する設定なども行うことが可能になる。
【００８６】
＜第２の実施の形態＞
以下、本発明の第２の実施の形態について説明する。第２の実施の形態では、最小化されたウィンドウについての表示制御について説明する。
【００８７】
まず、図１２を参照して、第２の実施の形態における情報処理装置１００の機能構成について説明する。図１２に示すように、情報処理装置１００は、ウィンドウ移動部１２０１、ウィンドウサイズ変更部１２０２、ウィンドウ入替部１２０３、ウィンドウ表示更新部１２０４等を備えている。
【００８８】
ウィンドウ移動部１２０１は、ウィンドウの表示位置を移動させるための機能部であり、通常ウィンドウ移動部１２０１−１、Ｄｏｃｋ内ウィンドウ移動部１２０２−２等を備えている。通常ウィンドウ移動部１２０１−１は、ディスプレイ上に表示されているウィンドウ（最大化ウィンドウ、Ｄｏｃｋ内ウィンドウを除く）の表示位置を変更する機能部であり、図１のウィンドウ移動部１０１と略同様の機能を有する。Ｄｏｃｋ内ウィンドウ移動部１２０１−２は、Ｄｏｃｋ領域に表示されているウィンドウの表示位置を変更するための機能部である。尚、Ｄｏｃｋ領域とは、最小化指示を受け付けたウィンドウがサムネイル表示される表示領域である。詳細は、図１３を参照して説明する。
【００８９】
ウィンドウサイズ変更部１２０２は、ウィンドウのサイズ変更指示を受け付ける機能部であり、サイズ変更指示受付部１２０２−１、最小化指示受付部１２０２−２等を備えている。サイズ変更指示受付部１２０２−１は、ウィンドウの縦、横のサイズの変更指示や、最大化表示指示を受け付ける機能部である。最小化指示受付部１２０２−２は、ウィンドウの最小化指示を受け付ける機能部である。最小化指示を受け付けると、後述するウィンドウ表示更新部１２０４により当該ウィンドウはＤｏｃｋ領域にサムネイル表示されることになる。
【００９０】
ウィンドウ入替部１２０３は、ウィンドウの表示位置の入替処理を行う機能部であり、入替指示受付部１２０３−１、入替候補特定部１２０３−２、ウィンドウ情報取得部１２０３−３、入替実行部１２０３−４を備えている。これらは既に図１を参照して説明したウィンドウ入替部１０２の入替指示受付部１０２−１、入替候補特定部１０２−２、ウィンドウ情報取得部１０２−３、入替実行部１０２−４と略同様の機能を有する。尚、第２の実施形態におけるウィンドウ入替部１２０３は、Ｄｏｃｋ領域内に表示されているウィンドウについても入替指示を受け付ける対象のウィンドウとしている。
【００９１】
ウィンドウ表示更新部１２０４は、上記のウィンドウ移動部１２０１、ウィンドウサイズ変更部１２０２、ウィンドウ入替部１２０３で受け付けた各種の指示に従って、ウィンドウの表示を更新する機能部である。以上が、第２の実施の形態の情報処理装置が備える機能の説明である。
【００９２】
次に、図１３を参照して、本発明の第２の実施形態における画面表示の一例について説明する。第２の実施形態の表示画面には、最小化指示を受け付けたウィンドウのサムネイルを表示するＤｏｃｋ領域１３０５が設定されており、その領域には、ウィンドウのサムネイル画像が表示されている。
【００９３】
また、新規受注入力画面１３１１、１３１２、１３１３、１３１４は、それぞれ異なるサービスが提供するＵＩであり、これらサービスが連動して様々な情報をユーザに提供している。尚、サムネイル状態で表示されているウィンドウについても、これらサービスと連動して様々な情報を提供するサービスが提供している。これらウィンドウはユーザが閲覧の必要性がないためユーザから入力された最小化表示指示に従い最小化表示されている。
【００９４】
図１３の新規受注入力画面１３０１は、顧客から商品の注文があった場合に、新規の受注入力を受け付けるための第１のサービスが提供する画面である。尚、この新規受注入力画面１３０１中の顧客ＣＤ入力欄１３０１−１に顧客ＣＤが入力された後に、フォーカスが顧客ＣＤ入力欄１３０１−１から離れると、その情報が顧客情報表示画面１３０２を表示する第２のサービスに渡される。
【００９５】
そして、第２のサービスは、第１のサービスから顧客ＣＤを渡されると、顧客データベースに記憶されている受信した顧客ＣＤを有する顧客情報を不図示のデータベースサーバに対して要求し、その結果得られる顧客情報を顧客情報画面１３０２のそれぞれの表示欄に表示する。
【００９６】
また、第１のサービスは、商品ＣＤ入力欄に商品ＣＤの入力を受け付けた後に、商品データベースに記憶されている当該商品ＣＤが示す商品の商品情報を不図示のデータベースに対して要求し、その結果得られる商品名、単価をそれぞれ商品名表示欄１３０１−３、単価表示欄１３０１−４に表示する。また、第１のサービスは入力された商品ＣＤを製品在庫情報画面１３０３を表示する第３のサービスに引き渡す。
【００９７】
第１のサービスから商品ＣＤを引き渡された第３のサービスは、在庫情報データベースに記憶されている当該商品ＣＤが示す商品の在庫情報を不図示のデータベースサーバに対して要求し、その結果得られる在庫情報を、製品在庫情報画面１３０３に表示する。
【００９８】
また、商品別販売実績一覧画面１３０４を提供する第４のサービスは、商品別の販売実績情報を商品別販売実績一覧画面１３０４表示している。Ｄｏｃｋ領域１３０５にサムネイルウィンドウ表示されている画面を提供するその他のサービスも実行されている。尚、サムネイル表示されているウィンドウにマウスカーソルを合わせると、ツールチップが表示され、何れの画面であるかを確認できるようになっている。
【００９９】
このように、ある作業を行う際に、その作業の参考情報を別の画面に表示して作業を行うことが広く行われている。その際には、それら画面が重ならないようにレイアウトするなどして、複数の画面の表示位置、サイズを決定することが一般的である。通常、必要としていなかった情報を表示している画面は、最小化等されていることが多い。
【０１００】
このような形で、作業に参考となる情報を表示させつつ作業を行う場合に、当初必要としていなかった画面を表示する場合、その画面を最小化表示から通常表示に切り替え、表示位置を設定し、更に画面のサイズ変更を行って、情報を閲覧しやすい画面状態を再度設定する必要があり、手間がかかっていた。第２の実施形態では、最小化ウィンドウと通常のウィンドウの表示位置を切り替えることで、当初作成した画面レイアウトを保ち、且つ、これらの手間を省く画面の表示制御処理について説明する。
【０１０１】
次に、図１４を参照して、第２の実施形態において情報処理装置１００が行うウィンドウ表示制御の概要について説明する。この処理を情報処理装置１００のＣＰＵ２０１に実行させるためのプログラムは外部メモリ２１１に保存されており、必要に応じて当該プログラムをＲＡＭ２０２にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。
【０１０２】
まず、ＣＰＵ２０１は、ウィンドウの表示制御指示を受付けたかを判定する（ステップＳ１４０１）。ウィンドウの表示制御命令とは、例えば、通常ウィンドウに対するサイズ変更指示、ウィンドウの最小化指示や、ウィンドウの移動指示、入替指示等のためのポインティングデバイス等の入力装置２０９からの操作指示を言う。
【０１０３】
ステップＳ１４０１でウィンドウの表示制御指示を受け付けた（ＹＥＳ）と判定した場合には、ＣＰＵ２０１は処理をステップＳ１４０２に進め、表示制御指示を受け付けたのがＤｏｃｋ内のウィンドウであるかを判定する。この判定処理の結果、ＮＯと判定した場合には、処理をステップＳ１４０３に、ＹＥＳと判定した場合には、処理をステップＳ１４０４に進める。尚、ステップＳ１４０３の通常ウィンドウ表示制御処理の詳細ついては図１５を、ステップＳ１４０４のＤｏｃｋ内ウィンドウ表示制御処理の詳細については図１６を参照して後述することにする。
【０１０４】
そして上記の処理を、終了指示を受け付けたと判定する（ステップＳ１４０５でＹＥＳと判定する）まで繰り返し行うことになる。以上が第２の実施形態における情報処理装置のウィンドウ制御処理の概要の説明である。
【０１０５】
次に、図１５を参照して、図１４のステップＳ１４０３の通常ウィンドウ表示制御処理の詳細について説明する。
【０１０６】
まず、情報処理装置１００のＣＰＵ２０１は、図１４のステップＳ１４０１で受け付けたと判定した表示制御指示がウィンドウに対するドラッグ指示であるかを判定する（ステップＳ１５０１）。この判定処理でＹＥＳと判定した場合には、処理をステップＳ１５０２に進め、受付けたドラッグ指示が、ウィンドウの入れ替えのためのドラッグ指示か、それともウィンドウの移動のためのドラッグ指示であるかを判定する。尚、通常ウィンドウについては、第１の実施の形態同様、例えば、図３に示すウィンドウ位置入替指定部３０１にポインティングデバイスのカーソルを合わせた状態でドラッグ処理が開始された場合にはＣＰＵ２０１はステップＳ１５０２の判定処理で「入替」と、タイトルバー３０２にカーソルを合わせた状態でドラッグ処理が開始された場合には「移動」と判定することになる。
【０１０７】
ステップＳ１５０２の判定処理で入替と判定した場合には、ＣＰＵ２０１は処理をステップＳ１５０３に進め、ドラッグが開始されたウィンドウのドラッグ開始時の位置情報を取得する。ここで取得する位置情報とは、ウィンドウの原点座標やウィンドウサイズ等がある。
【０１０８】
ウィンドウの位置情報取得終了後、ユーザのポインティングデバイス操作に従ったウィンドウのドラッグ処理に合わせたウィンドウの表示位置を制御することになる（ステップＳ１５０４）。このとき、ウィンドウのドラッグ開始前の位置と、ドラッグ処理による指定位置とをユーザが認識可能に表示することが好ましい。このとき、例えば、開始前の位置のウィンドウを通常よりも薄く表示し、ドラッグ中の位置（指定位置）には、例えば白枠等で表示する。尚、表示形態はこの例に限られず、他の表示形態を採用しても勿論構わない。
【０１０９】
その後、ユーザによるポインティングデバイス操作により、ドロップ処理が行われたかを判定する（ドロップ処理検知：ステップＳ１５０５）。ドラッグ処理を検知していない（ステップＳ１５０５でＮＯ）と判定した場合には、ステップＳ１５０４のドラッグ処理に合わせたウィンドウの表示制御処理を引き続き行うことになる。
【０１１０】
ステップＳ１５０５で、ＣＰＵ２０１がドロップ処理を検知したと判定した場合には（ステップＳ１５０５でＹＥＳ）、処理をステップＳ１５０６に進め、当該ウィンドウのドラッグアンドドロップ時に、表示装置に他のウィンドウが表示されていたかを判定する。
【０１１１】
ステップＳ１５０６の判定処理で、ＣＰＵ２０１が他のウィンドウが表示されていないと判定した場合には（ステップＳ１５０６でＮＯ）、処理をステップＳ１５１３に進める。尚、Ｄｏｃｋ領域以外に他のウィンドウが表示されていない場合には、ＣＰＵ２０１は、ステップＳ１５０６の判定処理でＮＯと判断することになる。
【０１１２】
一方、ステップＳ１５０６の判定処理でＣＰＵ２０１が他のウィンドウが表示されていると判定した場合には（ステップＳ１５０６でＹＥＳ）、処理をステップＳ１５０７に進め、ウィンドウがドロップされた位置がドラッグ開始前のウィンドウの表示領域内（ウィンドウの元の表示領域内）であるかを判定する。
【０１１３】
ステップＳ１５０７の判定処理で、ＣＰＵ２０１が、ウィンドウがドロップされた箇所が当該ウィンドウの元の表示領域内であると判定した場合には（ステップＳ１５０７でＹＥＳ）、処理をステップＳ１５０９に進め、当該ウィンドウの表示位置をドラッグ処理開始前の表示位置と決定する。
【０１１４】
一方、ステップＳ１５０７の判定処理で、ドロップされた箇所が当該ウィンドウの元の表示領域外であると判定した場合には（ステップＳ１５０７でＮＯ）、処理をステップＳ１５０８に進める。
【０１１５】
ステップＳ１５０８では、ウィンドウがドロップされた箇所に他のウィンドウが表示されているかを判定する。この判定処理で、ＣＰＵ２０１がドロップされた箇所に他のウィンドウが表示されていると判定した場合には、処理をステップＳ１５０９に、他のウィンドウが表示されていないと判定した場合には、処理をステップＳ１５１０に処理を進める。尚、ドロップされた箇所がＤｏｃｋ表示領域で、他のサムネイルウィンドウが表示されている位置でドロップ処理が行われた場合には、ＣＰＵ２０１は、ドロップされた位置に他のウィンドウが表示されていないと判断することになる。これは、サムネイル画像では表示切り替えを行う適切なウィンドウをユーザが選択することが困難であるからである。
【０１１６】
ステップＳ１５１０では、ＣＰＵ２０１は、ドラッグアンドドロップ処理がなされたウィンドウと、当該ウィンドウがドロップされた箇所に表示されている他のウィンドウの表示位置を変更すると決定する。尚、ウィンドウがドロップされた位置に複数の他のウィンドウが表示されている場合には、その中で最も上位に表示されているウィンドウを、入れ替えを行うウィンドウとして決定することになる。
【０１１７】
ステップＳ１５０２の処理で、ウィンドウの表示位置の移動を目的としてドラッグ処理が開始された（移動）と判定した場合には、ＣＰＵ２０１は、処理をステップＳ１５１１に進める。そして、他のウィンドウと表示位置を変更する目的でドラッグ処理が開始された場合と同様に、ユーザのポインティングデバイス操作に従ったウィンドウのドラッグ処理に合わせたウィンドウの表示位置を制御することになる（ステップＳ１５１１）。そして、ドロップ処理を検知すると（ステップＳ１５１２でＹＥＳ）、処理をステップＳ１５１３に進め、ドロップされた場所に当該ウィンドウを移動すると決定する。
【０１１８】
また、ステップＳ１５０１で、ウィンドウに対するドラッグ指示を受け付けたのではない（ＮＯ）と判断した場合には、ＣＰＵ２０１は処理をステップＳ１５１４に進め、受付けた表示制御指示がウィンドウの最小化指示であるか判定する。
【０１１９】
ステップＳ１５１４の判定処理でＹＥＳと判定した場合には、処理をステップＳ１５１５に進め、最小化指示を受け付けたウィンドウの表示位置及びサイズをＲＡＭ２０２に記憶する。その後、当該ウィンドウをＤｏｃｋ領域に表示するウィンドウに追加する（ステップＳ１５１６）。
【０１２０】
ステップＳ１５１４の判定処理でＮＯと判定した場合には、処理をステップＳ１５１７に進め、受付けた指示がウィンドウサイズの変更であるかを判定する。ＣＰＵ２０１は、この判定処理でＹＥＳと判定した場合には、処理をステップＳ１５１８に進め、ユーザからの操作指示に従い、当該ウィンドウのサイズの設定を行う。
【０１２１】
そして、ＣＰＵ２０１は、ステップＳ１５０９、ステップＳ１５１０、ステップＳ１５１３、ステップＳ１５１６及び、ステップＳ１５１８で決定した通りに、ウィンドウの表示制御処理を行う（ステップＳ１５１９）。即ち、ステップＳ１５１０でウィンドウの表示内容を決定した場合には、ドラッグアンドドロップ処理がなされたウィンドウと、当該ウィンドウがドロップされた箇所に表示されている他のウィンドウの表示位置を変更する表示制御処理を行う。ステップＳ１５０９でウィンドウの表示内容を決定した場合には、ドラッグアンドドロップ処理がなされたウィンドウを元の位置に表示する表示制御処理を行う。ステップＳ１５１３でウィンドウの表示内容を決定した場合には、ドラッグアンドドロップされたウィンドウをドロップされた位置に表示する表示制御処理を行う。
【０１２２】
また、ステップＳ１５１６で表示内容を決定した場合には、最小化指示を受け付けたウィンドウのサムネイル画像をＤｏｃｋ領域に追加表示することになる。ステップＳ１５１８でウィンドウサイズを変更した場合には、変更したウィンドウサイズで当該ウィンドウを表示することになる。以上が、図１４のステップＳ１４０３の通常ウィンドウの表示制御処理の詳細な説明である。
【０１２３】
次に、図１６を参照して、図１４のステップＳ１４０４のＤｏｃｋ内ウィンドウ表示制御処理の詳細について説明する。
【０１２４】
まず、ＣＰＵ２０１は、Ｄｏｃｋ内のウィンドウに対するダブルクリック指示を受け付けたかを判定する（ステップＳ１６０１）。本実施の形態では、Ｄｏｃｋ内にサムネイル表示されているウィンドウに対するダブルクリック指示を受け付けた場合、ＣＰＵ２０１は、当該サムネイルウィンドウを最小化される前の表示状態に戻す指示を受け付けたと判定することになる。
【０１２５】
ステップＳ１６０１の判定処理でＹＥＳと判定した場合には、処理をステップＳ１６０２に進め、ダブルクリック指示を受け付けたウィンドウが最小化される際にＲＡＭ２０２に記憶した（図１５のステップＳ１５１５）当該ウィンドウの表示位置及びサイズを取得し、取得した情報に従ったウィンドウ表示を行う（ステップＳ１６０２）。尚、Ｄｏｃｋ領域に表示されているウィンドウを元のサイズに戻す指示の入力方法は、ダブルクリック指示以外の方法を採用しても良いことは言うまでもない。
【０１２６】
一方、ステップＳ１６０１の判定処理でＮＯと判定した場合には、処理をステップＳ１６０３に進め、Ｄｏｃｋ内に表示されているウィンドウに対するドラッグ処理を受け付けたかを判定する（ステップＳ１６０３）。ウィンドウに対するドラッグ処理を受け付けたと判定した場合には（ステップＳ１６０３でＹＥＳ）、処理をステップＳ１６０４に進め、そのドラッグ処理が、移動を目的としたものか、それとも入替を目的としたものかを判定することになる。キーボードのＳｈｉｆｔボタンが押された状態でのドラッグ処理を受け付けた場合には移動目的、Ｃｔｒｌボタンが押された状態でのドラッグ処理を受け付けた場合には入替目的のドラッグ処理であるとＣＰＵ２０１は判定することになる。尚、いずれかのボタンが押されていない場合には、ＣＰＵ２０１は、ドラッグ処理を受け付けていないと判定することになる。
【０１２７】
ステップＳ１６０４の処理で、ＣＰＵ２０１が移動と判定した場合には、処理をステップＳ１６０５に進め、入力された指示がウィンドウの移動指示であると設定する。そして、ドラッグ処理が継続されている間、ドラッグ処理に合わせて、ドロップされた場合にウィンドウの表示個所を認識可能にすべく表示制御を行う（ステップＳ１６０６）。そして、ウィンドウがドロップされたと判定すると（ステップＳ１６０７でＹＥＳ）、ドロップ指示がされた箇所に従ってウィンドウの表示位置を決定し（ステップＳ１６０８）、決定された表示位置にドラッグアンドドロップ処理を受け付けたウィンドウを最小化される前のサイズで表示する（ステップＳ１６０９）。このサイズ情報はＲＡＭ２０２に記憶されているので、表示制御を行う際にＲＡＭ２０２からサイズ情報を取得することになる。そして、Ｄｏｃｋ領域から当該ウィンドウのサムネイル表示を削除する（ステップＳ１６１０）。
【０１２８】
ステップＳ１６０４の判定処理で、ＣＰＵ２０１が入替目的であると判定した場合には（ステップＳ１６０４で入替）、処理をステップＳ１６１１に進め、入力された指示がウィンドウの入替指示であると設定する。そしてその後、ドロップ処理を受け付ける（ステップＳ１６１３でＹＥＳと判定する）まで、ドラッグ処理に合わせた表示制御を行う（ステップＳ１６１２）。
【０１２９】
その後、ウィンドウがドロップされたと判定すると（ステップＳ１６１３でＹＥＳ）、処理をステップＳ１６１４に進め、ドロップされた位置に他のウィンドウが表示されているかを判定する。この判定処理でＣＰＵ２０１がＮＯと判定した場合には、ウィンドウの入れ替え処理を行うことなく本処理を終了する。
【０１３０】
一方、ステップＳ１６１４の判定処理でＹＥＳと判定した場合には、ＣＰＵ２０１は処理をステップＳ１６１５に進め、ドロップされた位置がＤｏｃｋ領域内であるかを判定する。ステップＳ１６１５の判定処理でＤｏｃｋ領域内であると判定した場合には、処理をステップＳ１６２０に進め、ドロップされた位置に表示されていたサムネイルウィンドウと、ドラッグアンドドロップ処理がなされたサムネイルウィンドウの表示順の入れ替えを行う。
【０１３１】
ステップＳ１６１５の判定処理で、Ｄｏｃｋ領域外であると判定した場合には、処理をステップＳ１６１６に進め、サムネイルウィンドウがドロップされた位置に表示されている通常ウィンドウを表示の入替対象のウィンドウとして設定する。そして、入替対象のウィンドウが表示された位置に、入替対象のウィンドウの表示サイズで、ドラッグアンドドロップされたウィンドウの表示を行う（ステップＳ１６１７）。
【０１３２】
その後、Ｄｏｃｋ領域からドラッグアンドドロップ処理をされたサムネイルウィンドウを削除し（ステップＳ１６１８）、その表示順で入替対象とされたウィンドウのサムネイルウィンドウをＤｏｃｋ表示領域に追加する（ステップＳ１６１９）。以上が図１４のステップＳ１４０４のＤｏｃｋ内ウィンドウの表示制御処理の詳細な説明である。
【０１３３】
ここで、図１７、図１８を参照して、第２の実施形態における画面の表示制御の一例を説明する。図１７は、Ｄｏｃｋ領域内ウィンドウの移動処理、図１８はＤｏｃｋ領域内ウィンドウと通常ウィンドウの表示入れ替えの表示制御の例を示している。
【０１３４】
Ｄｏｃｋ領域内ウィンドウの移動については、図１７の（１）に示すように、Ｄｏｃｋ領域に表示されているウィンドウＤ１７０１に対してキーボードのＳｈｉｆｔボタンが押された状態で、軌跡１７０２に示すドラッグ処理がなされた後、１７０３の位置でドロップされた場合、（２）の１７０４に示す位置に通常ウィンドウとしてウィンドウＤ１７０４が表示されることになる。また、Ｄｏｃｋ領域からはウィンドウＤのサムネイルウィンドウ表示が削除される。
【０１３５】
また、ウィンドウの入れ替えについては、図１８の（１）に示すようにＤｏｃｋ領域内に表示されているウィンドウＥ１８０１に対してキーボードのＣｔｒｌボタンが押された状態で軌跡１８０２に示すドラッグ処理がなされた後、１８０３の位置でドロップされた場合、１８０３の位置の最上位に表示されているウィンドウＤと入替を行うとＣＰＵ２０１は判断し、画面の表示位置の入れ替え処理を行うことになる。
【０１３６】
入替処理の結果は（２）に示すに、（１）のウィンドウＤが表示されていた箇所に、（１）のウィンドウＤのサイズと同じサイズでウィンドウＥ１８０４を表示することになる。また、Ｄｏｃｋ領域内でウィンドウＥのサムネイルウィンドウが表示されていた個所に、ウィンドウＥと入替処理を行ったウィンドウＤのサムネイルウィンドウ１８０５を表示するような表示制御が行われることになる。
【０１３７】
以上のように構成することで、本発明では、最小化されたウィンドウを任意の箇所に表示するよう制御したり、また、最小化ウィンドウと通常表示されているウィンドウとの表示位置の入れ替えをするよう制御したりすることが可能となる。
【０１３８】
このようにすることで、特定の作業を行う際に参考情報として他のウィンドウを表示しながら当該作業をする際に、参考情報を表示するウィンドウの表示位置の入れ替えを容易に行うことができる。
【０１３９】
また、本実施例では、最小化ウィンドウをＤｏｃｋ領域内にサムネイル表示する形態で説明したが、ウィンドウタイトル等を表示した最小化ウィンドウをタスクバーに表示する構成等を採用しても勿論構わない。
【０１４０】
また、最小化ウィンドウの表示位置の移動指示をＳｈｉｆｔボタンを押しながらのドラッグアンドドロップ処理で、最小化ウィンドウと通常ウィンドウの表示の入替指示をＣｔｒｌボタンを押しながらのドラッグアンドドロップ処理で入力するという例で説明したが、この方法に限られないことは言うまでもない。
【０１４１】
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１４２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４３】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４４】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【符号の説明】
【０１４５】
１００  情報処理装置
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０５  入力コントローラ
２０６  ビデオコントローラ
２０７  メモリコントローラ
２０８  通信Ｉ／Ｆコントローラ
２０９  入力装置
２１０  ディスプレイ装置
２１１  外部メモリ
【図１】
0005277402.tif 000002
【図２】
0005277402.tif 000003
【図３】
0005277402.tif 000004
【図４】
0005277402.tif 000005
【図５】
0005277402.tif 000006
【図６】
0005277402.tif 000007
【図７】
0005277402.tif 000008
【図８】
0005277402.tif 000009
【図９】
0005277402.tif 000010
【図１０】
0005277402.tif 000011
【図１１】
0005277402.tif 000012
【図１２】
0005277402.tif 000013
【図１３】
0005277402.tif 000014
【図１４】
0005277402.tif 000015
【図１５】
0005277402.tif 000016
【図１６】
0005277402.tif 000017
【図１７】
0005277402.tif 000018
【図１８】
0005277402.tif 000019