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