JP2007206828A - 印刷処理システム、およびプリンタドライバプログラム - Google Patents

印刷処理システム、およびプリンタドライバプログラム Download PDF

Info

Publication number
JP2007206828A
JP2007206828A JP2006022811A JP2006022811A JP2007206828A JP 2007206828 A JP2007206828 A JP 2007206828A JP 2006022811 A JP2006022811 A JP 2006022811A JP 2006022811 A JP2006022811 A JP 2006022811A JP 2007206828 A JP2007206828 A JP 2007206828A
Authority
JP
Japan
Prior art keywords
display
dialog box
printer driver
application
displayed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006022811A
Other languages
English (en)
Other versions
JP4428344B2 (ja
Inventor
Masao Takatsu
眞男 高津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2006022811A priority Critical patent/JP4428344B2/ja
Priority to US11/669,498 priority patent/US20070177179A1/en
Publication of JP2007206828A publication Critical patent/JP2007206828A/ja
Application granted granted Critical
Publication of JP4428344B2 publication Critical patent/JP4428344B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】印刷設定入力用のダイアログボックスを表示する際に、利用者が必要とする設定項目を従来より簡単に表示できるようにした印刷処理システム、およびプリンタドライバプログラムを提供すること。
【解決手段】アプリケーションは、プリンタドライバの印刷設定ダイアログに関する情報を取得し(S101)、取得した情報をサブメニューとして含む階層構造のメニューを構成する(S103)。そのメニューをPCの表示部に表示した際(S105〜S119)、上記サブメニュー内の項目へフォーカスが移動したら(S117:YES、S121)、フォーカスが移動した項目に対応するサブページを指定して印刷設定ダイアログの仮表示をプリンタドライバへ指令する(S123)。これにより、プリンタドライバが指定されたサブページが見えるように印刷設定ダイアログボックスを表示する。
【選択図】図5

Description

本発明は、情報処理装置上で機能するアプリケーションおよびプリンタドライバが連携して、情報処理装置からプリンタへ印刷データを送信する処理を実行するように構成された印刷処理システムと、この印刷処理システムを構成するために必要なプリンタドライバとして情報処理装置を機能させるためのプリンタドライバプログラムに関する。
パーソナルコンピュータ(以下、PCと略称する。)等の情報処理装置には、多くの場合、プリンタドライバと呼ばれるソフトウェアが組み込まれている。このプリンタドライバは、通常、プリンタの機種毎(あるいはメーカー毎)に専用のものが用意され、情報処理装置上で機能するアプリケーションにおいて印刷機能が利用された場合には、アプリケーションと連携して情報処理装置からプリンタへ印刷データを送信する処理を実行している。
また、この種のプリンタドライバは、一般に、印刷に関する各種設定項目(例えば、用紙サイズ、印刷方向、印刷枚数、拡大/縮小印刷、カラー/モノクロ印刷、解像度等々)の設定値を利用者が入力するために利用するユーザーインターフェース(以下、UIと略称する。)を持っている。
例えば、下記特許文献1に記載のプリンタドライバの場合、印刷設定入力用のUIとして、複数のサブページを備えたダイアログボックスを表示することができる(特許文献1:図4参照)。このようなUIを備えていれば、利用者は、各サブページの上部に設けられたタブの選択操作(例えば、ポインティングデバイスを使ってタブをクリックする操作)を行うことにより、ダイアログボックス内に表示されるサブページを切り替えて、各ページに設けられた設定項目に設定値を入力することができた。
特開2000−187568号公報
しかしながら、上記のような複数のサブページを備えたダイアログボックスは、従来、ダイアログボックスを表示した際に最初に表示されるサブページ(以下、初期表示ページと称する。)が特定のページに決まっていたため、使い勝手が悪いという問題があった。
より具体的には、例えば、利用者がある印刷項目の設定を変更したい場合に、その印刷項目が初期表示ページ以外のサブページにあることがわかっているとしても、従来は、ダイアログボックスの表示をした際に必ず初期表示ページが表示されてしまう。そのため、初期表示ページ以外のサブページを利用したい場合に、どうしてもタブの選択操作が必要となり、その分操作が煩雑になる、という欠点があった。
また、例えば、利用者がある印刷項目の設定を変更したい場合に、その印刷項目がどのサブページにあるのかわからないこともあるが、そのような場合には、一旦ダイアログボックスを表示した後、試行錯誤で何度も別のタブを選択する操作を行わなければならなかった。そのため、所望の設定項目が含まれるサブページを、従来より簡単に表示できるようなUIが望まれていた。
本発明は、上記問題を解決するためになされたものであり、その目的は、印刷設定入力用のダイアログボックスを表示する際に、利用者が必要とする設定項目を従来より簡単に表示できるようにした印刷処理システムと、そのような印刷処理システムを構成するために必要なプリンタドライバとして情報処理装置を機能させるためのプリンタドライバプログラムを提供することにある。
以下、本発明において採用した特徴的構成について説明する。
本発明の印刷処理システムは、情報処理装置上で機能するアプリケーションおよびプリンタドライバが連携して、前記情報処理装置からプリンタへ印刷データを送信する処理を実行するように構成された印刷処理システムであって、前記プリンタドライバは、前記アプリケーションからの指令に応じて、印刷設定に関するダイアログボックスを表示可能で、前記ダイアログボックスを表示する際には、複数のグループに分類された設定項目の内、前記アプリケーションから指定された1つのグループに属する前記設定項目を、初期表示内容として表示可能なダイアログボックス表示手段を備え、前記アプリケーションは、前記複数のグループそれぞれに対応する複数のグループ情報を取得するグループ情報取得手段と、階層構造を持つメニューを表示可能で、前記メニュー内には、前記プリンタドライバに対して前記ダイアログボックスの表示を指令するために用意された印刷指令項目が含まれており、前記印刷指令項目にフォーカスを移動させる操作が行われた際には、前記グループ情報取得手段によって取得された前記複数のグループ情報を、前記印刷指令項目のサブメニューとして表示するメニュー表示手段と、前記メニュー表示手段が表示した前記メニュー中において、前記複数のグループ情報のいずれかにフォーカスを移動させる操作が行われる毎に、前記フォーカスが移動した1つの前記グループ情報に対応する前記グループを指定して前記プリンタドライバに前記ダイアログボックスの表示を指令するダイアログボックス表示指令手段とを備えたことを特徴とする。
この印刷処理システムにおいて、アプリケーションが備えるグループ情報取得手段は、どこからグループ情報を取得するように構成されていてもよいが、一例を挙げれば、例えば、プリンタドライバのインストール時等にレジストリ(OS(Operating System)が管理する記憶領域)にグループ情報が登録されるようになっていれば、そのレジストリからグループ情報を取得するとよい。この他には、アプリケーションからアクセス可能なファイルにグループ情報が保存されていれば、そのファイルからグループ情報を読み込んでもよいし、情報処理装置においてプリンタドライバ関連のプロセスが常駐していれば、そのプロセスとのプロセス間通信により、グループ情報を受信するようにしてもよい。
また、アプリケーションが備えるメニュー表示手段において、階層構造を持つメニューを表示可能な点は、従来技術と同じであるが、メニュー内にある印刷指令項目にフォーカスを移動させる操作が行われた際、グループ情報取得手段によって取得された複数のグループ情報を印刷指令項目のサブメニューとして表示する点で、従来技術とは相違する。すなわち、グループ情報は、プリンタドライバが表示するダイアログに関する情報であり、従来はアプリケーション側では全く認識していない情報であったが、そのようなグループ情報をアプリケーション側で取得して、アプリケーションが表示するメニューの一部として表示する点が、従来技術とは相違する。
そして、このようなメニュー表示手段が表示したメニュー中において、複数のグループ情報のいずれかにフォーカスを移動させる操作が行われる毎に、ダイアログボックス表示指令手段は、フォーカスが移動した1つのグループ情報に対応するグループを指定して、プリンタドライバにダイアログボックスの表示を指令する。そのため、メニュー中に表示された複数のグループ情報のいずれかにフォーカスを移動させるだけで、各グループに属する設定項目が初期表示内容として含まれるダイアログボックスが表示されることになる。
以上のように構成された印刷処理システムによれば、アプリケーションが表示するメニュー上においてフォーカスを移動させる操作を行うだけで、プリンタドライバに印刷設定に関するダイアログを表示させることができる。しかも、ダイアログ内において複数のグループに分類された設定項目については、アプリケーションが表示するメニュー上においてフォーカスを移動させる操作を行うだけで、表示されるグループを任意に切り替えることができる。
したがって、ダイアログを表示した後に、ダイアログ内においてタブの選択操作を行わざるを得なかった従来技術に比べ、操作性が高くなり、使い勝手がよくなる。また、どのグループに所望の設定項目が含まれるのかを利用者が判断できない場合でも、アプリケーションが表示するメニュー上においてフォーカスを移動させる操作を行うだけで、所望の設定項目が含まれるグループを表示できるので、きわめて簡単に所望の設定項目に辿り着くことができる。
ところで、本発明の印刷処理システムにおいて、前記プリンタドライバは、前記アプリケーションから受けた指令が、仮表示指令であるか本表示指令であるかを判定する表示指令種別判定手段と、前記表示指令種別判定手段によって前記アプリケーションから本表示指令を受けたと判定した場合には、前記ダイアログボックス表示手段による前記ダイアログボックスの表示を行った後、前記ダイアログボックス内にあるコントロールに対する操作を受け付けて、前記設定項目の内容を変更する一方、前記表示指令種別判定手段によって前記アプリケーションから仮表示指令を受けたと判定した場合には、前記ダイアログボックス表示手段による前記ダイアログボックスの表示を行った後、前記ダイアログボックス内にあるコントロールに対する操作を受け付けないことにより、前記設定項目の内容の変更を禁止する設定変更制限手段とを備え、前記アプリケーションが備える前記ダイアログボックス表示指令手段は、前記メニュー表示手段が表示した前記メニュー中において、前記複数のグループ情報のいずれかにフォーカスを移動させる操作が行われる毎に、前記プリンタドライバに対して前記仮表示指令を送る一方、前記複数のグループ情報のいずれかにフォーカスを移動させた後、そのグループ情報の選択を決定する操作が行われた場合には、前記プリンタドライバに対して前記本表示指令を送るように構成されていると好ましい。
このように構成された印刷処理システムによれば、フォーカス移動操作が行われた時点では、設定項目の内容を変更不能な仮表示が行われ、決定操作が行われた時点で、設定項目の内容を変更可能な本表示が行われるので、決定操作を行っていないにもかかわらず、設定項目の内容の変更が行われてしまうような事態を、未然に防ぐことができる。
また、本発明の印刷処理システムにおいて、前記プリンタドライバは、前記アプリケーションから受けた指令が、消去指令であるか否かを判定する消去指令判定手段と、前記消去指令判定手段によって前記アプリケーションから消去指令を受けたと判定した場合に、表示中の前記ダイアログボックスを消去するダイアログボックス消去手段とを備え、前記アプリケーションは、前記プリンタドライバに対して前記仮表示指令を送った後、前記メニュー表示手段が表示した前記メニュー中において、別の項目へフォーカスを移動させる操作が行われた場合に、前記プリンタドライバに対して前記消去指令を送るように構成されていると好ましい。
このように構成された印刷処理システムによれば、別の項目へフォーカスを移動させる操作が行われると仮表示が消えるので、複数のグループ情報のいずれかへフォーカスが移動している期間内のみ仮表示を行うことができ、別の項目へフォーカスが移動したにもかかわらず、仮表示だけが残ってしまうようなことがない。
また、本発明の印刷処理システムにおいて、前記プリンタドライバが備える前記ダイアログボックス表示手段は、前記ダイアログボックス内に、前記複数のグループそれぞれに対応する複数のページを重ねて表示可能で、利用者の操作によって前記複数のページのいずれかが選択された際には、選択された1つのページを利用者側から見て最も手前に重ねて表示するように構成されており、前記アプリケーションから前記ダイアログボックスの表示を指令された際に1つの前記グループが指定された場合には、前記アプリケーションから指定された1つのグループに対応する前記ページを、利用者側から見て最も手前に重ねて表示することにより、当該1つのグループに属する前記設定項目を前記初期表示内容として表示するように構成されていると好ましい。
このように構成された印刷処理システムによれば、利用者がページを切り替えて各グループに分類された設定項目を操作でき、しかも、どのページを最初に表示するのかを、メニュー上でのフォーカス移動操作によって指定することができるので、必ず特定のページが表示されてしまうような従来技術とは異なり、利用者が所望のページに簡単にアクセスできる。
次に、本発明のプリンタドライバプログラムは、情報処理装置上で機能するアプリケーションと連携して、前記情報処理装置からプリンタへ印刷データを送信する処理を実行するプリンタドライバとして、前記情報処理装置を機能させるためのプリンタドライバプログラムであって、前記情報処理装置を、前記アプリケーションからの指令に応じて、印刷設定に関するダイアログボックスを表示可能で、前記ダイアログボックスを表示する際には、複数のグループに分類された設定項目の内、前記アプリケーションから指定された1つのグループに属する前記設定項目を、初期表示内容として表示可能なダイアログボックス表示手段として機能させることを特徴とする。
このように構成されたプリンタドライバプログラムに従って、情報処理装置をプリンタドライバとして機能させれば、請求項1に記載の印刷システムが備えるプリンタドライバとして情報処理装置を機能させることができるので、請求項1に記載の印刷システムが備えるアプリケーションとともに、請求項1に記載の印刷処理システムを構成することができる。
なお、本発明のプリンタドライバプログラムは、さらに、前記情報処理装置を、前記アプリケーションから受けた指令が、仮表示指令であるか本表示指令であるかを判定する表示指令種別判定手段と、前記表示指令種別判定手段によって前記アプリケーションから本表示指令を受けたと判定した場合には、前記ダイアログボックス表示手段による前記ダイアログボックスの表示を行った後、前記ダイアログボックス内にあるコントロールに対する操作を受け付けて、前記設定項目の内容を変更する一方、前記表示指令種別判定手段によって前記アプリケーションから仮表示指令を受けたと判定した場合には、前記ダイアログボックス表示手段による前記ダイアログボックスの表示を行った後、前記ダイアログボックス内にあるコントロールに対する操作を受け付けないことにより、前記設定項目の内容の変更を禁止する設定変更制限手段として機能させるように構成されていると好ましい。
このように構成されたプリンタドライバプログラムに従って、情報処理装置をプリンタドライバとして機能させれば、請求項2に記載の印刷システムが備えるプリンタドライバとして情報処理装置を機能させることができるので、請求項2に記載の印刷システムが備えるアプリケーションとともに、請求項2に記載の印刷処理システムを構成することができる。
また、本発明のプリンタドライバプログラムは、さらに、前記情報処理装置を、前記アプリケーションから受けた指令が、消去指令であるか否かを判定する消去指令判定手段と、前記消去指令判定手段によって前記アプリケーションから消去指令を受けたと判定した場合に、表示中の前記ダイアログボックスを消去するダイアログボックス消去手段として機能させるように構成されていると好ましい。
このように構成されたプリンタドライバプログラムに従って、情報処理装置をプリンタドライバとして機能させれば、請求項3に記載の印刷システムが備えるプリンタドライバとして情報処理装置を機能させることができるので、請求項3に記載の印刷システムが備えるアプリケーションとともに、請求項3に記載の印刷処理システムを構成することができる。
また、本発明のプリンタドライバプログラムにおいて、前記ダイアログボックス表示手段は、前記ダイアログボックス内に、前記複数のグループそれぞれに対応する複数のページを重ねて表示可能で、利用者の操作によって前記複数のページのいずれかが選択された際には、選択された1つのページを利用者側から見て最も手前に重ねて表示するように構成されており、前記アプリケーションから前記ダイアログボックスの表示を指令された際に1つの前記グループが指定された場合には、前記アプリケーションから指定された1つのグループに対応する前記ページを、利用者側から見て最も手前に重ねて表示することにより、当該1つのグループに属する前記設定項目を前記初期表示内容として表示する手段となるように構成されていると好ましい。
このように構成されたプリンタドライバプログラムに従って、情報処理装置をプリンタドライバとして機能させれば、請求項4に記載の印刷システムが備えるプリンタドライバとして情報処理装置を機能させることができるので、請求項4に記載の印刷システムが備えるアプリケーションとともに、請求項4に記載の印刷処理システムを構成することができる。
次に、本発明の実施形態について一例を挙げて説明する。
[システム全体の構成]
図1は、パーソナルコンピュータ1(以下、PC1という)と、このPC1に接続されたプリンタ2とを備えたシステムの概略構成を示すブロック図である。
このシステム内に含まれるPC1は、本発明でいう情報処理装置に相当し、このPC1上で機能するアプリケーションおよびプリンタドライバが連携して、PC1からプリンタ2へ印刷データを送信する処理を実行するように構成された印刷処理システムとして機能するようになっている。
このシステムの内、PC1は、図1に示すように、CPU11、ROM12、RAM13、ハードディスク装置14(以下、HDD14という)、操作部15、表示部16、およびUSB(Universal Serial Bus)インターフェース17(以下、USB I/F17という)などを備えている。
CPU11は、ROM12やRAM13に記憶されたプログラムに従って、PC1各部に対する制御および各種演算を実行する装置で、後述するアプリケーションとしての処理やプリンタドライバとしての処理は、このCPU11によって実行される。
ROM12は、PC1の電源スイッチを切っても記憶内容を保持可能な記憶装置で、BIOS(Basic Input Output System)や通常であれば更新されない読み出し用のデータ等を記憶している。
RAM13は、CPU11から直接アクセスされるメインメモリ等として利用される記憶装置である。このRAM13には、OS(Operating System)や各種アプリケーションなどのソフトウェアがHDD14から読み込まれ、また、CPU11による各種演算の結果やHDD14から読み込まれたデータもRAM13に記憶されるようになっている。後述するアプリケーションとしての処理やプリンタドライバとしての処理を実行する際には、各処理をCPU11に実行させるためのプログラム(アプリケーションプログラムやプリンタドライバプログラム)がHDD14からRAM13に読み込まれ、RAM13に記憶されたプログラムに従って、CPU11が各処理を実行することになる。
HDD14は、OS、各種アプリケーションプログラム、および各種データファイルを保存しておくための装置で、上記アプリケーションプログラムやプリンタドライバプログラムもHDD14に保存されている。
操作部15は、利用者からの各種指示を入力するための入力装置であり、例えば、キーボードや各種ポインティングデバイス(例えば、マウス)等によって構成される。
表示部16は、各種情報を利用者に提示するための出力装置であり、例えば、カラー画像を表示可能な液晶ディスプレイ等によって構成される。
USB I/F17は、プリンタおよびその他の周辺機器を接続可能なシリアルインターフェースである。
なお、本実施形態において、PC1には、マルチタスク機能を備えたOSが搭載され、複数のプロセスが並列に機能するとともに、それら複数のプロセスが連携して各種処理を実行するようになっている。本発明の印刷処理システムを構成するアプリケーションおよびプリンタドライバも、それぞれがOSの制御下で機能する1または2以上のプロセスにより構成され、それらアプリケーションのプロセスおよびプリンタドライバのプロセスが連携して、PC1からプリンタ2へ印刷データを送信する処理を実行する。また、PC1に搭載されたOSは、マルチウィンドウ機能を備え、後述するアプリケーションおよびプリンタドライバは、それぞれのUIとなるウィンドウをOSの制御下で表示するようになっている。以上のような機能を有するOSの具体例としては、Windows(登録商標)、MacOS(登録商標)などを挙げることができる。この種のOSが備える各種機能そのものは公知なので、ここでの詳細な説明は省略するが、以下の説明においては、PC1が、上記のようなOSによって提供される各種機能を有するとの前提で説明を続ける。
プリンタ2は、CPU21、ROM22、RAM23、HDD24、操作キー25、表示パネル26、USB I/F27、印字部29などを備えている。
CPU21は、ROM22に記憶されている制御プログラムに従ってプリンタ2各部の制御および各種演算を実行する装置である。
ROM22は、プリンタ2の電源スイッチを切っても記憶内容を保持可能な記憶装置で、上記制御プログラムの他、通常であれば更新されない読み出し用の各種データを記憶している。
RAM23は、CPU21から直接アクセスされるメインメモリ等として利用される記憶装置で、CPU21が処理中に算出する各種データなどが一時的にRAM23に記憶されるようになっている。
HDD24は、RAM23だけでは記憶しきれない大きなサイズのデータを記憶するための記憶装置である。
操作キー25は、利用者がマニュアル操作でプリンタ2に対して指令を与える場合に操作する入力装置である。
表示パネル26は、小型液晶ディスプレイによって構成された装置で、プリンタ2の設定や状態などの情報を表示できるようになっている。
USB I/F27は、PCを接続可能なシリアルインターフェースである。
印字部29は、シート状の媒体(例えば記録用紙)を給紙部から排紙部へと搬送する搬送機構、この搬送機構による搬送経路の途中で前記媒体に対して画像を記録する記録機構などによって構成される。
[印刷処理システムが備えるUIの概要]
次に、PC1上で機能する印刷処理システムが備えるUIの概要について、図2〜図4に基づいて説明する。
図2は、PC1の表示部16に表示される画面(アプリケーションのウィンドウ、およびプリンタドライバのダイアログ)の遷移と、画面遷移の契機となるイベントないし操作とを併記した説明図である。また、図3は、アプリケーションのウィンドウ内に表示されるメニューを例示した説明図、図4は、プリンタドライバの表示するダイアログボックスを例示した説明図である。
以下の説明においては、ポインティングデバイスとしてマウスを使用するものとし、マウスのボタンを押す操作をマウスDown操作、マウスのボタンを放す操作をマウスUp操作と呼ぶ。また、マウスDown操作後にマウスUp操作をしないままマウスカーソルを移動させる操作をマウスDrag操作と呼ぶ。さらに、短時間で続けてマウスDown操作およびマウスUp操作を行うことをクリック操作と呼ぶ。なお、周知の通り、一般に、PCにおける各種マウス操作は、キーボード等、他の入力デバイスを使っても同等な代替操作を実現できるように構成されていることが多く、本実施形態においても、上記マウスDown操作、マウスUp操作、マウスDrag操作、クリック操作がなされたとPC1が認識するような代替操作を、他の入力デバイスを使って実施できる。ただし、他の入力デバイスで代替操作ができること自体は本発明の要部ではなく、また、他の入力デバイスによる代替操作をすべて説明すると煩雑になるので、以下の説明においては、マウスによる操作のみを説明し、他の入力デバイスによる代替操作については、その具体的な説明を省略する。
さて、図2に示した各画面は、図中左上にあるアプリケーションメイン画面を起点として遷移するもので、このアプリケーションメイン画面は、PC1においてアプリケーションを起動した際、アプリケーションがPC1の表示部16に表示する。
このアプリケーションメイン画面内においては、利用者が「File」メニュー選択操作を行うことにより、アプリケーションが表示する画面を、図2中に示した<メニュー1>へと遷移させることができる。より詳しくは、図3(a)に示すように、PC1の表示部16には、マウス操作に応じて移動するマウスカーソル31や、メニューバー32を備えたアプリケーションメイン画面が表示されている。ここで、利用者がマウスを操作してマウスカーソル31でメニューバー32の中にある「File」33をポイントし、マウスDown操作を行った場合に、「File」メニュー選択操作を行ったことになる。そして、この「File」メニュー選択操作が行われると、PC1の表示部16には「File」メニュー34が表示され、その結果、図2中に示した<メニュー1>へ遷移したことになる。この「File」メニュー34の中には、「Print」35が他の項目とともに表示される。
次に、この状態で、利用者がマウスDrag操作を行うことにより、アプリケーションが表示する画面を、図2中に示した<メニュー1>から<メニュー2>へと遷移させることができる。より詳しくは、図3(b)に示すように、上記「File」メニュー選択操作に相当するマウスDown操作に引き続いて、利用者がマウスDrag操作を行って、マウスカーソル31を「File」メニュー34内へと移動させると、「File」メニュー34内にはマウスカーソル31に追従して移動するフォーカス36が現れ、このフォーカス36を「Print」35へと移動させると、「Print」35の隣に「Print」サブメニュー37が表示され、その結果、図2中に示した<メニュー2>へ遷移したことになる。この「Print」サブメニュー37の中には、「Base」38、「Advanced」39、および「Page Setup」40といった項目が表示される。これら「Print」サブメニュー37内の各項目は、後述する印刷設定ダイアログボックス内に、どのようなサブページがあるのかを示している。なお、詳しくは後述するが、ここで表示される「Base」、「Advanced」、および「Page Setup」といった文字列は、プリンタドライバがレジストリに登録した情報であるが、その情報をアプリケーションがレジストリから取得して、「Print」サブメニュー37の中に表示している。
次に、この状態で、利用者が引き続きマウスDrag操作を行うことにより、アプリケーションが表示する画面を、図2中に示した<メニュー2>から<メニュー3>へと遷移させることができる。より詳しくは、図3(c)に示すように、利用者が既に行っているマウスDrag操作を継続して、マウスカーソル31を「Print」サブメニュー37内へと移動させると、「Print」サブメニュー37内にはマウスカーソル31に追従して移動するフォーカス41が現れ、このフォーカス41を「Base」38へと移動させると、その結果、図2中に示した<メニュー3>へ遷移したことになる。
また、アプリケーションの表示する画面が、図2中に示した<メニュー2>から<メニュー3>へと遷移した場合、その時点で、アプリケーションはプリンタドライバに対してダイアログの仮表示を指令し、この指令を受けたプリンタドライバは、図4(a)に示す印刷設定ダイアログボックス51を仮表示する。詳しくは後述する処理の説明の中でも触れるが、本実施形態において、仮表示とは、印刷設定ダイアログボックス51内にある各種コントロール(例えば、リストボックス、チェックボックス、テキストボックス、ラジオボタン等)への入力操作を受け付けない状態で、印刷設定ダイアログボックス51の表示を行うことを意味する。すなわち、通常の表示の場合は、印刷設定ダイアログボックス51内にある各種コントロールへの入力操作を受け付けるが、仮表示の場合は、この入力操作を受け付けない。なお、本明細書中において、このような通常の表示と仮表示とを明確に区別して説明したい場合には、通常の表示のことを本表示と称する。
プリンタドライバが表示する印刷設定ダイアログボックス51内には、「Base」サブページ52、「Advanced」サブページ53、「Page Setup」サブページ54、Cancelボタン55、およびPrintボタン56などが設けられている。そして、「Base」サブページ52、「Advanced」サブページ53、および「Page Setup」サブページ54には、図4(a)〜同図(c)に示すように、類似した機能毎にグループ分けされた設定項目について、各設定項目の設定値を入力ないし選択するための各種コントロールが設けられている。
ただし、「Base」サブページ52、「Advanced」サブページ53、および「Page Setup」サブページ54は重ねて表示されるようになっており、いずれか1つのサブページだけが利用者側から見て最も手前に重なるように表示される。詳しくは後述する処理の説明の中でも触れるが、どのサブページを最も手前に重なるように表示すべきかは、アプリケーション側で指定し、プリンタドライバは、アプリケーションから指定されたサブページを最も手前に重ねて表示する。
図2中に示した<メニュー3>への遷移に伴って、印刷設定ダイアログボックス51が表示される場合、アプリケーションは「Base」サブページ52を指定する。これは、フォーカス41が移動した「Base」38に対応するサブページが、「Base」サブページ52となっているからである。その結果、印刷設定ダイアログボックス51は、「Base」サブページ52が利用者側から見て最も手前に重なるように表示されることになる。なお、以下の説明では、図4(a)に示すように「Base」サブページ52が利用者側から見て最も手前に重なるように表示された状態を<ダイアログ1>、図4(b)に示すように「Advanced」サブページ53が利用者側から見て最も手前に重なるように表示された状態を<ダイアログ2>、図4(c)に示すように「Page Setup」サブページ54が利用者側から見て最も手前に重なるように表示された状態を<ダイアログ3>と呼ぶ。
さて次に、以上のような状態で、利用者が引き続きマウスDrag操作を行うことにより、アプリケーションが表示する画面を、図2中に示した<メニュー3>から<メニュー4>へと遷移させることができる。より詳しくは、図3(d)に示すように、利用者が既に行っているマウスDrag操作を継続して、フォーカス41を「Advanced」39へと移動させると、その結果、図2中に示した<メニュー4>へ遷移したことになる。
また、アプリケーションの表示する画面が、図2中に示した<メニュー3>から<メニュー4>へと遷移した場合、その時点で、アプリケーションはプリンタドライバに対してダイアログの仮表示を指令し、この指令を受けたプリンタドライバは、図4(b)に示す印刷設定ダイアログボックス51を仮表示する。その結果、プリンタドライバの仮表示する画面は、図2中に示した<ダイアログ1>から<ダイアログ2>へ遷移することになる。
さらに、この状態で、利用者が引き続きマウスDrag操作を行うことにより、アプリケーションが表示する画面を、図2中に示した<メニュー4>から<メニュー5>へと遷移させることができる。より詳しくは、図3(e)に示すように、利用者が既に行っているマウスDrag操作を継続して、フォーカス41を「Page Setup」40へと移動させると、その結果、図2中に示した<メニュー5>へ遷移したことになる。
また、アプリケーションの表示する画面が、図2中に示した<メニュー4>から<メニュー5>へと遷移した場合、その時点で、アプリケーションはプリンタドライバに対してダイアログの仮表示を指令し、この指令を受けたプリンタドライバは、図4(c)に示す印刷設定ダイアログボックス51を仮表示する。その結果、プリンタドライバの仮表示する画面は、図2中に示した<ダイアログ2>から<ダイアログ3>へ遷移することになる。
以上のような<メニュー1>から<メニュー5>に至る画面遷移は、利用者が既に行っているマウスDrag操作を継続する限り続くことになり、その中で<メニュー3>、<メニュー4>、または<メニュー5>への画面遷移が発生すると、各画面遷移が発生する毎に<ダイアログ1>、<ダイアログ2>、または<ダイアログ3>が仮表示されることになる。
一方、アプリケーションの表示する画面が<メニュー3>、<メニュー4>、または<メニュー5>へ遷移したところで、マウスDrag操作を行っていた利用者がマウスUp操作を行うと、その場合は、「Base」38、「Advanced」39、または「Page Setup」40の選択操作が確定したことになる。これら「Base」38、「Advanced」39、および「Page Setup」40は、いずれもプリンタドライバに対して印刷設定ダイアログボックス51の表示を指令するために用意された印刷指令項目のサブメニューであり、これらいずれかの選択操作が確定した場合は、プリンタドライバの表示する画面が、<ダイアログ1>、<ダイアログ2>、または<ダイアログ3>いずれかの仮表示から本表示へと遷移する。このとき、<ダイアログ1>を仮表示していれば<ダイアログ1>の本表示へと遷移し、<ダイアログ2>を仮表示していれば<ダイアログ2>の本表示へと遷移し、<ダイアログ3>を仮表示していれば<ダイアログ3>の本表示へと遷移する。また、このとき、アプリケーションが表示する画面においては、「File」メニュー34以降の階層型メニュー全体(図3に示した例では、「File」メニュー34および「Print」サブメニュー37)が消去される。
印刷設定ダイアログボックス51が本表示された場合、仮表示の場合とは異なり、印刷設定ダイアログボックス51内にある各種コントロールへの入力操作は受け付けられる状態となる。したがって、以降は、従来技術と全く同様に、印刷設定ダイアログボックス51内での各種操作を行うことができる。
例えば、利用者が印刷設定ダイアログボックス51内にある「Base」サブページ52、「Advanced」サブページ53、または「Page Setup」サブページ54のいずれかを選択する操作(=各サブページの上部にあるタブをマウスでクリックする操作)を行えば、印刷設定ダイアログボックス51の表示内容を、<ダイアログ1>、<ダイアログ2>、または<ダイアログ3>のいずれかへ切り替えることができる。また、各サブページ内に設けられた各種コントロールへの入力操作により、利用者が所望の印刷設定を行ったら、印刷設定ダイアログボックス51内にあるPrintボタン56をクリックすることにより、プリンタ2への印刷出力を指令することができる。こうしてプリンタ2への印刷出力が指令された場合、従来技術と同様に、アプリケーションおよびプリンタドライバは、連携してPC1からプリンタ2へ印刷データを送信する処理を実行する。また、このとき、プリンタドライバは、印刷設定ダイアログボックス51を消去する。なお、アプリケーションが表示するアプリケーションメイン画面は、PC1の表示部16に残されることになる。
ちなみに、<メニュー2>へ遷移した後、その時点で利用者がマウスUp操作を行った場合、アプリケーションが表示する画面においては、「File」メニュー34以降の階層型メニュー全体(図3に示した例では、「File」メニュー34および「Print」サブメニュー37)が消去され、プリンタドライバは<ダイアログ1>を本表示する。つまり、<ダイアログ1>を本表示させたい場合に限り、<メニュー2>へ遷移した後に、直ちにマウスUp操作を行ってもよい。ただし、<メニュー2>へ遷移した後に、直ちにマウスUp操作を行った場合、上述の仮表示は行われず、この挙動は、従来技術においてアプリケーションからプリンタドライバのUIを呼び出す場合と同じ挙動になる。
[アプリケーションおよびプリンタドライバが実行する処理]
次に、上記のような画面遷移を伴うUIを実現するためにアプリケーションおよびプリンタドライバが実行する処理について、図5および図6のフローチャートに基づいて説明する。図5に示す処理は、PC1において、利用者が所定の操作を行ってアプリケーションを起動した際に、アプリケーションのプロセスとして実行される処理であり、以下の説明においては、アプリケーション処理と称する。また、図6は、アプリケーション処理の中でプリンタドライバに対して印刷設定ダイアログの表示が指令された際に、プリンタドライバのプロセスとして実行される処理であり、以下の説明においては、プリンタドライバ処理と称する。
アプリケーション処理を開始すると、図5に示すように、PC1は、まず、デフォルトプリンタドライバの情報を取得する(S101)。デフォルトプリンタドライバの情報は、そのプリンタドライバをPC1にインストールした際に、PC1のレジストリに登録されており、S101の処理では、デフォルトプリンタドライバの情報をレジストリから取得する。ここで取得されるデフォルトプリンタドライバの情報は、図7(a)に示すような情報群である。これらの情報の内、「Printサブメニュー表示構成」は、上述した「Print」サブメニュー37の中に選択肢として表示される情報であり、これは、印刷設定ダイアログボックス51内にある3つのサブページを示す情報でもある。また、「印刷設定ダイアログ処理モジュールポインタ」および「印刷実行処理モジュールポインタ」は、プリンタドライバ内に含まれる「印刷設定ダイアログ処理モジュール」、「印刷実行処理モジュール」へのポインタで、後述する処理の中では、これらのポインタが示すアドレスを指定して各処理モジュールを呼び出すことにより、プリンタドライバに対して各処理の実行を指令することになる。
続いて、PC1は、S101の処理で取得した「Printサブメニュー表示構成」に基づいて、「Print」メニューのツリー構造を設定する(S103)。図7(a)に例示した「Printサブメニュー表示構成」の場合、階層構造が1階層で、その階層内に3つの選択肢が含まれているので、アプリケーションが表示する「Print」メニューの構造も、1階層の「Print」サブメニュー37が用意され、その階層内に3つの選択肢(「Base」38、「Advanced」39、および「Page Setup」40)が用意される。
次に、PC1は、「File」メニューの選択イベントがあるか否かを判断し(S105)、「File」メニューの選択イベントがない場合は(S105:NO)、その他の処理を実行し(S107)、S105の処理へと戻る。このS105〜S107のループ処理の中で、「File」メニューの選択イベントがあった場合は(S105:YES)、S109の処理へと移行する。「File」メニューの選択イベントは、上述の「File」メニュー選択操作に相当するマウスDown操作によって発生し、マウスDown操作に伴うイベントが発生したことは、OSによって検出されてアプリケーションに通知される。なお、S107の処理(その他の処理)は、「File」メニューの選択イベントがない場合に実行される様々な処理を包含しており、このS107の処理の中で、さらに様々な別のイベントに対応する処理が実行される。ただし、それらの処理は本発明の要部には関連しない処理となるので、以下、本発明の要部に関連しない処理は、すべて「その他の処理」とのみ説明し、その詳細な説明を省略することにする。
さて、S109の処理へ移行すると、PC1は、「File」メニュー34を表示して(S109)、「Print」メニューの選択イベントがあるか否かを判断し(S111)、「Print」メニューの選択イベントがない場合は(S111:NO)、その他の処理を実行し(S113)、S111の処理へと戻る。このS111〜S113のループ処理の中で、「Print」メニューの選択イベントがあった場合は(S111:YES)、S115の処理へと移行する。「Print」メニューの選択イベントは、上述のフォーカス36を「Print」35へと移動させる操作に相当するマウスDrag操作によって発生し、マウスDrag操作に伴うイベントが発生したことは、OSによって検出されてアプリケーションに通知される。
S115の処理へ移行すると、PC1は、「Print」35をフォーカスして、サブメニュー(本実施形態の場合、「Print」サブメニュー37)を表示して(S115)、サブメニューの選択イベントがあるか否かを判断し(S117)、サブメニューの選択イベントがない場合は(S117:NO)、その他の処理を実行し(S119)、S117の処理へと戻る。このS117〜S119のループ処理の中で、サブメニューの選択イベントがあった場合は(S117:YES)、S121の処理へと移行する。サブメニューの選択イベントは、上述のフォーカス41を「Base」38、「Advanced」39、または「Page Setup」40のいずれかへと移動させる操作に相当するマウスDrag操作によって発生し、マウスDrag操作に伴うイベントが発生したことは、OSによって検出されてアプリケーションに通知される。なお、上述のフォーカス41を「Base」38、「Advanced」39、または「Page Setup」40のいずれかへと移動させる操作が行われる前の段階で、マウスUp操作が行われることにより、マウスDrag操作が中断されると、S119の処理へ移行する。この場合、S119の処理の中では、仮表示を行うことなく印刷設定ダイアログボックス51の本表示を行う処理が行われることになるが、既に説明した通り、仮表示を行うことなく本表示を行う処理自体は、従来技術と差異がない処理になるので、詳細な説明は省略する。
さて、S121の処理へ移行すると、PC1は、サブメニュー(=「Base」38、「Advanced」39、または「Page Setup」40のいずれか)をフォーカスして、タブ(ページ)選択番号を設定する(S121)。このS121の処理は、後述するS123の処理で引数となる値を設定する処理で、ここで設定されるタブ(ページ)選択番号は、フォーカス41が「Base」38へ移動している場合は「1」、「Advanced」39へ移動している場合は「2」、「Page Setup」40へ移動している場合は「3」とされる。これらのタブ(ページ)選択番号「1」〜「3」は、プリンタドライバ側で規定した値であるが、その値は、S101の処理によってレジストリから取得した「Printサブメニュー表示構成」の中に含まれているので、プリンタドライバ側と整合する適切な値をアプリケーション側でも使用することができる。
続いて、PC1は、印刷設定ダイアログ処理(1:仮表示)を実行する(S123)。このS123の処理では、具体的には、S101の処理によってレジストリから取得した「印刷設定ダイアログ処理モジュールポインタ」が示す処理モジュールを呼び出すことにより、プリンタドライバに対して、印刷設定ダイアログボックス51の仮表示を指令する。このとき、アプリケーションからプリンタドライバへは、図7(b)に示す2つの引数が渡される。一方は、S121の処理で設定したタブ(ページ)選択番号であり、仮表示させるべきサブページに応じて「1」〜「3」のいずれかとなる。もう一方は、ダイアログに関する処理内容を指定するための値(以下、処理番号ともいう。)であり、仮表示をしたい場合は「1」、印刷設定(=本表示)をしたい場合は「2」、ダイアログ表示を終了(ダイアログを消去)したい場合は「0」となるが、S123の処理では仮表示を指定するので、処理番号は「1」となる。
なお、S123の処理を実行することにより、このアプリケーション処理と並行してプリンタドライバ処理(図6参照)が実行され、これにより、印刷設定ダイアログボックス51の仮表示が行われることになるが、プリンタドライバ処理の詳細については後述することにする。
さて、S123の処理を終えたら、PC1は、サブメニューの決定イベントがあるか否かを判断し(S125)、サブメニューの決定イベントがない場合は(S125:NO)、引き続いて、サブメニューの選択が外れたか否かを判断する(S127)。そして、サブメニューの選択が外れていない場合は(S127:NO)、その他の処理を実行し(S129)、S125の処理へと戻る。このS125〜S129のループ処理の中で、サブメニューの決定イベントがあった場合は(S125:YES)、S131の処理へと移行する。サブメニューの決定イベントは、上述のフォーカス41を「Base」38、「Advanced」39、または「Page Setup」40のいずれかへと移動させた後のマウスUp操作によって発生し、マウスUp操作に伴うイベントが発生したことは、OSによって検出されてアプリケーションに通知される。
S131の処理へ移行すると、PC1は、メニュー表示を終了して、タブ(ページ)選択番号を設定する(S131)。このS131の処理は、後述するS133の処理で引数となる値を設定する処理で、ここで設定されるタブ(ページ)選択番号は、上記S121の処理で設定された値と同じ値が用いられる。
続いて、PC1は、印刷設定ダイアログ処理(2:印刷設定)を実行する(S133)。このS133の処理では、上記S123の処理と同様、S101の処理によってレジストリから取得した「印刷設定ダイアログ処理モジュールポインタ」が示す処理モジュールを呼び出す。ただし、S133の処理では、上記S123の処理とは異なる引数が用いられる。具体的には、アプリケーションからプリンタドライバへ、図7(b)に示す2つの引数が渡される点は、上記S123の処理と同じであるが、S123の処理では仮表示を指定するために「1」としていた処理番号を、S133の処理では印刷設定(=本表示)を指定するために「2」とする。なお、もう一方の引数は、S131の処理で設定したタブ(ページ)選択番号となるが、これは、S121の処理で設定したタブ(ページ)選択番号と同じ値になる。
なお、S133の処理を実行することにより、このアプリケーション処理と並行してプリンタドライバ処理(図6参照)が実行され、これにより、印刷設定ダイアログボックス51での印刷設定(=本表示)が行われることになるが、プリンタドライバ処理の詳細については後述することにする。
さて、S133の処理を実行した後、PC1は、プリンタドライバ側の処理終了を待って、その返り値のチェックを行う(S135)。ここで、プリンタドライバ側からは、利用者の操作に応じて異なる返り値がアプリケーション側に返される。具体的には、後から詳述するプリンタドライバ処理で、図4(a)〜同図(c)のいずれかに示す印刷設定ダイアログボックス51を表示(=本表示)した後、利用者の操作により、Cancelボタン55がクリックされた場合には、プリンタドライバ側からアプリケーション側へ返り値0が返される。一方、利用者の操作により、Printボタン56がクリックされた場合には、プリンタドライバ側からアプリケーション側へ返り値1が返される。
S133の処理において、返り値が1であった場合(S135:=1)、これは利用者から印刷処理の実行が指令されたことを意味するので、その場合は、印刷実行処理を実行する(S137)。このS137の処理では、具体的には、S101の処理によってレジストリから取得した「印刷実行処理モジュールポインタ」が示す処理モジュールを呼び出すことにより、プリンタドライバに対して印刷実行を指令する。
なお、指令を受けたプリンタドライバ側では、アプリケーション側からの出力データ、およびプリンタドライバが表示した印刷設定ダイアログボックス51での設定に基づいて、プリンタ2での印刷出力に必要な印刷データを生成する処理、その印刷データをスプーラ経由でプリンタ2へと送出する処理などが行われるが、これら一連の処理は、従来技術と差異のない処理になるので、図示および詳細な説明を省略する。
こうしてS137の処理を終えたら、S105の処理へと戻ることにより、再びS105以降の処理を繰り返すことになる。
一方、上記S133の処理において、返り値が0であった場合は(S135:=0)、これは利用者から印刷処理のキャンセルが指令されたことを意味するので、その場合は、S137の処理をスキップして、そのままS105の処理へと戻ることにより、再びS105以降の処理を繰り返すことになる。
ところで、上述したS125〜S129のループ処理の中では、サブメニューの選択が外れたと判断されることもある(S127:YES)。この場合、PC1は、印刷設定ダイアログ処理(0:終了)を実行する(S139)。このS139の処理では、上記S123またはS133の処理と同様、S101の処理によってレジストリから取得した「印刷設定ダイアログ処理モジュールポインタ」が示す処理モジュールを呼び出す。ただし、S139の処理では、上記S123およびS133の処理とは異なる引数が用いられる。具体的には、アプリケーションからプリンタドライバへ、図7(b)に示す2つの引数が渡される点は、上記S123およびS133の処理と同じであるが、S139の処理では終了(=消去)を指定するために処理番号を「0」とする。なお、もう一方の引数は、S139の処理では意味がないので、適当な値(例えば0)を指定しておけばよい。
なお、S133の処理を実行することにより、このアプリケーション処理と並行してプリンタドライバ処理(図6参照)が実行され、これにより、印刷設定ダイアログボックス51の表示終了(=消去)が行われることになるが、プリンタドライバ処理の詳細については後述することにする。
S133の処理を終えたら、PC1は、その他の処理を実行し(S141)、S117の処理へと戻る。このS141の処理では、マウスカーソル31の位置に応じて、不要なメニューや不要なフォーカスを消去する処理なども行われる。
つまり、S117の処理へと戻る前に、S139の処理により、仮表示されていた印刷設定ダイアログボックス51は消去され、また、S141の処理により、マウスカーソル31が外れた不要なメニューや不要なフォーカスも消去されることになる。ただし、サブメニューの選択が外れたのに伴って、別のサブメニューが選択されていれば、S117の処理で肯定判断がなされ、その結果、再び印刷設定ダイアログボックス51が仮表示されるので、この場合、利用者からは、印刷設定ダイアログボックス51の仮表示内容が切り替わったように見えることになる。なお、サブメニューの選択が外れた際、別のサブメニューも選択されていなければ、S117の処理で否定判断がなされるので、その場合、利用者からは、印刷設定ダイアログボックス51の仮表示が終了したように見える。
次に、以上説明したようなアプリケーション処理において、S123、S133、またはS139いずれかの処理によってプリンタドライバが呼び出されたときに、プリンタドライバが実行するプリンタドライバ処理について、図6のフローチャートに基づいて説明する。
プリンタドライバ処理を開始すると、図6に示すように、PC1は、まず、処理番号が0であるか否かを判断する(S201)。この処理番号は、上記アプリケーション処理中のS123、S133、またはS139の各処理によってプリンタドライバが呼び出されたときに、アプリケーション側から引数として渡される値で、S123の処理の場合は「1」、S133の処理の場合は「2」、またはS139の処理の場合は「0」が渡される。
すなわち、S201の処理において、処理番号が0ではないと判断された場合(S201:NO)、アプリケーション側からダイアログボックスの仮表示または本表示のいずれかが指令されていることを意味する。そこで、この場合、PC1は、アプリケーション側からもう一つの引数として渡されたタブ番号により、表示ページ(=利用者側から見て最も手前側に重ねて表示されるページ)を確定する(S203)。そして、その表示ページ中に設けられたコントロール(例えば、リストボックス、チェックボックス、テキストボックス、ラジオボタン等)に設定項目の値をセットして(S205)、印刷設定ダイアログボックス51を表示する(S207)。このS207の処理により、PC1の表示部16には印刷設定ダイアログボックス51が表示されることになる。
S207の処理を実行したら、続いて、PC1は、処理番号が1であるか否かを判断する(S209)。S209の処理において、処理番号が1ではないと判断された場合(S209:NO)、アプリケーション側からダイアログボックスの本表示が指令されていることを意味する。そこで、この場合、PC1は、印刷設定ダイアログボックス51内のコントロールに対する操作がなされたか否かを判断し(S211)、コントロール操作がない場合は(S211:NO)、S211の処理へと戻り、このS211のループ処理により、利用者がコントロールの操作を行うまで待機する。
そして、このS211のループ処理の中で、利用者がコントロールの操作を行った場合(S211:YES)、PC1は、ダイアログ終了か否かを判断する(S213)。このS213の処理では、印刷設定ダイアログボックス51中にあるコントロールの内、Cancelボタン55またはPrintボタン56がクリックされていた場合に、ダイアログ終了と判断し、他のコントロールに対する操作が行われていた場合には、ダイアログ終了ではないと判断する。
S213の処理においてダイアログ終了ではないと判断した場合(S213:NO)、PC1は、各コントロールの状態を変更し(S215)、S211の処理へと戻ることにより、引き続きコントロール操作を受け付ける。これにより、S213の処理においてダイアログ終了ではないと判断され続ける限り、S211〜S215のループ処理が何度でも繰り返されることになり、印刷設定ダイアログボックス51中にある複数のコントロールに関し、利用者が任意に行う操作を何回でも受け付けることになる。
一方、S213の処理においてダイアログ終了と判断した場合(S213:YES)、PC1は、利用者から印刷が指令されたか否かを判断する(S217)。このS217の処理では、印刷設定ダイアログボックス51中にあるコントロールの内、Cancelボタン55がクリックされていた場合に印刷が指令されたと判断し、Printボタン56がクリックされていた場合に印刷は指令されていないと判断する。
S217の処理において印刷が指令されたと判断した場合(S217:YES)、PC1は、コントロールの状態を各設定項目に保存する(S219)。このS219の処理により、コントロール操作によって印刷設定ダイアログボックス51内でのみ表示上変更されていた各種設定値は、各設定値毎に決められた記憶領域(例えば、レジストリ、あるいは、今回分の印刷処理を実行するための一時記憶領域)に保存されることになる。なお、ここで保存された値は、例えば、上記S137の処理でアプリケーションからプリンタドライバに対して印刷実行が指令された際にプリンタドライバが参照することになる。
そして、S219の処理を終えたら、アプリケーションに返す返り値として1をセットして(S221)、印刷設定ダイアログボックス51を閉じて(S223)、プリンタドライバ処理を終了する。
一方、S217の処理において印刷は指令されていないと判断した場合(S217:NO)、PC1は、アプリケーションに返す返り値として0をセットして(S225)、上記S223の処理へと移行することにより、印刷設定ダイアログボックス51を閉じて(S223)、プリンタドライバ処理を終了する。すなわち、S217の処理において印刷は指令されていないと判断した場合は、S219の処理に相当する処理を実行せず、S221の処理とは異なる返り値をセットして、プリンタドライバ処理を終了する。この場合、コントロール操作によって印刷設定ダイアログボックス51内で表示上変更されていた各種設定値が仮にあったとしても、それらの設定値は各設定値毎に決められた記憶領域には保存されず、印刷設定ダイアログボックス51内での設定変更は行われなかったことになる。
さて、以上説明した処理の流れが、アプリケーション側からダイアログボックスの本表示が指令された場合の処理の流れとなるが、アプリケーション側からダイアログボックスの仮表示が指令されていた場合、上記S209の処理では肯定判断がなされることになる。すなわち、S209の処理において、処理番号が1であると判断され(S209:YES)、この場合、PC1は、そのままプリンタドライバ処理を終了する。
このようなかたちでプリンタドライバ処理を終了すると、S207の処理により、PC1の表示部16には印刷設定ダイアログボックス51が表示されたままになるものの、上述したS211〜S223の処理は一切実行されないことになる。そのため、仮に利用者が印刷設定ダイアログボックス51内のコントロールに対する操作(例えば、各種選択操作、文字入力操作)を行ったとしても、それらの操作は無視されて受け付けられないことになる。つまり、S209の処理により、アプリケーションから受けた指令が仮表示指令であるか本表示指令であるかを判定してコントロール操作を受け付けるか否かを振り分け、仮表示指令の場合にはコントロールに対する操作を受け付けないことで設定変更を禁止し、本発明でいう仮表示を実現している。
さらに、以上説明した処理の流れは、いずれも上記S201の処理で否定判断がなされた場合の処理の流れとなるが、アプリケーション側からダイアログボックスの消去が指令されていた場合、上記S201の処理では肯定判断がなされることになる。すなわち、S201の処理において、処理番号が0であると判断され(S201:YES)、この場合、PC1は、印刷設定ダイアログボックス51を閉じて(S227)、プリンタドライバ処理を終了する。
以上説明したようなプリンタドライバ処理、および先に説明したアプリケーション処理の双方が、PC1によって実行され、その結果、PC1の表示部16に表示される画面(アプリケーションのウィンドウ、およびプリンタドライバのダイアログ)は、図2に示したように遷移することになる。
[効果]
以上説明した通り、上記PC1によれば、アプリケーションが表示するメニュー(より具体的には、「Print」サブメニュー37)上においてフォーカス41を移動させる操作を行うだけで、プリンタドライバに印刷設定ダイアログボックス51を仮表示させることができる。しかも、印刷設定ダイアログボックス51内において複数のグループに分類された設定項目については、アプリケーションが表示するメニュー上においてフォーカス41を「Base」38、「Advanced」39、または「Page Setup」40のいずれかへ移動させる操作を行うだけで、印刷設定ダイアログボックス51内に仮表示されるサブページを、「Base」サブページ52、「Advanced」サブページ53、または「Page Setup」サブページ54のいずれかに切り替えることにより、仮表示されるグループを任意に切り替えることができる。
したがって、印刷設定ダイアログボックスを表示した後に、印刷設定ダイアログボックス内においてタブの選択操作を行わざるを得なかった従来技術に比べ、操作性が高くなり、使い勝手がよくなる。また、どのグループに所望の設定項目が含まれるのかを利用者が判断できない場合でも、アプリケーションが表示するメニュー上においてフォーカス41を移動させる操作を行うだけで、仮表示される印刷設定ダイアログボックス51内に、所望の設定項目が含まれるグループを仮表示できるので、きわめて簡単に所望の設定項目に辿り着くことができる。
また、上記PC1において、印刷設定ダイアログボックス51の表示形態としては、フォーカス41を移動させるためのマウスDrag操作が行われている時点では、設定項目の内容を変更不能な仮表示が行われ、選択肢を決定するためのマウスUp操作が行われた時点で、設定項目の内容を変更可能な本表示が行われる。したがって、決定操作を行っていないにもかかわらず、設定項目の内容の変更が行われてしまうような事態を、未然に防ぐことができる。
また、上記PC1によれば、上記S127、S139、S141の処理により、別の項目へフォーカスを移動させる操作が行われると仮表示が消えるので、「Base」38、「Advanced」39、または「Page Setup」40(本発明でいう複数のグループ情報に相当)のいずれかへフォーカスが移動している期間内のみ仮表示を行うことができ、別の項目へフォーカスが移動したにもかかわらず、仮表示だけが残ってしまうようなことがない。
[変形例等]
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
例えば、上記実施形態においては、メニュー上の項目へフォーカスを移動させる操作をマウスDrag操作とし、フォーカスが移動した項目の選択を決定(確定)する操作をマウスUp操作としていたが、各操作を別の操作に対応づけてもよい。具体的には、例えば、メニュー上の項目へフォーカスを移動させる操作を、マウスDown操作を行わないままマウスカーソルを移動させる操作として、フォーカスが移動した項目の選択を決定(確定)する操作をクリック操作としてもよい。この場合でも、メニュー上の項目へフォーカスを移動させる操作を行うだけで、上述の実施形態同様、印刷設定ダイアログボックス51が仮表示されるので、このような仮表示が行われない従来技術とは異なり、印刷設定ダイアログボックス51内にある所望のサブページへのアクセスが容易になる。
また、上記実施形態では、「File」メニュー34内にある「Print」35が、PC1のデフォルトプリンタに対応づけられている場合について説明したが、「Print」35が複数のプリンタに対応していて、その下位に設けられたサブメニューで1台のプリンタが選択できるようなメニュー構造になっていてもよい。より具体的には、例えば、図8に示すように、「File」メニュー34内にある「Print」35にフォーカス36を移動させる操作が行われた場合に、プリンタ選択サブメニュー61が表示されるようにし、このプリンタ選択サブメニュー61の中に複数のプリンタ名が表示されるようにする。そして、プリンタ選択サブメニュー61の中で、フォーカス63を1つのプリンタ名に移動させる操作が行われたら、その1つのプリンタ名のサブメニューとして、上記実施形態で説明した「Print」サブメニュー37相当のサブメニューを表示するように構成する。このように構成すれば、複数のプリンタについて、各プリンタ毎に印刷設定ダイアログの仮表示を行うことができる。
また、上記実施形態では、印刷設定ダイアログボックス51内に設けられた複数のサブページに関し、タブを選択する操作によって最前面に表示されるサブページを切り替えるようにしてあったが、サブページの具体的形態は任意であり、例えば、タブの無いサブページを利用する場合でも、本発明の構成を適用することができる。
アプリケーションおよびプリンタドライバが機能するPCと、このPCに接続されたプリンタの概略構成を示すブロック図。 PCの表示部に表示される画面の遷移と、画面遷移の契機となるイベントないし操作とを併記した説明図。 アプリケーションのウィンドウ内に表示されるメニューを例示した説明図。 プリンタドライバの表示するダイアログボックスを例示した説明図。 アプリケーション処理のフローチャート。 プリンタドライバ処理のフローチャート。 アプリケーションまたはプリンタドライバが利用するデータを示し、(a)はアプリケーションが取得するプリンタドライバの情報を示す説明図、(b)はアプリケーションからプリンタドライバへ渡される引数を示す説明図。 変形例としてのメニューを示す説明図。
符号の説明
1・・・パーソナルコンピュータ(PC)
2・・・プリンタ
11,21・・・CPU
12,22・・・ROM
13,23・・・RAM
14・・・ハードディスク装置(HDD)
15・・・操作部
16・・・表示部
17・・・USBインターフェース(USB I/F)
25・・・操作キー
26・・・表示パネル
29・・・印字部
31・・・マウスカーソル
32・・・メニューバー
34・・・「File」メニュー
36,41,63・・・フォーカス
37・・・「Print」サブメニュー
51・・・印刷設定ダイアログボックス
52・・・「Base」サブページ
53・・・「Advanced」サブページ
54・・・「Page Setup」サブページ
55・・・Cancelボタン
56・・・Printボタン
61・・・プリンタ選択サブメニュー

Claims (5)

  1. 情報処理装置上で機能するアプリケーションおよびプリンタドライバが連携して、前記情報処理装置からプリンタへ印刷データを送信する処理を実行するように構成された印刷処理システムであって、
    前記プリンタドライバは、
    前記アプリケーションからの指令に応じて、印刷設定に関するダイアログボックスを表示可能で、前記ダイアログボックスを表示する際には、複数のグループに分類された設定項目の内、前記アプリケーションから指定された1つのグループに属する前記設定項目を、初期表示内容として表示可能なダイアログボックス表示手段
    を備え、
    前記アプリケーションは、
    前記複数のグループそれぞれに対応する複数のグループ情報を取得するグループ情報取得手段と、
    階層構造を持つメニューを表示可能で、前記メニュー内には、前記プリンタドライバに対して前記ダイアログボックスの表示を指令するために用意された印刷指令項目が含まれており、前記印刷指令項目にフォーカスを移動させる操作が行われた際には、前記グループ情報取得手段によって取得された前記複数のグループ情報を、前記印刷指令項目のサブメニューとして表示するメニュー表示手段と、
    前記メニュー表示手段が表示した前記メニュー中において、前記複数のグループ情報のいずれかにフォーカスを移動させる操作が行われる毎に、前記フォーカスが移動した1つの前記グループ情報に対応する前記グループを指定して前記プリンタドライバに前記ダイアログボックスの表示を指令するダイアログボックス表示指令手段と
    を備えたことを特徴とする印刷処理システム。
  2. 前記プリンタドライバは、
    前記アプリケーションから受けた指令が、仮表示指令であるか本表示指令であるかを判定する表示指令種別判定手段と、
    前記表示指令種別判定手段によって前記アプリケーションから本表示指令を受けたと判定した場合には、前記ダイアログボックス表示手段による前記ダイアログボックスの表示を行った後、前記ダイアログボックス内にあるコントロールに対する操作を受け付けて、前記設定項目の内容を変更する一方、前記表示指令種別判定手段によって前記アプリケーションから仮表示指令を受けたと判定した場合には、前記ダイアログボックス表示手段による前記ダイアログボックスの表示を行った後、前記ダイアログボックス内にあるコントロールに対する操作を受け付けないことにより、前記設定項目の内容の変更を禁止する設定変更制限手段と
    を備え、
    前記アプリケーションが備える前記ダイアログボックス表示指令手段は、
    前記メニュー表示手段が表示した前記メニュー中において、前記複数のグループ情報のいずれかにフォーカスを移動させる操作が行われる毎に、前記プリンタドライバに対して前記仮表示指令を送る一方、前記複数のグループ情報のいずれかにフォーカスを移動させた後、そのグループ情報の選択を決定する操作が行われた場合には、前記プリンタドライバに対して前記本表示指令を送る
    ことを特徴とする請求項1に記載の印刷処理システム。
  3. 前記プリンタドライバは、
    前記アプリケーションから受けた指令が、消去指令であるか否かを判定する消去指令判定手段と、
    前記消去指令判定手段によって前記アプリケーションから消去指令を受けたと判定した場合に、表示中の前記ダイアログボックスを消去するダイアログボックス消去手段と
    を備え、
    前記アプリケーションは、
    前記プリンタドライバに対して前記仮表示指令を送った後、前記メニュー表示手段が表示した前記メニュー中において、別の項目へフォーカスを移動させる操作が行われた場合に、前記プリンタドライバに対して前記消去指令を送る
    ことを特徴とする請求項2に記載の印刷処理システム。
  4. 前記プリンタドライバが備える前記ダイアログボックス表示手段は、前記ダイアログボックス内に、前記複数のグループそれぞれに対応する複数のページを重ねて表示可能で、利用者の操作によって前記複数のページのいずれかが選択された際には、選択された1つのページを利用者側から見て最も手前に重ねて表示するように構成されており、前記アプリケーションから前記ダイアログボックスの表示を指令された際に1つの前記グループが指定された場合には、前記アプリケーションから指定された1つのグループに対応する前記ページを、利用者側から見て最も手前に重ねて表示することにより、当該1つのグループに属する前記設定項目を前記初期表示内容として表示する
    ことを特徴とする請求項1〜請求項3のいずれかに記載の印刷処理システム。
  5. 情報処理装置上で機能するアプリケーションと連携して、前記情報処理装置からプリンタへ印刷データを送信する処理を実行するプリンタドライバとして、前記情報処理装置を機能させるためのプリンタドライバプログラムであって、
    前記情報処理装置を、
    前記アプリケーションからの指令に応じて、印刷設定に関するダイアログボックスを表示可能で、前記ダイアログボックスを表示する際には、複数のグループに分類された設定項目の内、前記アプリケーションから指定された1つのグループに属する前記設定項目を、初期表示内容として表示可能なダイアログボックス表示手段
    として機能させることを特徴とするプリンタドライバプログラム。
JP2006022811A 2006-01-31 2006-01-31 印刷処理システム、およびプログラム群 Active JP4428344B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006022811A JP4428344B2 (ja) 2006-01-31 2006-01-31 印刷処理システム、およびプログラム群
US11/669,498 US20070177179A1 (en) 2006-01-31 2007-01-31 Print Processing System, Information Processing Apparatus and Computer Usable Medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006022811A JP4428344B2 (ja) 2006-01-31 2006-01-31 印刷処理システム、およびプログラム群

Publications (2)

Publication Number Publication Date
JP2007206828A true JP2007206828A (ja) 2007-08-16
JP4428344B2 JP4428344B2 (ja) 2010-03-10

Family

ID=38486273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006022811A Active JP4428344B2 (ja) 2006-01-31 2006-01-31 印刷処理システム、およびプログラム群

Country Status (1)

Country Link
JP (1) JP4428344B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012078914A (ja) * 2010-09-30 2012-04-19 Brother Ind Ltd デバイス制御プログラム、及び、印刷プログラム
CN110293539A (zh) * 2019-06-24 2019-10-01 佛山智异科技开发有限公司 工业机器人示教器软件架构的实现方法、装置及示教器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012078914A (ja) * 2010-09-30 2012-04-19 Brother Ind Ltd デバイス制御プログラム、及び、印刷プログラム
US8964215B2 (en) 2010-09-30 2015-02-24 Brother Kogyo Kabushiki Kaisha Device control program, device control method, and printer control device
CN110293539A (zh) * 2019-06-24 2019-10-01 佛山智异科技开发有限公司 工业机器人示教器软件架构的实现方法、装置及示教器
CN110293539B (zh) * 2019-06-24 2022-09-30 佛山智异科技开发有限公司 工业机器人示教器软件架构的实现方法、装置及示教器

Also Published As

Publication number Publication date
JP4428344B2 (ja) 2010-03-10

Similar Documents

Publication Publication Date Title
US9690447B2 (en) Dynamically changing appearances for user interface elements during drag-and-drop operations
CA2800108C (en) Jump, checkmark, and strikethrough gestures
JP5264431B2 (ja) 情報処理装置、印刷制御方法、及びプログラム
US20110304556A1 (en) Activate, fill, and level gestures
JPH09190267A (ja) 外部イベントに基づきキーボード割当を動的に構成し直すシステムおよび方法
US20040268267A1 (en) Methods and apparatus for prompted activation of an inactive control element in graphical user interface, and context-based help therefor
JPH07319659A (ja) ソース・オブジェクトのホバリングによる動作省略時解釈の指定変更方法とサブシステム
US20060075363A1 (en) Information processing system, and program and recording medium implementing functions of the system
US20110307840A1 (en) Erase, circle, prioritize and application tray gestures
US9436418B2 (en) Non-transitory storage medium storing instructions executable by device control apparatus, device control method, and device control apparatus
JP4774078B2 (ja) 情報処理装置
CN109976681B (zh) 信息处理装置、图像形成装置和计算机可读取的记录介质
JP4428344B2 (ja) 印刷処理システム、およびプログラム群
JP4683054B2 (ja) プログラム、情報処理装置、表示制御方法
US20070177179A1 (en) Print Processing System, Information Processing Apparatus and Computer Usable Medium
JPH09244843A (ja) ユーザ・インターフェース制御方法及びその装置と該装置を含む情報処理システムと前記方法を実行するプログラムを記憶した記憶媒体
JP5234131B2 (ja) プリンタドライバ、及び情報処理装置
JP4386042B2 (ja) 印刷処理システム
JPH08234953A (ja) マルチウィンドウ表示制御装置
TWI494723B (zh) 工程工具
JP3785898B2 (ja) コンピュータ読取可能な記録媒体
US8286094B2 (en) Apparatus and method for printing file using toolbar button
JP2009282846A (ja) データ処理装置
JP2001344051A (ja) 情報処理装置及びコンピュータ可読媒体
JP2009288985A (ja) データ出力指示装置、データ出力システム、データ出力指示方法、プログラムおよびその記録媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091028

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4428344

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091207

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131225

Year of fee payment: 4