(57)【要約】【課題】ＯＳのＧＵＩコントロール機能を利用しつつ所望の描画色を用いて描画処理を行うこと。【解決手段】本発明に係る描画処理方法を実行する演算処理装置１１には、ＧＵＩの描画処理を行うコントロール機能が設けられたオペレーティングシステムが実行されている。演算処理装置１１は、コントロール機能にコントロールエリアのフレーム枠を所望の描画色で描画するフレーム描画機能を継承させて派生クラスを生成し、生成された派生クラスに基づいてコントロール機能によりコントロールエリアの描画処理を行い、派生クラスに基づいて、コントロールエリアのフレーム枠を所望の描画色で描画する。【選択図】  図１
2004302728.tif 000002
【特許請求の範囲】
【請求項１】
ＧＵＩの描画処理を行うコントロール機能が設けられたオペレーティングシステムを備え、該オペレーティングシステムが実行されている演算処理装置に、
前記コントロール機能を基本クラスとし、前記コントロール機能に基づいて描画されるコントロールエリアのフレーム枠を所望の描画色で描画するフレーム描画機能を前記基本クラスに加えて継承させて派生クラスを生成する派生クラス生成ステップと、
該派生クラス生成ステップにより生成された派生クラスに基づいて、前記コントロール機能によりコントロールエリアの描画処理を行うコントロール描画ステップと、
前記派生クラスに基づいて、前記コントロール描画ステップにより描画されたコントロールエリアのフレーム枠を所望の描画色で描画するフレーム描画ステップと
を実行させることを特徴とするコントロールエリア描画処理方法。
【請求項２】
前記フレーム描画ステップは、
前記コントロールエリア全体をバックグランドカラーで塗り潰すコントロールエリアクリアステップと、
該コントロールエリアクリアステップにより塗り潰されたコントロールエリアのフレーム枠を、所望の描画色で線描画するフレーム枠描画ステップと
を備えていることを特徴とする請求項１に記載のコントロールエリア描画処理方法。
【請求項３】
ＧＵＩの描画処理を行うコントロール機能が設けられたオペレーティングシステムを備え、該オペレーティングシステムが実行されている演算処理装置に、
前記コントロール機能を基本クラスとし、前記コントロール機能に基づいて描画されるコントロールエリアのフレーム枠を所望の描画色で描画するフレーム描画機能を前記基本クラスに加えて継承させて派生クラスを生成する派生クラス生成ステップと、
該派生クラス生成ステップにより生成された派生クラスに基づいて、前記コントロール機能によりコントロールエリアの描画処理を行うコントロール描画ステップと、
前記派生クラスに基づいて、前記コントロール描画ステップにより描画されたコントロールエリアのフレーム枠を所望の描画色で描画するフレーム描画ステップと
を実行させるプログラム。
【請求項４】
前記フレーム描画ステップは、
前記コントロールエリア全体をバックグランドカラーで塗り潰すコントロールエリアクリアステップと、
該コントロールエリアクリアステップにより塗り潰されたコントロールエリアのフレーム枠を、所望の描画色で線描画するフレーム枠描画ステップと
を備えていることを特徴とする請求項３に記載のプログラム。
【請求項５】
請求項３または請求項４に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＧＵＩ機能を有するオペレーティングシステムが実行される演算処理装置において、オペレーティングシステムのコントロール機能を利用してＧＵＩ用の描画処理を行うことが可能なコントロールエリア描画処理方法、プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
今日、パーソナルコンピュータにおいて動くソフトウェアの多くはＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を採用している。例えば、ＧＵＩ環境を提供する代表的なＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）であるＷｉｎｄｏｗｓ（ウインドウズ：登録商標）では、ユーザーのマウス操作に伴ってモニタに表示されるマウスカーソルが移動され、マウスカーソルが移動されたボタンやアイコン上で、マウスのクリック操作が行われると、そのマウスカーソルが位置するボタン、アイコンに関連する処理が実行される構成となっている（例えば、非特許文献１参照。）。
【０００３】
【非特許文献１】
日経ＢＰ社出版局編「日経ＢＰデジタル大辞典２０００−２００１年度版」  ２０００年３月２０日  第３版１刷発行  ７１頁「ＧＵＩ」参照
【０００４】
【発明が解決しようとする課題】
しかしながら、今日使用される大部分のアプリケーションプログラムはＯＳ上で実行されるものであるため、ＧＵＩを用いた表現形式がＯＳの機能により限定されるものが多い。このため、ＯＳのＧＵＩコントロール機能（ＯＳに予め設けられる機能であって、ＧＵＩに関する処理を司る部分）、例えば、エディットコントロールやスタティックコントロールを利用して、所定の表示エリア（コントロールエリア）の描画処理を行う場合には、バックグランドカラーやフレームベースカラーを変更することは可能であるが、フレーム枠（外枠および内枠）の描画色は予めＯＳにおいて決定されているシステムカラーで表示されてしまうので変更をすることができなかった。このため、ＧＵＩの外観色デザインにおいて制約を受けるという問題があった。
【０００５】
一方で、上述のＧＵＩコントロール機能を用いて描画される表示部分全体（フレーム枠、フレーム内部の枠等の全て）を予め画像データ（イメージデータ）としてプログラム内部に取り込んでおき、画像データ（イメージデータ）上に文字列等を通常のコントロール機能を用いて書き込むことによって、フレーム枠等を所望の描画色で表示させる方法が一般的に用いられている。このように所望の色で描かれた画像データを用いて描画を行う方法では、プログラム内に画像データを取り込んでおく必要が生じるため、プログラム容量が大きくなってしまうとともに軽快な処理スピードを確保することが難しくなるという問題がある。また、画像データはサイズが固定サイズとなってしまうので、画像データが表示されるウインドのサイズが変更された場合に、変更されたサイズに対応させて画像データをリサイズすることが容易ではないという問題がある。
【０００６】
本発明は上記問題に鑑みてなされるものであり、ＯＳのＧＵＩコントロール機能を利用しつつ所望の描画色を用いてフレーム等の描画処理を行うことが可能な、コントロールエリア描画処理方法、プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを課題とする。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、請求項１に係る発明は、ＧＵＩの描画処理を行うコントロール機能が設けられたオペレーティングシステムを備え、該オペレーティングシステムが実行されている演算処理装置に、前記コントロール機能を基本クラスとし、前記コントロール機能に基づいて描画されるコントロールエリアのフレーム枠を所望の描画色で描画するフレーム描画機能を前記基本クラスに加えて継承させて派生クラスを生成する派生クラス生成ステップと、該派生クラス生成ステップにより生成された派生クラスに基づいて、前記コントロール機能によりコントロールエリアの描画処理を行うコントロール描画ステップと、前記派生クラスに基づいて、前記コントロール描画ステップにより描画されたコントロールエリアのフレーム枠を所望の描画色で描画するフレーム描画ステップとを実行させるコントロールエリア描画処理方法であることを特徴とする。
【０００８】
請求項２に係る発明は、請求項１に記載のコントロールエリア描画処理方法において、前記フレーム描画ステップが、前記コントロールエリア全体をバックグランドカラーで塗り潰すコントロールエリアクリアステップと、該コントロールエリアクリアステップにより塗り潰されたコントロールエリアのフレーム枠を、所望の描画色で線描画するフレーム枠描画ステップとを備えていることを特徴とする。
【０００９】
請求項３に係る発明は、ＧＵＩの描画処理を行うコントロール機能が設けられたオペレーティングシステムを備え、該オペレーティングシステムが実行されている演算処理装置に、前記コントロール機能を基本クラスとし、前記コントロール機能に基づいて描画されるコントロールエリアのフレーム枠を所望の描画色で描画するフレーム描画機能を前記基本クラスに加えて継承させて派生クラスを生成する派生クラス生成ステップと、該派生クラス生成ステップにより生成された派生クラスに基づいて、前記コントロール機能によりコントロールエリアの描画処理を行うコントロール描画ステップと、前記派生クラスに基づいて、前記コントロール描画ステップにより描画されたコントロールエリアのフレーム枠を所望の描画色で描画するフレーム描画ステップとを実行させるプログラムであることを特徴とする。
【００１０】
請求項４に係る発明は、請求項３に記載のプログラムにおいて、前記フレーム描画ステップが、前記コントロールエリア全体をバックグランドカラーで塗り潰すコントロールエリアクリアステップと、該コントロールエリアクリアステップにより塗り潰されたコントロールエリアのフレーム枠を、所望の描画色で線描画するフレーム枠描画ステップとを備えていることを特徴とする。
【００１１】
請求項５に係る発明は、請求項３または請求項４に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
【００１２】
【発明の実施の形態】
以下、本発明に係る描画処理方法について図面を用いて説明する。
【００１３】
図１は、本発明に係る描画処理法に基づいて描画処理を行うコンピュータを示したブロック図である。コンピュータ１０は、図１に示すように、描画処理を行うＣＰＵ１１と、描画処理において画像データ等を一時的に記憶するメモリ１２と、描画処理に用いられるデータ等が記録されるとともに、描画処理用のプログラム（アプリケーションプログラム）が記録されるハードディスク１３とを備えている。さらに、コンピュータ１０には描画処理が為された文字列やフレーム等が表示されるモニタ１４と、ユーザーが入力操作を行う際に用いるキーボードやマウス等からなる入力装置１５とが接続されている。なお、ハードディスク１３の代わりにフレキシブルディスクや、ＣＤ−Ｒ等の補助記憶装置を用いてもよい。
【００１４】
ＣＰＵ１１はハードディスク１３に記録されるプログラムに基づいて、ＯＳのＧＵＩコントロール機能のうちスタティックコントロール機能、エディットコントロール機能、リストコントロール機能、ツリーコントロール機能を継承した派生クラスを生成し、この派生クラスに、各コントロールにより描画されたコントロールエリアのフレーム枠を予め指定した所望の描画色、具体的には所望のカラーに指定されたコントロール色で描画するフレーム描画機能を加えて再度継承処理を行って派生クラスαを生成する。この派生クラスαに基づいてコントロールエリアの描画処理を行うことによって、ＯＳのコントロール機能を用いてコントロールエリアの描画を行った場合にシステムカラーで描画色が固定されてしまうフレーム枠の描画を所望の描画色を指定して描画させることが可能となる。また、ＯＳにおいて規定されているコントロール機能を承継して派生クラスαを生成することによって、ＯＳのコントロール機能に該当する命令をプログラム内に規定する必要性が無くなる。
【００１５】
以下、生成された派生クラスαを用いて、ＣＰＵ１１がＧＵＩ用の描画処理を行う方法を図１に示すフローチャートを用いて説明する。
【００１６】
コンピュータ１０によりハードディスク１３に記録されているプログラム（アプリケーション）が起動されると、ＣＰＵ１１は、初期処理を実行する（ステップＳ１）。ＣＰＵ１１は、初期処理において、描画処理を行うのに必要なメモリ１２の領域を確保するとともに、描画処理に必要な変数値等の設定等を行う。初期処理が終了すると、ＣＰＵ１１は、各種コントロールの継承処理を行う（ステップＳ２）。コントロールの継承は、上述したように派生クラスαを生成する処理である。
【００１７】
その後ＣＰＵ１１は、ＯＳよりＣＰＵ１１に対して送信されるマウス・カーソルイベントの受信待ち状態に移行する（ステップＳ３）。ここでマウス・カーソルイベントとは、ユーザーがマウスを用いて入力操作（クリック処理等）を行った場合（ステップＳ４）に、ＯＳによって判断されるマウスの操作内容・操作状態を示す。ＯＳには、マウス・カーソルイベントを判断する機能（２０）が備えられているので、ＣＰＵ１１がプログラムにおいて積極的にマウス・カーソルイベントの状態を判断する処理を行わなくても、ＯＳに対してマウス・カーソルイベント送信要求を行うことによって（ステップＳ５）、ボタン表示処理の処理過程に関わりなくマウスカーソルの状態を知ることが可能となる。
【００１８】
ＯＳよりマウス・カーソルイベント情報を受信した場合（ステップＳ６）、ＣＰＵ１１は受信したマウスカーソルの状態より、コントロール機能により描画されたコントロールエリアのウインドが拡大・縮小等されてスタイル（表示形式）が変更されていないかどうかの判断を行う（ステップＳ７）。スタイルの変更が無い場合、ＣＰＵ１１は、マウス・カーソルイベント情報に基づいてコントロールエリアがフォーカスされていないか等のコントロール機能の状態情報を判断し、判断された状態情報に基づいて、フォーカスされている場合等には、予め指定されているコントロールカラーでフォーカス描画処理を行い、コントロール機能において描画色を指定可能な処理の場合、例えば、バックグランドカラー等の描画処理を行う場合には、通常のコントロール機能を用いて描画色を指定して各描画処理を行う。その後、ＣＰＵ１１は、描画されたデータをディスプレイバッファ（メモリ１２）に出力し（ステップＳ８）、ＯＳに対して画像描画要求を送信する（ステップＳ９）。
【００１９】
画像描画要求の返信を受け取った後（ステップＳ１０）にＣＰＵ１１は、ディスプレイバッファ（メモリ１２）に記録されている描画データが、初めて描画処理が行われるコントロールエリアであるかどうか（初期表示で有るかどうか）の判断を行う（ステップＳ１１）。初期表示でない場合、ＣＰＵ１１は、モニタ１４に表示させる画像データをディスプレイバッファに記録された描画データに切り替えることによって（ステップＳ１２）、ステップＳ８において描画された画像データをモニタ１４に表示させる（ステップＳ１３）。
【００２０】
初期表示の判断（ステップＳ１１）において、初期表示処理であると判断した場合には、ＣＰＵ１１は、システムカラーの取得処理を行う（ステップＳ１４）。システムカラーの取得処理において、ＣＰＵ１１は、現在のシステムカラー情報を取得しておき、取得されたシステムカラー情報に基づいて、コントロールエリアの描画処理に使用する描画色（デフォルトカラー）を決定する。例えば、コントロールフレームのデフォルトカラーや、フォーカスやボーダライン等のコントロールのデフォルトカラー等がこれに該当する。また、ＣＰＵ１１は、システムカラーの取得処理（ステップＳ１４）の後にコントロールカラーの指定処理を行う（ステップＳ１５）。コントロールカラーの指定処理においてＣＰＵ１１は、予め指定されているコントロールの描画色がシステムカラーにおいて指定されている描画色と異なるか否かを判断し、異なる場合には指定された描画色をコンロトールに使用する描画色として定義する。
【００２１】
その後ＣＰＵ１１は、コントロール機能により描画されたコントロールエリアの表示位置とフレームサイズ（四角枠）、コントロールの情報と状態を取得するコントロールサイズの取得処理を行う（ステップＳ１６）。なお、マウス操作によりコントロールエリアのウインドサイズが変更される場合もあるため、ＣＰＵ１１は、上述したスタイル（表示形式）の変更判断（ステップＳ７）において、スタイルの変更が有った場合にも、コントロールサイズの取得処理を行う（ステップＳ１６）。
【００２２】
コントロールサイズの取得処理（ステップＳ１６）が行われた後、ＣＰＵ１１は、コントロールのスタイルと状態とを取得する処理を行う（ステップＳ１７）。具体的に、ＣＰＵ１１はコントロールがマウスイベントなどでどのような状態となっているのかを求める。例えば、文字列等が入力装置により入力されている場合にはコントロール処理による表示状態がアンダーラインカーソルの状態であると判断し、変換中の場合には変換対象文字列選択状態であると判断し、変換後の場合には文字列の最後にカーソルが移動して入力待ちの状態であると判断する。
【００２３】
その後ＣＰＵ１１は、コントロールエリアを、バックグランドカラーで塗り潰して、コントロールエリア全体をクリアにするバックグランドクリア処理を行う（ステップＳ１８）。ＣＰＵ１１は、バックグランドクリア処理でコントロールエリア全体がクリアにされた後に、フレーム枠（外枠、内枠）をコントロールカラーで線描画（フレームラインの描画処理、ステップＳ１９）する。このフレーム描画処理は、派生クラスαのフレーム描画機能に基づいて行われ、フレーム描画機能に基づいて描画処理を行うことによってフレーム枠をシステムカラーではなくコントロールカラーで描画させることができ、所望の描画色で描画処理を行うことが可能となる。
【００２４】
図２は、フレーム枠の描画処理の一例を示した図であり、ＣＰＵ１１は、（ａ）に示すようにコントロールエリアをフォームに設定した後に、（ｂ）に示すようにコントロールエリア全体をバックグランドカラーで塗り潰す。その後、ＣＰＵ１１は、（ｃ）に示すようにフレーム枠（内外枠）を線描画する。フレーム枠に凹みを演出する場合には、凹みの高さによりフレーム枠の線描画の回数が変化するが、図２（ｃ）においては８回線描画を行っている。このように８回の線描画を行う場合には、線描画を行うために指定する描画色の種類が４種類必要となる。なお、線描画が４回の場合には２種類、１２回の場合には６種類の描画色が必要となる。
【００２５】
フレームラインの描画処理（ステップＳ１９）がなされた後に、ＣＰＵ１１は上述したフォーカスやボーダラインの描画処理を行い（ステップＳ８）、ＯＳに対して画像描画要求を送信する（ステップＳ９）。
【００２６】
画像描画要求の返信を受け取った後（ステップＳ１０）にＣＰＵ１１は、描画処理の初期表示判断を行い、初期表示でない場合にモニタ１４に表示させる画像データをディスプレイバッファに記録された描画データに切り替えることによって（ステップＳ１２）、描画された画像データをモニタ１４に表示させる（ステップＳ１３）。
【００２７】
以上説明したように、ＯＳのコントロール機能にフレーム描画機能を加えて継承処理を行った派生クラスαに基づいて、コントロールエリアの表示処理を行うことによって、フレーム枠を所望の描画色で描画させることが可能となる。
【００２８】
また、派生クラスを継承処理により生成しているので、ＯＳのコントロール機能に該当する処理をプログラムで設計する必要がなくなり、開発労力の軽減を図ることが可能となるとともに、プログラムの容量を小さくすることが可能となる。
【００２９】
さらに、フレーム枠を線描画させて描画処理を行っているので、画像データを用いてコントロールエリアのフレーム枠を所望の描画色で表示させる場合に較べて、プログラム容量を減らすことができるとともに、迅速な処理を行うことが可能となる。また、フレーム枠を線描画しているので、コントロールエリアのウインドサイズが変更された場合に、画像データのリサイズを行うよりも簡易かつ迅速に描画処理を行うことが可能となる。
【００３０】
【発明の効果】
以上説明したように、本発明に係る描画処理方法、プログラム及びそのプログラムを用いた記録媒体を用いることによって、フレーム枠を所望の描画色で描画させることが可能となる。
【００３１】
また、派生クラスを継承処理により生成しているので、ＯＳのコントロール機能に該当する処理をプログラムで設計する必要がなくなり、開発労力の軽減を図ることが可能となるとともに、プログラムの容量を小さくすることが可能となる。
【００３２】
さらに、フレーム枠を線描画させて描画処理を行っているので、画像データを用いてコントロールエリアのフレーム枠を所望の描画色で表示させる場合に較べて、プログラム容量を減らすことができるとともに、迅速な処理を行うことが可能となる。また、フレーム枠を線描画しているので、コントロールエリアのウインドサイズが変更された場合に、画像データのリサイズを行うよりも簡易かつ迅速に描画処理を行うことが可能となる。
【図面の簡単な説明】
【図１】本発明に係る描画処理方法を用いて描画処理を行うコンピュータを示したブロック図である。
【図２】本発明に係る描画処理方法を示したフローチャートである。
【図３】図１に示したフレームラインの描画例を示した図である。
【符号の説明】
１０  コンピュータ
１１  ＣＰＵ（演算処理装置）
１２  メモリ
１３  ハードディスク
１４  モニタ
１５  入力装置
【図１】
2004302728.tif 000003
【図２】
2004302728.tif 000004
【図３】
2004302728.tif 000005