(57)【要約】【課題】第１メニューに対して次階層のメニューを出力する際は、その第１メニューに対して最適な配置位置に次階層メニューを自動配置できるようにすること。【解決手段】用紙サイズメモリ２６は印刷用紙のサイズを記憶し、メニュー選択情報メモリ３２は一連の階層メニューによって選択された項目の位置を記憶する。複数階層のメニューイメージをオーバラップ配置して印刷出力する際に、メニュー配置処理部３４は、用紙サイズメモリ２６に記憶された用紙のサイズと、メニュー選択情報メモリ３２に記憶された各階層のメニューイメージ上における選択項目の選択位置とを判別する。次階層メニューを配置する際、右方向への配置が可能であれば右方向に配置し、右方向への配置が不可能であれば左方向に配置する。【選択図】　　　図７
2004046871.tif 000002
【特許請求の範囲】
【請求項１】
各階層のメニュー毎に、複数のメニュー選択項目を有するメニューを出力するメニュー出力装置であって、
出力領域上の所定位置に第１メニューを配置出力する第１配置手段と、
上記第１メニューの中でメニュー選択項目の選択により次階層メニューを出力する際、上記第１メニューの中で選択されたメニュー選択項目の位置を基準にして、その右方向領域に向かって上記次階層メニュー全体を上記出力領域上に配置可能か否かを判別する判別手段と、
上記判別手段で上記右方向領域への配置が可と判別された場合には、当該右方向領域に対して上記次階層メニューを配置出力し、上記判別手段で上記右方向領域への配置が不可と判別された場合には、上記第１メニューの中で選択されたメニュー選択項目の位置を基準にして、その左方向領域に向かって上記次階層メニュー全体を上記出力領域上に配置する次階層配置手段と、
を具備することを特徴とするメニュー出力装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各階層のメニューを出力するメニュー出力装置に関する。
【０００２】
【従来の技術】
複数階層のメニューをその各階層におけるメニュー選択毎に順次階層状態で表示出力できるようにした技術として、例えば特開平３−２３３６２０号公報の技術が存在する。
【０００３】
上記技術では、各階層のメニューがその選択項目が見えるように下方向に各階層メニューをずらして表示するようにしているが、このような階層メニュー表示をした場合、深い階層のメニューにあっては、画面の下方向に入りきらなくなる可能性がある。
【０００４】
そこで上記技術では、そのような状況になった場合、メニューのタイトル部分だけを残して右下方向に向かって階段状に表示するようにしている。
【０００５】
【発明が解決しようとする課題】
しかしながら、この技術にあっては画面からメニューがあふれる場合には、各メニューの表示状態をメニュータイトル部分にするなどに変更するようにしているにすぎず、下位階層のメニュー配置として最適な配置位置を決定して配置しているわけではない。
【０００６】
従って、このような配置方式では、固定化された配置位置に下位メニューが順次表示されるにすぎず、各階層のメニューがその前階層のメニューに対して必ずしも見やすい配置状態で配置表示されているわけではない。
【０００７】
本発明の課題は、第１メニューに対して次階層のメニューを出力する際は、その第１メニューに対して最適な配置位置に次階層メニューを自動配置できるようにすることである。
【０００８】
【課題を解決するための手段】
本発明は、各階層のメニュー毎に、複数のメニュー選択項目を有するメニューを出力するメニュー出力装置であって、出力領域上の所定位置に第１メニューを配置出力する第１配置手段と、上記第１メニューの中でメニュー選択項目の選択により次階層メニューを出力する際、上記第１メニューの中で選択されたメニュー選択項目の位置を基準にして、その右方向領域に向かって上記次階層メニュー全体を上記出力領域上に配置可能か否かを判別する判別手段と、上記判別手段で上記右方向領域への配置が可と判別された場合には、当該右方向領域に対して上記次階層メニューを配置出力し、上記判別手段で上記右方向領域への配置が不可と判別された場合には、上記第１メニューの中で選択されたメニュー選択項目の位置を基準にして、その左方向領域に向かって上記次階層メニュー全体を上記出力領域上に配置する次階層配置手段と、を具備することを特徴とするメニュー出力装置。
【０００９】
【実施例】
以下、本発明の一実施例を、図１乃至図９を参照して説明する。
【００１０】
図１は本発明の一実施例のメニュー出力装置の構成を示すブロック図で、図中の参照番号１０は全体の制御を行うＣＰＵである。１２はキーボード等の入力部であり、１４はポインティングデバイスとしてのマウスである。１６はＣＲＴ等の表示部であり、１８はこの表示部に表示すべきデータを一時的に記憶する画面バッファである。２０はプリンタ等の印字部であり、２２はこの印字部で印字すべきデータを一時的に記憶する印刷バッファである。２４は上記表示部の画面サイズを記憶している画面サイズメモリ、２６は上記印字部２０によって印字される用紙のサイズを記憶する用紙サイズメモリである。
【００１１】
２８は階層メニューのイメージデータ等を記憶する階層メニューデータメモリであり、３０はこの階層メニューデータメモリに記憶されたメニューイメージデータを上記画面バッファ１８もしくは印刷バッファ２２に供給すると共に、入力部１２或はマウス１４により選択された項目に応じて上記階層メニューデータメモリ２８から次階層のメニューイメージデータを読出して、上記バッファ１８，２２に供給するメニュー選択実行処理部である。３２は、上記入力部１２或はマウス１４により選択された項目の位置を記憶するメニュー選択情報メモリである。
【００１２】
そして、３４は複数階層のメニューイメージをオーバラップ配置して表示或は印刷出力する際に、メニューイメージ上における選択項目位置が隠れないように配置する処理を行うメニュー配置処理部であり、３６はこのメニュー配置処理部３４の処理動作中の一時記憶などのために用いられるワークメモリである。
【００１３】
上記メニュー選択メモリ３２は、図２に示すように、各メニュー階層毎に、選択された項目の位置、つまりどの選択項目が選択されたかを示す選択番号を記憶する。この選択番号は、１階層分のメニューイメージを、図３に示すように４つの領域Ａ〜Ｄに分け、各領域をさらに４つに分けた位置を示す。
【００１４】
次に、このような構成に於ける動作を説明する。
【００１５】
ここで、メニュー選択情報メモリ３２には、一連の階層メニューでの選択動作により各階層に於ける選択項目の位置を示す選択番号が既に記憶されているものとする。そして、その一連の選択状態を一つの図として印刷出力するための所定のキー操作が入力部１２でなされると、メニュー配置処理部３４は、図４の動作フローチャートに示すようにして、そのような図を自動作成する。
【００１６】
即ちまず、用紙サイズメモリ２６に記憶された用紙サイズに基づいてワークメモリ２６上に構成したビットマップメモリ上の所定位置に、初期メニューイメージを配置する（ステップＳ１０）。
【００１７】
次に、メニュー選択情報メモリ３２から次の階層に於ける選択番号を読み出し（ステップＳ１１）、それが領域Ａ〜Ｄのどの領域に当たるか判別する（ステップＳ１２）。そして、その判別した領域に対応する配置処理を実行して、ワークメモリ２６上のビットマップメモリに複数階層のメニューイメージをオーバラップ配置する（ステップＳ１３〜Ｓ１６）。その後、メニュー選択情報メモリ３２に、さらに次のメニュー階層の選択番号があれば（ステップＳ１７）、上記ステップＳ１１に戻って、上記の処理を繰り返す。
【００１８】
こうして、選択済みの全てのメニューイメージの配置が終了したならば、オーバラップ配置した複数階層のメニューイメージを１つのイメージとして、ビットマップメモリ上で、左右方向センタリング処理及び上下方向センタリング処理を行って中央に配置した後（ステップＳ１８）、それを印刷バッファ２２に転送して、印字部２０で印刷出力する（ステップＳ１９）。
【００１９】
これにより、その印刷出力は、図５に示すようになる。同図に於いて、ハッチングを付した項目（例えば「３１　業務補助メニュー」）が選択された項目であり、これら選択された項目が隠れることなく、複数階層のメニューイメージがオーバラップ配置されることができる。
【００２０】
ここで、次の階層に於ける選択番号が領域Ａにある場合の処理である上記ステップＳ１３の領域Ａ配置処理を、図６のフローチャートを参照して説明する。
【００２１】
まず、次の階層のメニューイメージを当該階層のメニューイメージの領域Ｄから配置した場合に、用紙つまりビットマップメモリの横方向にはみ出してしまうかを判別し（ステップＳ２０）、はみ出さない場合には、さらに用紙の縦方向にはみ出さないかを判別する（ステップＳ２１）。縦方向にもはみ出さない場合には、図７の（Ａ）に示すように、次の階層のメニューイメージを当該階層のメニューイメージの領域Ｄから配置する（ステップＳ２２）。また、縦方向にはみ出してしまう場合には、図７の（Ｂ）に示すように、領域Ｄの位置から用紙に納まるまで上方向にシフトして配置する（ステップＳ２３）。
【００２２】
一方、領域Ｄから配置すると横方向にはみ出してしまう場合には、次の階層のメニューイメージを当該階層のメニューイメージの領域Ｃから配置した場合に、用紙の横方向にはみ出してしまうかを判別し（ステップＳ２４）、はみ出さない場合には、さらに用紙の縦方向にはみ出さないかを判別する（ステップＳ２５）。縦方向にもはみ出さない場合には、図７の（Ｃ）に示すように、次の階層のメニューイメージを当該階層のメニューイメージの領域Ｃから配置する（ステップＳ２６）。また、縦方向にはみ出してしまう場合には、図７の（Ｄ）に示すように、領域Ｃの位置から選択項目の下の位置まで上方向にシフトして配置する（ステップＳ２７）。
【００２３】
一方、領域Ｃから配置したとしても横方向にはみ出してしまう場合には、図７の（Ｅ）に示すように、領域Ｃの位置から用紙に納まるまで右方向にシフトして配置する（ステップＳ２８）。その後、さらに用紙の縦方向にはみ出さないかを判別し（ステップＳ２９）、はみ出すのであれば、図７の（Ｆ）に示すように、現在位置から選択項目の下の位置まで上方向にシフトして配置する（ステップＳ３０）。
【００２４】
また、次の階層に於ける選択番号が領域Ｂにある場合の処理である上記ステップＳ１４の領域Ｂ配置処理は、この領域Ａ配置処理とほぼ同様にして行われることができるので、その詳細は省略し、領域Ａ配置と異なる部分のみを説明する。即ち、領域Ｂ配置処理においては、上記ステップＳ２３の処理が領域Ｄの位置から選択項目の下の位置まで上方向にシフトして配置する処理となり、ステップＳ２７の処理が領域Ｃの位置から用紙に納まるまで上方向にシフトして配置する処理となる。
【００２５】
次に、次の階層に於ける選択番号が領域Ｃにある場合の処理である上記ステップＳ１５の領域Ｃ配置処理を、図８のフローチャートを参照して説明する。
【００２６】
まず、次の階層のメニューイメージを当該階層のメニューイメージの領域Ｄから配置した場合に、用紙つまりビットマップメモリの横方向にはみ出してしまうかを判別し（ステップＳ４０）、はみ出さない場合には、さらに用紙の縦方向にはみ出さないかを判別する（ステップＳ４１）。縦方向にもはみ出さない場合には、図９の（Ａ）に示すように、次の階層のメニューイメージを当該階層のメニューイメージの領域Ｄから配置する（ステップＳ４２）。また、縦方向にはみ出してしまう場合には、図９の（Ｂ）に示すように、領域Ｄの位置から用紙に納まるまで上方向にシフトして配置する（ステップＳ４３）。
【００２７】
一方、領域Ｄから配置すると横方向にはみ出してしまう場合には、図９の（Ｃ）に示すように、領域Ｄの位置から選択項目の右の位置まで左方向にシフトして配置する（ステップＳ４４）。その後、さらに用紙の縦方向にはみ出さないかを判別し（ステップＳ４５）、はみ出すのであれば、図９の（Ｄ）に示すように、現在位置から用紙に納まるまで上方向にシフトして配置する（ステップＳ４６）。
【００２８】
また、次の階層に於ける選択番号が領域Ｄにある場合の処理である上記ステップＳ１６の領域Ｄ配置処理は、この領域Ｃ配置処理とほぼ同様にして行われることができる。即ち、図８のフローチャート中の「領域Ｄ」が「領域Ｃ」に置き換えられるだけである。
【００２９】
なお、以上の説明は、印刷出力の場合を例に説明したが、表示部１６の表示画面上に対するメニューイメージ配置の場合、即ち表示出力の場合も同様にして行うことができる。
【００３０】
また、上記実施例では、下位階層のメニューイメージが上に重なるように配置したが、その逆（上位階層メニューイメージが上になる）であっても良い。
【００３１】
さらに、上記実施例では、用紙の縦方向にはみ出す場合の上方向シフト配置は、新たにオーバラップ配置しようとする次階層メニューイメージに対して行うようにしたが、さらに前の階層のオーバラップ部分に余裕があれば、そちらを優先して行うなどすれば、用紙の下方のメニューイメージ間だけが詰まった配置となることを防ぐことができる。
【００３２】
【発明の効果】
本発明によれば、第１メニューに対して次階層メニューを出力する際は、当該第１メニューの中で選択されるメニュー選択項目の位置を基準にして、次階層メニューの配置位置としては最適な配置領域が自動決定されて配置出力することができる。
【図面の簡単な説明】
【図１】本発明の一実施例のメニュー出力装置のブロック構成図である。
【図２】メニュー選択情報メモリの記憶フォーマットを示す図である。
【図３】メニューイメージに於ける領域分けを説明するための図である。
【図４】印刷動作のフローチャートである。
【図５】印刷出力結果を示す図である。
【図６】領域Ａ配置処理のフローチャートである。
【図７】（Ａ）乃至（Ｆ）はそれぞれ領域Ａ配置処理の結果を示す図である。
【図８】領域Ｃ配置処理のフローチャートである。
【図９】（Ａ）乃至（Ｄ）はそれぞれ領域Ｃ配置処理の結果を示す図である。
【符号の説明】
１０…ＣＰＵ、１２…入力部、１４…マウス、１６…表示部、１８…画面バッファ、２０…印字部、２２…印刷バッファ、２４…画面サイズメモリ、２６…用紙サイズメモリ、２８…階層メニューデータメモリ、３０…メニュー選択実行処理部、３２…メニュー選択情報メモリ、３４…メニュー配置処理部、３６…ワークメモリ。
【図１】
2004046871.tif 000003
【図２】
2004046871.tif 000004
【図３】
2004046871.tif 000005
【図４】
2004046871.tif 000006
【図５】
2004046871.tif 000007
【図６】
2004046871.tif 000008
【図７】
2004046871.tif 000009
【図８】
2004046871.tif 000010
【図９】
2004046871.tif 000011