"印刷装置で印刷処理する印刷データを生成する際に表示されるユーザインタフェースを介して特定の設定項目に対して特定の設定値の入力を受け付ける設定手段と、前記ユーザインタフェースを介して第1の設定値が入力された場合に、既に設定されていた特定の設定値を前記第1の設定値により競合を生じない第2の設定値とすることで、競合を解消する競合解消手段と、前記ユーザインタフェースを介して前記第1の設定値が入力され、前記第1の設定値が有効とされた場合に、前記第1の設定値と競合する設定値の設定を不能とするため、前記競合解消手段によって競合が解消された後の前記第2の設定値を元の特定の設定値に戻せなくするとともに、前記競合解消手段によって競合が解消された後の前記第2の設定値がユーザに識別できるようユーザインタフェースの表示を制御する第1表示制御手段と、を有することを特徴とする制御装置。前記第2の設定値を元の特定の設定値に戻せない理由を示すメッセージの表示を制御する第2表示制御手段を更に有することを特徴とする請求項1に記載の制御装置。前記第1表示制御手段は、前記理由を示すメッセージの表示の指示を可能とするマークの前記ユーザインタフェース上での表示を制御し、前記第2表示制御手段は、ユーザからの前記表示されたマークに対応した指示に応答して、前記理由を示すメッセージの表示を制御することを特徴とする請求項2に記載の制御装置。前記理由が複数ある場合には、1つの理由を選択する選択手段を更に有し、前記第2表示制御手段は、前記選択手段により選択された前記1つの理由を示すメッセージの表示を制御することを特徴とする請求項2又は3に記載の制御装置。前記第2表示制御手段は、前記理由を示すメッセージとして、前記第1の設定値の情報を含むメッセージの表示を制御することを特徴とする請求項2乃至4のいずれか1項に記載の制御装置。前記競合解消手段は、既にコレート印刷を無効にする設定値が設定されていた状態で、前記第1の設定値として製本印刷を有効にする設定値が入力された場合に、前記第2の設定値をコレート印刷を有効にする設定値とすることで競合を解消することを特徴とする請求項1乃至5のいずれか1項に記載の制御装置。前記ユーザインタフェースは、前記印刷装置に対して送信される印刷データを生成するプリンタドライバの機能として提供されるユーザインタフェースであることを特徴とする請求項1乃至6のいずれか1項に記載の制御装置。印刷装置における制御方法であって、前記印刷装置で印刷処理する印刷データを生成する際に表示されるユーザインタフェースを介して特定の設定項目に対して特定の設定値の入力を受け付ける設定工程と、前記ユーザインタフェースを介して第1の設定値が入力された場合に、既に設定されていた特定の設定値を前記第1の設定値により競合を生じない第2の設定値とすることで、競合を解消する競合解消工程と、前記ユーザインタフェースを介して前記第1の設定値が入力され、前記第1の設定値が有効とされた場合に、前記第1の設定値と競合する設定値の設定を不能とするため、前記競合解消工程で競合が解消された後の前記第2の設定値を元の特定の設定値に戻せなくするとともに、前記競合解消工程で競合が解消された後の前記第2の設定値がユーザに識別できるようユーザインタフェースの表示を制御する第1表示制御工程と、を有することを特徴とする制御方法。コンピュータを、印刷装置で印刷処理する印刷データを生成する際にプリンタドライバの機能として表示されるユーザインタフェースを介して特定の設定項目に対して特定の設定値の入力を受け付ける設定手段、前記ユーザインタフェースを介して第1の設定値が入力された場合に、既に設定されていた特定の設定値を前記第1の設定値により競合を生じない第2の設定値とすることで、競合を解消する競合解消手段、前記ユーザインタフェースを介して前記第1の設定値が入力され、前記第1の設定値が有効とされた場合に、前記第1の設定値と競合する設定値の設定を不能とするため、前記競合解消手段によって競合が解消された後の前記第2の設定値を元の特定の設定値に戻せなくするとともに、前記競合解消手段によって競合が解消された後の前記第2の設定値がユーザに識別できるようユーザインタフェースの表示を制御する第1表示制御手段、として機能させることを特徴とするプログラム。ところで、従来、上記したような、コントロールがグレイアウトされて直接変更できない理由を表示するためには、コンフリクト処理の記述とは別に、理由検知専用のプログラムを作成する必要があった。理由検知を正確に行うためには、グレイアウトするための処理の各々に対応する理由検知処理のプログラムコードを必要とする。そして、このプログラムコードの作成には手間がかかるだけでなく、グレイアウト処理の追加/変更に伴って理由検知処理の漏れや食い違いが出やすいという問題があった。また、例えば、特定のデバイスオプション例えばステープル用のフィニッシャが装着されていないと当該コントロールが使用できず、なおかつ、他の項目とも排他関係にある等、当該コントロールがグレイアウトされる理由が複数存在する場合もある。そのような場合には、理由検知処理がさらに複雑になり、プログラムの作成に関する上記の問題はより顕著なものとなる。本発明はこのような問題点に鑑みてなされたものである。すなわち、ユーザインタフェースにおいて特定の項目が設定不可となった理由を表示する機能を、理由検知の漏れや食い違いを起こすことなく実現し、これによって開発者の作業工数や人為的ミスを低減することを目的とする。本発明の一側面によれば、印刷装置で印刷処理する印刷データを生成する際に表示されるユーザインタフェースを介して特定の設定項目に対して特定の設定値の入力を受け付ける設定手段と、前記ユーザインタフェースを介して第1の設定値が入力された場合に、既に設定されていた特定の設定値を前記第1の設定値により競合を生じない第2の設定値とすることで、競合を解消する競合解消手段と、前記ユーザインタフェースを介して前記第1の設定値が入力され、前記第1の設定値が有効とされた場合に、前記第1の設定値と競合する設定値の設定を不能とするため、前記競合解消手段によって競合が解消された後の前記第2の設定値を元の特定の設定値に戻せなくするとともに、前記競合解消手段によって競合が解消された後の前記第2の設定値がユーザに識別できるようユーザインタフェースの表示を制御する第1表示制御手段とを有することを特徴とする制御装置が提供される。本発明によれば、ユーザインタフェースにおいて特定の項目が設定不可となった理由を表示する機能を、理由検知の漏れや食い違いを起こすことなく実現でき、これによって開発者の作業工数や人為的ミスを低減することができる。以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、本発明は以下の実施形態に限定されるものではなく、本発明の実施に有利な具体例を示すにすぎない。また、以下の実施形態の中で説明されている特徴の組み合わせの全てが本発明の課題解決手段として必須のものであるとは限らない。ハードウェア構成図1は本発明の一実施形態を示す印刷処理システムのブロック構成図である。印刷処理システムは、ホストコンピュータ3000と、プリンタ1500より構成される。ホストコンピュータ3000において、1はシステムバス4に接続される各デバイスを総括的に制御するCPU、2はCPU1の主メモリ、ワークエリア等として機能するRAMである。3は各種プログラム、データを格納するROMであって、各種フォントを記憶するフォントROM3a、ブートプログラムやBIOS等を記憶するプログラムROM3b、および各種データを記憶するデータROM3cに区分けして構成されている。5はキーボードコントローラKBCで、キーボード9や不図示のポインティングデバイスマウスからのキー入力を制御する。6はCRTコントローラCRTCであり、CRTディスプレイCRT10の表示を制御する。外部メモリ11ディスクコントローラDKC7によりアクセス制御されるは、ハードディスクHDやフロッピーディスクFD登録商標等である。ここには、図示の如く、オペレーティングシステムプログラム以下OS205をはじめ各種アプリケーション例えば、図形、イメージ、文字、表等が混在した文書処理を行う文書処理アプリケーションプログラム201が記憶される。さらに、印刷処理関連プログラム204、ユーザファイル、編集ファイル等も記憶される。印刷処理関連プログラム204は、ページ記述言語を用いて記述される印刷データを生成するプログラムであって、同系列の複数のプリンタに対して共通に利用されうる。また、プリンタ制御コマンド生成モジュール以下プリンタドライバという2041、プリンタドライバUI制御モジュール2042を含む。8はプリンタコントローラPRTCであり、双方向性インタフェース21を介してプリンタ1500に接続され、プリンタ1500との通信制御処理を行う。外部メモリ11に記憶されたアプリケーションは、RAM2にロードされてCPU1により実行されることになる。また、CPU1は、例えばRAM2へのアウトラインフォントの展開ラスタライズ処理を実行し、CRT10上でのWYSIWYGWhatyouseeisWhatyougetを可能としている。さらに、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷設定設定画面プリンタドライバUI制御モジュール2042により制御されるを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバ2041に対する印刷処理の設定を行うことができる。プリンタ1500において、12はプリンタ1500の全体を制御するCPUである。19はCPU12の主メモリ、ワークエリア等として機能するとともに、出力情報展開領域、環境データ格納領域、NVRAM等に用いられるRAMである。これは、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。13はROMであり、各種フォントを記憶するフォントROM13a、制御プログラム等を記憶するプログラムROM13b、および各種データを記憶するデータROM13cより構成される。外部メモリ14メモリコントローラMC20によりアクセスを制御されるは、オプションとして接続されるハードディスクHD、フレキシブルディスクFD、ICカード等である。ここにはフォントデータ、エミュレーションプログラム、フォームデータ等が記憶される。ハードディスク等の外部メモリ14が接続されていない場合には、ROM13のデータROM13cに、ホストコンピュータ3000で利用される情報等を記憶することになる。なお、外部メモリ14は1個に限らず、複数備えるものであってもよく、例えば、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラム等を格納した外部メモリを複数接続できるように構成されていてもよい。操作部1501にはユーザからの操作を受け付ける操作パネルが設けられ、その操作パネルには操作のためのスイッチおよびLED表示器等が配されている図示は省略。また、図示しないNVRAMを有し、操作パネル1501からのプリンタモード設定情報を記憶するようにしてもよい。プリンタCPU12は、ROM13のプログラムROM13bに記憶された制御プログラム等に基づき、印刷部インタフェース16を介してシステムバス15に接続される印刷部プリンタエンジン17に出力情報としての画像信号を出力する。また、CPU12は入力部18を介してホストコンピュータ3000との通信処理が可能となっており、プリンタ1500内の情報等をホストコンピュータ3000に通知可能に構成されている。ソフトウェア構成図2は、所定のアプリケーションおよびプリンタ1500を制御対象とする印刷処理関連プログラムを起動して、ホストコンピュータ3000上のRAM2にロードされた状態のRAM2のメモリマップを示している。RAM2には、図示の如く、BIOS206、OS205をはじめ、アプリケーション201、印刷処理関連プログラム204、および関連データ203がロードされており、さらに空きメモリ領域202も確保されている。これにより、アプリケーション201および印刷処理関連プログラム204は実行可能状態にある。印刷処理関連プログラム204におけるプリンタドライバUI制御モジュール2042は、ユーザによる印刷設定指令に応じてCRT10に印刷設定画面を表示しユーザからの設定を可能にする。図8に、UIとしての印刷設定画面の表示例を示す。同図において、PrintStyle欄80は、印刷レイアウトを指定する欄であり、ユーザは例えば、片面印刷1SidedPrinting801、両面印刷2SidedPrinting802、および製本印刷BookletPrinting803のコントロールうちの、いずれかに対応するラジオボタンをマウスでクリックすることで指定することができる。Finishing欄81は、印刷済み記録媒体の出力順序および仕上げについて指定する欄であり、ユーザは例えば、以下のいずれかから指定可能となっている。Collate811部単位印刷。Nページの文書をM部印刷する場合に、第1ページ、第2ページ、...、第Nページの順に1枚ずつ出力し、これをM回繰り返す。Group812ページ単位印刷。Nページの文書をM部印刷する場合に、第1ページをM枚、第2ページをM枚、...、第NページをM枚、の順に出力する。Staple813ステープル仕上げ。上記Collate811と同様に部単位で出力し、仕上げとして各部ごとにステープラで止める。なお、本明細書では、上記したようなユーザ設定可能項目をプリンタ機能または単に機能ともよぶ。この他にも多くのプリンタ機能を有するが、説明を簡単にするため省略する。ここで、コンフリクトは、プリンタドライバUI制御モジュール2042により、以下詳細に説明するコンフリクト処理として回避されるように設計される。コンフリクトとは、ユーザにとって不都合と思われる設定の組み合わせ、意味のない設定の組み合わせ、すなわち設定値間の不整合をいう。図3は、実施形態における印刷処理関連プログラム204のプリンタドライバUI制御モジュール2042の概略構成を示している。303は、各モジュール間のデータの受け渡しやデータの更新等を管理してコンフリクト処理を統括するコンフリクトマネージャである。306が、上記した印刷設定画面表示制御を行い、本プリンタドライバUI制御モジュール2042におけるメインプログラムとしてのプリンタドライバUIである。301は、後述する記述形式で記述される不整合回避戦略を示すコンフリクト処理ルールを列記したコンフリクト処理ルール記述ファイルである。302は、コンフリクト処理ルール記述ファイル301をロードして、入力された設定値に対してコンフリクト処理ルールを適用し、各機能の状態を推論する推論エンジンである。304は、各プリンタ機能の状態をリスト形式で表示する状態変数リストであり、ユーザからの入力およびコンフリクト処理ルール記述ファイル301の内容に基づき更新されうる。305は、プリンタドライバUI306が提供する画面表示の基になる帳票としての内部構造体であり、状態変数リスト304と連動して各プリンタ機能の状態を所定の形式で表示する。その後に、プリンタドライバUI306を介してユーザからの設定情報を受け取ったコンフリクトマネージャ303は、コンフリクト処理ルール記述ファイル301を参照する。このことは、図示の如くコンフリクト処理ルール記述ファイル301からコンフリクトマネージャ303に向かう矢印で、Rとして表示されている。参照の結果、設定情報がコンフリクト処理ルールに適合する場合、コンフリクト処理が適用される。そうして、コンフリクトマネージャ303は、状態変数リスト304および内部構造体305を更新してプリンタドライバUI306に反映させる。この更新作業は、図示の如くコンフリクトマネージャ303は、状態変数リスト304および内部構造体305とは各々双方向矢印で結ばれ、RWとして表示されている。図4は、図3に示した各モジュールで扱われるデータの関連を説明する模式図である。図4において、コンフリクト処理ルール記述ファイル301は、推論エンジン302にインクルードロードされたかたちで参照される。このコンフリクト処理ルール記述ファイル301はコンフリクトマネージャ303にも参照され、状態変数リスト304はコンフリクト処理ルールに従った内容を有することになる。また、内部構造体305と状態変数リスト304とは先に述べたとおり連動表示されるものであるから、互いにマッピングされる関係にある。そしてこの状態がプリンタドライバUI306の制御によってユーザに見えるかたちで表現される。状態変数リスト304について具体的に説明すると、同図に示すように、各プリンタ機能同図中キーの欄ABC毎に、状態値をはじめ、例えば、対応するコントロールの利用可否情報、利用不可の場合の理由無効理由情報、UI更新の要否情報等が記述される。内部構造体305は、各プリンタ機能の状態を例えば、データ型機能名メンバ状態メンバの構文で表し、プリンタ機能名ABCに対応する機能名メンバをそれぞれcAcBcCのように表現する。そして、各機能に対する状態メンバは、状態変数リスト304における状態値がマッピングされている。コンフリクト処理ルールの記述形式次に、コンフリクト処理ルール記述ファイル301について説明する。各ルールは、論理ロジックを用いて数学的に形式化される。述語は、プリンタ機能名引数の形で記述される。引数としては、ONOFFの他、数値が入る場合もある例えば、印刷部数等。左辺にはプリンタ機能名引数を、右辺には左辺が成り立つための論理条件を記述し、記号←で関係づける。例えば、A←Bは、プリンタ機能Bの状態がONのときは、プリンタ機能Aの状態をONとするという意味のルールになる。また、式中の記号は論理かつANDの意味で用いられる。例えば、プリンタ機能Bの状態がON、かつ、プリンタ機能Cの状態がOFFのときに、プリンタ機能Aの状態をONとするというルールは、A←BCと記述される。さらに、コンフリクト処理ルール記述ファイル301の中には、プリンタドライバUI306を更新するための処理を記述することが可能である。推論エンジン302がその記述を解釈した時点で、コンフリクトマネージャ303の状態変数リスト304を介して、プリンタドライバUI306の更新処理を直接行うことが可能になっている。例えば、UI更新の処理としてdisableセットの記述を追加することにより、該当項目のコントロールをdisableする処理グレイアウト表示するとともに設定不可の状態にする処理を指示することができる。また、disableセットの後にReasonセットの記述を追加すると、disableとなった理由を表示するための理由識別子Xに応じたメッセージを表示させることが可能になる詳細は後述する。次に、図8に表示されたプリンタ機能を例に、コンフリクト処理ルールに記述される機能名の具体例を示す。図8に示したCollate811に対応する部単位印刷機能、Group812に対応するページ単位印刷機能、およびStaple813に対応するステープル仕上げ機能の機能名はそれぞれ、Collate、Group、およびStapleで示され、引数はONまたはOFFとなる。また、PrintStyle欄80に対応する印刷レイアウト機能は、Layoutで示され、引数は、1Sided、2Sided、Bookletのいずれかである。この他、UIとは直接関連しない機能例えば、特定のオプションの装着状態、セットされている記録用紙の種類等の属性を示す環境情報を定義することができる。例えば、上記ステープル仕上げ機能に関連して、デバイスオプションとしてのステープル用フィニッシャが装着されているか否かを示すFinisherを使用できる。引数はONまたはOFFであり、ONのときはフィニッシャが装着されている状態を示し、OFFのときは未装着の状態を示す。また、セットされた記録用紙がステープル可能な紙であるか否かを示すStaplablePaperが使用可能である。引数はONまたはOFFであり、ONのときはステープル可能な用紙がセットされている状態を示し、OFFのときはステープル可能な用紙がセットされていない状態を示す。なお、上記した機能名はあくまでプリンタという制御対象に対する例であって、制御対象に応じてその他の機能名が定義することができることはいうまでもない。図6は、以上の例に従って記述されたコンフリクト処理ルール記述ファイル301の一例である。は、フィニッシャが装着されていないときにはStaple、すなわちステープル仕上げ不可、とするルールである。後続行にはdisableが記述されているので、このルールが適用されると、コントロールStaple813はグレイアウトされることになる。また、次の行には、Reasonが記述されている。ここで、理由識別子NOFINISHERは、フィニッシャが装着されていないことを示すものである。は、ステープル可能な記録用紙がセットされていないときはStapleとするルールである。ここでもと同様、後続行にはdisableが記述されているので、このルールが適用されると、コントロールStaple813はグレイアウトされることになる。また、次の行には、ステープル不可能な用紙がセットされていることを示すINVALIDPAPERを理由識別子に有するReasonセットが記述されている。は、BookletPrinting803がチェックされたことでLayoutとなったときは、Stapleとするルールである。ここでも同様に、このルールが適用されると、disableの記述によってコントロールStaple813はグレイアウトされることになる。また、次の行には、適合しないプリントスタイルレイアウトが指定されていることを示すINVALIDLAYOUTを理由識別子に有するReasonセットが記述されている。は、記録媒体としてOHPシートがセットされたときは、Stapleとするルールである。このルールが適用されると、disableの記述によってコントロールStaple813はグレイアウトされる。また、次の行には、適合しない用紙タイプが指定されていることを示すINVALIDPAPERTYPEを理由識別子に有するReasonセットが記述されている。は、Collate811がチェックされたことでCollateとなったときにStapleとするルール、は、Group812がチェックされたことでGroupとなったときにStapleとするルールである。は、BookletPrinting803がチェックされたことでLayoutとなったときにCollateとするルールである。このルールが適用されると、次の行のdisableの記述によってコントロールcollate811がグレイアウトされる。は、BookletPrinting803がチェックされたことでLayoutとなったときにGroupとするルールである。このルールが適用されると、次の行のdisableの記述によってコントロールGroup812がグレイアウトされる。このように、各機能の状態によって適用されるルールが記述されている。プリンタドライバUI制御モジュール2042の処理の内容以下、図5のフローチャートを用いて、コンフリクト処理を含むプリンタドライバUI制御モジュール2042の処理について、詳しく説明する。プリンタドライバUI制御モジュール2042の処理は、ユーザがキーボードコントローラKBC5等を用いて、印刷設定画面を開く指示をすることで始まる。ユーザが印刷設定画面を開くよう指示すると、上記したとおり、OS205の管理の下、RAM2に印刷処理関連プログラム204がロードされる。印刷処理関連プログラム204がRAM2にロードされると、まず、印刷設定画面を開くための初期化処理を行う。この初期化処理として推論エンジン302は、コンフリクト処理ルール記述ファイル301をコンフリクトマネージャ303を介して、RAM2に読み込むステップS501。続いて、コンフリクトマネージャ303が利用する状態変数リスト304を作成するステップS503。コンフリクト処理ルール記述ファイル301に記述されるすべてのプリンタ機能名は、コンフリクトマネージャ303の内部にインクルードされた状態変数リスト304にそれぞれ、状態変数を持っている。この状態変数の値は、プリンタドライバUI306で使用される内部構造体305の対応するメンバの値と連動している。各プリンタ機能名の状態変数の初期値は、その内部構造体305のメンバの値となる。例えば、図4において、内部構造体305に記述されているintcAの初期値は0であるから、それに対応する状態変数リスト304におけるプリンタ機能Aの値はOFFとなっている。したがって、状態変数リスト304におけるプリンタ機能Aの状態の初期値はOFFとなる。同様に、プリンタ機能名Bの初期値はON、プリンタ機能名Cの初期値はOFFとなる。すなわち、AOFFBONCOFFとなる。その後、推論エンジン302は、コンフリクト処理ルール記述ファイル301を参照することでコンフリクトチェックの推論を行う。例えば、図4に示すように、コンフリクト処理ルール記述ファイル301に記述されている、A←BCが成立した場合、推論エンジン302は、状態変数リスト304中のプリンタ機能Aの状態変数値を、初期値OFFからONに変更する。すなわち、AONBONCOFFとなる。このように状態変数リスト304が初期化される。また、状態変数リスト304中の他の項目コントロールの表示/非表示情報等も同様に初期化される。コンフリクトチェックの推論が終了した後、コンフリクトマネージャ303は、変更された状態変数の値を内部構造体305の対応するメンバintcAに反映させる。すなわち、intcAは上記ルールが成立したことによって0から1に変更されることになる。具体的に、図8に示したUIを開く際の初期化処理を例にとって説明する。図7は、図8のUIに対する内部構造体の一例を示している。同図から分かるように、例えば機能名メンバLayout、Collate、Group、およびStapleに対応する状態メンバは各々、1Sided、0、1、および0となっている。この状態から、図6に示したコンフリクト処理ルール記述ファイル301を参照してコンフリクトチェックを行う。内部構造体の内容が図7に示す状態である場合には、図6に示したコンフリクト処理ルール記述ファイル301のうち、いずれのルールも適用される場合はない。つまり、上記機能名の状態変数値は、ステップS503の初期化による初期値として、次のようになる。CollateOFFGroupONStapleOFFLayout1Sided続いて、UIのオープンのために必要とされるその他の初期化処理を行い、図8に例示したようなUIをオープンするステップS504。この場合、状態変数リスト304を参照して、設定値に応じた値を表示したり、コントロールの利用可否情報に応じた処理abledisableの変更等を行うことになる。UIとしての印刷設定画面がオープンされた後は、OSより送られてくるイベントを取得し、そのイベントに対する処理を行うステップS505。次に、ステップS505で取得したイベントが、ユーザが印刷設定画面上の設定項目を変更したイベントであるか否かの判別を行うステップS506。ここで、取得したイベントがユーザによる設定変更要求であった場合には、ステップS507に進み、コンフリクト処理ルール記述ファイル301を参照してコンフリクト処理ルールを適用する。取得したイベントがユーザによる設定変更要求であった場合の一例として、図8に示すPrintStyle欄80における、片面印刷1SidedPrinting801から製本印刷BookletPrinting803に変更するものであった場合について説明する。ここでは、ステープル仕上げが可能なフィニッシャが装着され、用紙サイズおよび用紙タイプがステープル可能なものがセットされているものとする。プリンタ機能名Collate、Group、Staple、Layoutの状態変数の設定変更要求前における値は、図7に示した状態、すなわち、以下のようになっていた。CollateOFFGroupONStapleOFFLayout1Sidedユーザの変更要求がLayoutを1-SidedからBookletに変更するものであるので、Layoutの状態変数の内容が変更されて、各プリンタ機能名の状態変数の値は次のようになる。CollateOFFGroupONStapleOFFLayoutBookletすると、プリンタドライバUI306はコンフリクトマネージャ303をコールし、続いて推論エンジン302がコールされて、コンフリクト処理ルール記述ファイル301を参照してLayoutを起点としたコンフリクトチェックが始まる。推論エンジン302は、コンフリクト処理ルール記述ファイル301の各ルールの適用/不適用をチェックしていく。上記したとおり、この例ではステープル仕上げが可能なフィニッシャが装着され、用紙サイズおよび用紙タイプがステープル可能なものがセットされているので、ルール、が適用されることはない。ルールは適用されることになるから、StapleはOFFのままコントロールはdisable、すなわちグレイアウト表示によって設定不可の状態にされる。さらに、上記したように、グレイアウトされた理由として不適合なプリントスタイルが指定されていることを示すINVALIDLAYOUTがセットされる。ルール4、、は適用されないが、ルール、が適用され、Collateの値はOFFからONへ、Groupの値はONからOFFへ変更され、次のように各コントロールはdisableとなる。CollateONGroupOFFStapleOFFLayoutBOOKLETまた、同じコントロールをグレイアウトするものではあるがその理由が相違するルールが、重複して適用されうる場合もある。この場合、あらかじめ定めた優先順位が高い理由が採用される。実施形態では、コンフリクト処理ルール記述ファイル301に先に記述されたルールほど優先度が高いと定めておく。例えば、上記した例に続いて、ステープル仕上げ不可能なサイズの用紙がセットされた場合を考える。この場合、ルールとともに、ルールが適用されることになる。実施形態によれば、優先順位の高いルールを採用して、グレイアウトされた理由としては、不適合な記録用紙がセットされていることを示すINVALIDPAPERがセットされることになる。すなわち、各コントロールの状態は、次のようになる。CollateONGroupOFFStapleOFFLayoutBOOKLET以上で、ステップS507の、推論エンジン302でのコンフリクト処理ルールの適用が終了する。コンフリクトマネージャ303は、上記ステップS507のコンフリクト処理ルールの適用結果に基づき状態変数リスト304を更新するステップS508。すなわち、状態変数リストは図11に示すようになる。図11において、機能Stapleの状態がOFF、そのコントロールがdisableとなるとともに、その理由識別子INVALIDPAPERが記録されていることが分かる。続いて、内部構造体305を更新するステップS509。具体的には、状態変数リスト304中のUI更新情報が要yesとなっているコントロールについてはUIの更新処理を行い、その後UI更新情報は不要noに変更される。上記の例では、Layoutが1SidedPrintingからBookletPrintingに設定が変更されたことで、CollateがOFFからONへ、GroupがONからOFFへと変更され、CollateGroupStapleがそれぞれdisableとなり、図8のUIは図9に示すとおりに更新される。また、図9に示すように、コントロールがグレイアウトされた場合には、そのことを知らせるためのコンフリクトマーク91が表示される詳細は後述する。ステップS509の後はステップS505に戻って処理を繰り返す。ステップS506において、ステップS505で取得したイベントがユーザが印刷設定画面上の設定項目を変更したイベントではなかったときは、ステップS512に進み、グレイアウトの理由表示のイベントであるかを判別する。このイベントは、例えばコンフリクトマーク91がクリックされたときやコンフリクトマーク91上にマウスカーソルが重なったときなどに発生する。このイベントが発生した場合は、ステップS513に進み、プリンタドライバUI306は状態変数リスト304から該当するコントロールの無効理由情報を参照し、そこに登録されている識別子に対応する処理を行う。例えば、図10に示すようなコメントメッセージ92を表示することができる。いずれかのキーを押下したりマウスカーソルを移動するなどによりイベントが解除されると、メッセージは消え、ステップS505に戻って処理を繰り返す。ステップS512の判別の結果、理由表示イベントではなかった場合には、ステップS514に進み、プリンタドライバUIのクローズ要求かどうかの判別を行う。クローズ要求であった場合には、状態変数の設定で内部構造体を更新しステップS515、所定の終了処理を行い、プリンタドライバUIをクローズして、すべての処理を終了するステップS516。一方、クローズ要求ではなかった場合には、ステップS505に戻って処理を繰り返す。以上の処理は、プリンタドライバUIがクローズされるまで、繰り返し実行される。プリンタドライバUIがクローズされると処理は終了し、印刷処理関連プログラム204の処理も終了し、RAM2からはOS205の機能により消去される。以上説明した実施形態によれば、コンフリクト処理ルール記述ファイルに、コンフリクト処理ルールの適用によってコントロールをdisableして当該コントロールをグレイアウトする場合にはその理由を記述することを可能である。これにより、グレイアウトされた理由情報の管理を容易にすることができるようになった。このため、理由検知のための専用プログラムコードを追加する煩わしさや、条件の漏れや食い違いを生ずるケースから解放され、品質の高い理由表示処理を実現することができる。さらに他の発明によれば、理由表示処理をプリンタドライバUIからコンフリクトマネージャに移すことで両者の間で理由識別子の同期を取る必要がなくなり、その結果独立性が向上し、生産性が高くメンテナンス性に優れるという効果がある。他の実施形態上述した実施形態では、ステップS513の理由コメントの表示はプリンタドライバUI306が行うようにしたが、コンフリクトマネージャ303が行うようにすることもできる。すなわち、コンフリクトマネージャ303の内部に文字列リソースを持ち、理由表示イベント発生時にはコンフリクトマネージャ303を呼び出し、そこで状態変数の理由属性を参照して該当するメッセージを表示するようにしてもよい。また、ステップS507では、最も優先順位の高い理由をひとつだけ保持しているが、該当する理由をすべて保持し、ステップS513にてすべて表示するようにしてもよい。また、ステップS507では、ルールの記述順序によって優先順位を定めるようにしたが、もちろんこれに限定されるものではなく、別の基準を設けてもよい。状態値を変更するルールのみを適用することで、最新の理由を保持すると共に効率化を図ることもできる。なお、上述した実施形態では、プリンタ装置に対して、コンフリクト処理を含むUI制御を行う例について説明した。しかし本発明は、プリンタ装置に限らず、ディジタルカメラ、ディジタルレコーダ、イメージスキャナ等の周辺装置、制御機器の他、モデムやルータといったネットワーク関連機器にも適用可能であることはいうまでもない。これらの複数の機器から構成されるシステムに適用することも可能である。以上、本発明の実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。なお、本発明は、前述した実施形態の各機能を実現するプログラムを、システムまたは装置に直接または遠隔から供給し、そのシステムまたは装置に含まれるコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能処理を実現するためのコンピュータプログラム自体も本発明の一つである。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RWなどがある。また、記録媒体としては、磁気テープ、不揮発性のメモリカード、ROM、DVDDVD-ROM,DVD-Rなどもある。また、プログラムは、クライアントコンピュータのブラウザを用いてインターネットのホームページからダウンロードしてもよい。すなわち、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードする形態も考えられる。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明の構成要件となる場合がある。また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。"