(57)【要約】【課題】アプリのＧＵＩ画面が全体的に統一された画面テーマで表現されるようにし、省メモリ化を図りながら、画面テーマが高速で切り替わるようにする。【解決手段】同種のＧＵＩ部品を複数個含むＧＵＩ画面を表示させるアプリのＧＵＩ画面の画面テーマを切り替える処理を実行する制御部４と、画面テーマを定義する画面テーマ定義データを格納する記憶部とを備え、制御部４を、切替後の画面テーマの画面テーマ定義データを記憶部から読み出し、アプリのメモリ領域に記憶させる処理と、アプリのメモリ領域に記憶されている画面テーマ定義データを用いてＧＵＩ画面に含まれる同種の複数個のＧＵＩ部品を描画する処理とを実行するように構成する。【選択図】　　　　図１
2004094656.tif 000002
【特許請求の範囲】
【請求項１】
同種のグラフィカル・ユーザ・インターフェース（以下、ＧＵＩという）部品を複数個含むＧＵＩ画面を表示させるアプリケーションプログラムのＧＵＩ画面の画面テーマを切り替える処理を実行する制御部と、
画面テーマを定義する画面テーマ定義データを格納する記憶部とを備え、
前記制御部が、
切替後の画面テーマの画面テーマ定義データを前記記憶部から読み出し、前記アプリケーションプログラムのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップと、
前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを用いて前記ＧＵＩ画面に含まれる同種の複数個のＧＵＩ部品を描画するＧＵＩ画面描画処理ステップとを含む処理を実行するように構成されることを特徴とする、携帯端末。
【請求項２】
前記制御部が、前記切替時画面テーマ読出処理ステップにおいて、前記記憶部から前記ＧＵＩ画面に含まれるＧＵＩ部品の画面テーマ定義データのみを読み出し、前記アプリケーションプログラムのメモリ領域に記憶させる処理を実行するように構成されることを特徴とする、請求項１記載の携帯端末。
【請求項３】
前記制御部が、
前記アプリケーションプログラムの起動時に、デフォルトとして設定された画面テーマの画面テーマ定義データを前記記憶部から読み出し、前記アプリケーションプログラムのメモリ領域に記憶させるアプリ起動時画面テーマ読出処理ステップを実行するように構成され、
前記切替時画面テーマ読出処理ステップにおいて、切替後の画面テーマの画面テーマ定義データを前記記憶部から読み出し、前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを更新する処理を実行するように構成されることを特徴とする、請求項１又は２記載の携帯端末。
【請求項４】
前記制御部が、前記切替時画面テーマ読出処理ステップにおいて、オペレーティングシステムによって管理される画面テーマに関する情報を用いて前記記憶部から画面テーマ定義データを読み出す処理を実行するように構成されることを特徴とする、請求項１〜３のいずれか１項に記載の携帯端末。
【請求項５】
前記制御部が、
前記記憶部に格納されている画面テーマ定義データを読み出し、オペレーティングシステムのために確保されたメモリ領域に展開する処理を実行するように構成され、
前記記憶部から前記画面テーマ定義データを読み出すのに代えて、前記記憶部から読み出され、前記オペレーティングシステムのメモリ領域に展開されている前記画面テーマ定義データを読み出す処理を実行するように構成されることを特徴とする、請求項１〜４のいずれか１項に記載の携帯端末。
【請求項６】
前記制御部が、オペレーティングシステムによって管理される画面テーマに関する情報が書き換えられた場合に、前記切替時画面テーマ読出処理ステップ及び前記ＧＵＩ画面描画処理ステップを実行するように構成されることを特徴とする、請求項１〜５のいずれか１項に記載の携帯端末。
【請求項７】
前記制御部が、
画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムにしたがって、画面テーマ決定指令に応じて、オペレーティングシステムによって管理される画面テーマに関する情報を切替後の画面テーマに関する情報に書き換える処理を実行するように構成され、
前記オペレーティングシステムにしたがって、前記画面テーマに関する情報が書き換えられた場合に、前記アプリケーションプログラムに対して画面テーマ変更通知を行なう処理を実行するように構成され、
前記アプリケーションプログラムにしたがって、前記オペレーティングシステムからの画面テーマ変更通知を受けた場合に、前記切替時画面テーマ読出処理ステップ及び前記ＧＵＩ画面描画処理ステップを実行するように構成されることを特徴とする、請求項１〜５のいずれか１項に記載の携帯端末。
【請求項８】
前記制御部が、画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムのＧＵＩ画面に含まれる画面テーマリストの選択位置に応じて、前記画面テーマ設定アプリケーションプログラムのＧＵＩ画面の画面テーマを切り替える処理を実行するように構成されることを特徴とする、請求項１〜７のいずれか１項に記載の携帯端末。
【請求項９】
前記制御部が、画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムのＧＵＩ画面に含まれる画面テーマリストの選択位置に応じて、前記画面テーマ設定アプリケーションプログラムのＧＵＩ画面上にビットマップイメージを表示させる処理を実行するように構成されることを特徴とする、請求項１〜７のいずれか１項に記載の携帯端末。
【請求項１０】
同種のグラフィカル・ユーザ・インターフェース（以下、ＧＵＩという）部品を複数個含むＧＵＩ画面の画面テーマを切り替える画面テーマ切替処理をコンピュータに実行させるためのアプリケーションプログラムであって、
前記画面テーマ切替処理が、
切替後の画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出し、前記アプリケーションプログラムのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップと、
前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを用いて前記ＧＵＩ画面に含まれる同種の複数個のＧＵＩ部品を描画するＧＵＩ画面描画処理ステップとを含むことを特徴とする、アプリケーションプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アプリケーションプログラム（以下、アプリ，アプリケーションともいう）によって表示されるＧＵＩ（グラフィカル・ユーザ・インターフェース）部品からなるＧＵＩ画面を介してユーザが種々の操作を行なうことができる、携帯端末及びアプリケーションプログラムに関する。
【０００２】
【従来の技術】
近年、パーソナルコンピュータにおいて、ＧＵＩ画面を全体的に統一されたテーマ（画面テーマ）で表現し、その画面テーマを切り替える機能（テーマ機能）を備えるものが提供されている。
このような機能を持つものとしては、例えば、マイクロソフト社のウィンドウズ（登録商標）のデスクトップ・テーマやリアルオーディオのスキンなどを挙げることができる。
【０００３】
【発明が解決しようとする課題】
ところで、近年、例えば携帯電話や携帯情報端末（ＰＤＡ；Ｐｅｒｓｏｎａｌ　ＤｉｇｉｔａｌＡｓｓｉｓｔａｎｔｓ）などの携帯端末の高機能化が進んでおり、パーソナルコンピュータに実装されている機能と同様の機能（例えば、上述のテーマ機能）を実装することが望まれている。
【０００４】
しかしながら、携帯端末では、携帯性を考慮しなければならず、サイズや重さなどの制約を受けるため、パーソナルコンピュータのように、処理速度の速いＣＰＵを用いたり、メモリの容量を多くしたりすることができない。
このため、このような制約の下、パーソナルコンピュータに実装されている機能と同様の機能を携帯端末に実装するには、何らかの工夫が必要になる。
【０００５】
特に、携帯端末において、上述のテーマ機能を実装するためには、画面テーマが高速で切り替わるようにすること，画面テーマを切り替えるために使用するメモリ領域をできるだけ少なくすることが重要になる。なお、これらの点は、上述の機能を備えるパーソナルコンピュータなどにおいても必要なことである。
本発明は、このような課題に鑑み創案されたもので、アプリケーションの画面が全体的に統一されたテーマ（画面テーマ）で表現されるようにし、このような画面テーマが高速で切り替わるようにした携帯端末及び画面テーマが高速で切り替わるようにするためのアプリケーションプログラムを提供することを目的とする。
【０００６】
また、本発明は、できるだけ少ないメモリ領域を使用して画面テーマの切り替え（特に、高速切替）を行なえるようにすることも目的とする。
【０００７】
【課題を解決するための手段】
このため、本発明の携帯端末は、同種のグラフィカル・ユーザ・インターフェース（以下、ＧＵＩという）部品を複数個含むＧＵＩ画面を表示させるアプリケーションプログラムの画面テーマを切り替える処理を実行する制御部と、画面テーマを定義する画面テーマ定義データを格納する記憶部とを備え、制御部が、切替後の画面テーマの画面テーマ定義データを記憶部から読み出し、アプリケーションプログラムのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップと、アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを用いてＧＵＩ画面に含まれる同種の複数個のＧＵＩ部品を描画するＧＵＩ画面描画処理ステップとを含む処理を実行するように構成されることを特徴としている（請求項１）。
【０００８】
好ましくは、制御部を、切替時画面テーマ読出処理ステップにおいて、記憶部からＧＵＩ画面に含まれるＧＵＩ部品の画面テーマ定義データのみを読み出し、アプリケーションプログラムのメモリ領域に記憶させる処理を実行するように構成する（請求項２）。
また、制御部を、アプリケーションプログラムの起動時に、デフォルトとして設定された画面テーマの画面テーマ定義データを記憶部から読み出し、アプリケーションプログラムのメモリ領域に記憶させるアプリ起動時画面テーマ読出処理ステップを実行するように構成し、切替時画面テーマ読出処理ステップにおいて、切替後の画面テーマの画面テーマ定義データを記憶部から読み出し、アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを更新する処理を実行するように構成するのも好ましい（請求項３）。
【０００９】
また、制御部を、切替時画面テーマ読出処理ステップにおいて、オペレーティングシステムによって管理される画面テーマに関する情報を用いて記憶部から画面テーマ定義データを読み出す処理を実行するように構成するのも好ましい（請求項４）。
また、制御部を、記憶部に格納されている画面テーマ定義データを読み出し、オペレーティングシステムのために確保されたメモリ領域に展開する処理を実行するように構成し、記憶部から画面テーマ定義データを読み出すのに代えて、記憶部から読み出され、オペレーティングシステムのメモリ領域に展開されている画面テーマ定義データを読み出す処理（切替時画面テーマ読出処理ステップ，アプリ起動時画面テーマ読出処理ステップ）を実行するように構成するのも好ましい（請求項５）。
【００１０】
また、制御部を、オペレーティングシステムによって管理される画面テーマに関する情報が書き換えられた場合に、切替時画面テーマ読出処理ステップ及びＧＵＩ画面描画処理ステップを実行するように構成するのも好ましい（請求項６）。
また、制御部を、画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムにしたがって、画面テーマ決定指令に応じて、オペレーティングシステムによって管理される画面テーマに関する情報を切替後の画面テーマに関する情報に書き換える処理を実行するように構成し、オペレーティングシステムにしたがって、画面テーマに関する情報が書き換えられた場合に、アプリケーションプログラムに対して画面テーマ変更通知を行なう処理を実行するように構成し、アプリケーションプログラムにしたがって、オペレーティングシステムからの画面テーマ変更通知を受けた場合に、切替時画面テーマ読出処理ステップ及びＧＵＩ画面描画処理ステップを実行するように構成するのも好ましい（請求項７）。
【００１１】
また、制御部を、画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムのＧＵＩ画面に含まれる画面テーマリストの選択位置に応じて、画面テーマ設定アプリケーションプログラムのＧＵＩ画面の画面テーマを切り替える処理を実行するように構成するもの好ましい（請求項８）。
また、制御部を、画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムのＧＵＩ画面に含まれる画面テーマリストの選択位置に応じて、画面テーマ設定アプリケーションプログラムのＧＵＩ画面上にビットマップイメージを表示させる処理を実行するように構成するのも好ましい（請求項９）。
【００１２】
本発明のアプリケーションプログラムは、同種のグラフィカル・ユーザ・インターフェース（以下、ＧＵＩという）部品を複数個含むＧＵＩ画面の画面テーマを切り替える画面テーマ切替処理をコンピュータに実行させるためのアプリケーションプログラムであって、画面テーマ切替処理が、切替後の画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出し、アプリケーションプログラムのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップと、アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを用いてＧＵＩ画面に含まれる同種の複数個のＧＵＩ部品を描画するＧＵＩ画面描画処理ステップとを含むことを特徴としている。
【００１３】
【発明の実施の形態】
以下、図面により、本発明の一実施形態にかかる携帯端末，アプリケーションプログラム及び同プログラムを格納したコンピュータ読取可能な記憶媒体について説明する。
本実施形態では、携帯端末としての携帯電話を例に、図１〜図１０を参照しながら説明する。
【００１４】
まず、携帯電話の構成について、図１〜図１０を参照しながら説明する。
図１に示すように、携帯電話１は、出力部（表示部）としてのディスプレイ２と、入力部としての操作部（例えば操作ボタンなど）３と、例えばＣＰＵやメモリ（揮発性メモリ；ＲＡＭ）などからなる制御部（コンピュータ）４と、例えばフラッシュメモリ（不揮発性メモリ；ＲＯＭ）などの記憶部５とを備えて構成される。なお、当然のことながら、無線通信に必要なもの（例えばアンテナや信号処理部等）も備えられている。
【００１５】
そして、記憶部５には、オペレーティングシステム（以下、ＯＳともいう），種々のアプリケーションプログラム（以下、アプリ，アプリケーションともいう）が格納されており、これらのＯＳやアプリが、制御部４のメモリ上にロードされ、ＣＰＵによって実行されることで、携帯電話１の所望の機能が実現されるようになっている。
【００１６】
特に、本実施形態では、ＯＳは、システムの信頼性，安全性を確保すべく、あるプロセスから他のプロセスへ高速で切り替えることで、複数のプロセスを見かけ上同時に実行できるマルチプロセス機能を有するマルチプロセスＯＳとしている。
これは、単一のメモリ領域上で全てのアプリケーションやカーネル（ＯＳの基本機能）が動作するモノリシックＯＳでは、一つのプログラムでトラブル（例えばメモリアクセスの誤りなど）が生じた場合にはシステム全体が停止してしまうことになるからである。
【００１７】
これに対し、本実施形態のマルチプロセスＯＳは、プロセス毎に使用できるメモリ領域を制限するメモリ保護機能を備えており、ＯＳやアプリなどのプログラム（プロセス）がそれぞれ異なるメモリ領域を使用するようになっており、一つのプログラム（プロセス）でトラブル（例えばメモリアクセスの誤りなど）が生じた場合であっても、ＯＳや他のアプリケーションに影響を与えないようになっている。
【００１８】
このように、携帯電話１においてマルチプロセスＯＳを用いる場合、オーバーヘッドを抑えることが重要になる。つまり、例えばパーソナルコンピュータのように処理速度が速いＣＰＵを用いることができれば、オーバーヘッドはそれほど問題とならないが、携帯電話では、携帯性を考慮しなければならず、例えばパーソナルコンピュータのように処理速度の速いＣＰＵを用いることはできず、処理速度の遅いＣＰＵを用いることになるため、オーバーヘッドを抑えることが重要になる。
【００１９】
また、各アプリは、ディスプレイ２上にグラフィカル・ユーザ・インターフェース（以下、ＧＵＩという）部品からなるＧＵＩ画面を表示させるものとして構成される。そして、ユーザがディスプレイ２上に表示されたＧＵＩ画面を見ながら操作部３を操作することで、制御部４に対して各種の指令を入力することができるようになっている。
【００２０】
ところで、このようなＧＵＩ画面を表示させるアプリを使用可能な携帯電話１において、ユーザの好みや気分によってＧＵＩ画面の雰囲気を変えることができるように、各アプリのＧＵＩ画面が統一された所望のテーマ（画面テーマ）で表現されるようにし、ユーザが任意にＧＵＩ画面の画面テーマを切り替えることができるようにしたい。
【００２１】
つまり、ＧＵＩ画面を表示させるアプリを使用可能な携帯電話において、ＧＵＩ画面に例えば装飾的な高級感，機械的な機能感，文房具的な親近感などの雰囲気をもたせるべく、各アプリのＧＵＩ画面を構成する複数のＧＵＩ部品の例えば色彩，立体感の有無，ボーダーの有無などを統一することで、ＧＵＩ画面が所望のテーマ（画面テーマ）で表現されるようにし、ユーザが任意にＧＵＩ画面の画面テーマを切り替えることができるようにしたい。
【００２２】
このようなＧＵＩ画面の画面テーマの切替機能を携帯電話１に実装するには、ＧＵＩ画面の画面テーマが切り替えられた場合に、各アプリのＧＵＩ画面の画面テーマが高速で切り替わるようにすることが重要である。
特に、上述のように、メモリ保護機能を有するマルチプロセスＯＳを備える携帯電話１において、各アプリのＧＵＩ画面の画面テーマが高速で切り替わるようにするためには、プロセスをまたいでのメモリアクセスやコンテキストスイッチングをできるだけ減らして、オーバーヘッドを抑えることが重要になる。
【００２３】
このため、本実施形態の携帯電話１では、以下の（１）〜（３）に示すようなシステム構成としている。
（１）ＧＵＩ部品（コントロール）の画面テーマにかかわる属性（ＧＵＩ画面を統一されたテーマで表現するために必要な属性）をＧＵＩ部品の種類毎に定義した画面テーマ定義データを格納して画面テーマリソースファイルを作成する。ここでは、画面テーマ毎に複数の画面テーマリソースファイルを作成する。
【００２４】
そして、これらの画面テーマ毎の画面テーマリソースファイルを記憶部（例えばフラッシュメモリ）５に格納し、ＯＳのファイルシステムによって管理する。具体的には、画面テーマ毎に作成される複数の画面テーマリソースファイルには、携帯電話１で用いることができる全種類のＧＵＩ部品の属性データ、例えば背景色，背景ビットマップ，ボーダーの有無などのデータを圧縮して格納しておく。
（２）一方、上述の（１）のように、画面テーマを定義した画面テーマ定義データを画面テーマリソースファイルに格納し、ＯＳのファイルシステムによって管理されるようにすると、各アプリのＧＵＩ画面の画面テーマを切り替える際に、ＧＵＩ画面を再描画するのに、ＧＵＩ画面を構成するＧＵＩ部品の個数分だけ、画面テーマリソースファイルを参照しなければならなくなる。
【００２５】
この場合、アプリとＯＳのカーネルとの間でＧＵＩ部品の個数分だけコンテキストスイッチングが生じるため、オーバーヘッドとなり、再描画が大変遅いものとなってしまう（例えばスリープが生じてしまう）ため、現実的ではない。なお、画面テーマ定義データをＯＳのために確保されているメモリ領域に展開しておく場合も、コンテキストスイッチングは生じることに変わりはないため、同様である。
【００２６】
このため、本実施形態では、同種のＧＵＩ部品を複数個含むＧＵＩ画面を表示させるアプリの画面テーマの高速切替を実現すべく、以下のように構成している。
つまり、アプリのＧＵＩ画面の画面テーマを切り替える処理を実行する制御部４が、ＧＵＩ画面の画面テーマの切替時に、切替後の画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出して、アプリのために確保されたメモリ領域に記憶させ、アプリのメモリ領域に記憶されている画面テーマ定義データを用いてＧＵＩ画面に含まれる複数個のＧＵＩ部品を描画するようにして、アプリとＯＳのカーネルとの間で生じるコンテキストスイッチングの回数をできるだけ減らし、オーバーヘッドを抑えることで、ＧＵＩ画面の画面テーマの高速切替を実現している。
【００２７】
特に、本実施形態では、制御部４が、アプリのＧＵＩ画面に含まれるＧＵＩ部品の画面テーマ定義データのみを読み出してアプリのメモリ領域に記憶させるようにして、ＧＵＩ部品の画面テーマ定義データを記憶させるのに必要なメモリ領域を少なくし、メモリ容量の少ない携帯電話において画面テーマの高速切替を実現できるようにしている。
【００２８】
また、本実施形態では、制御部４が、アプリの起動時に、デフォルトとして設定された画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出して、アプリのメモリ領域に記憶させるようにし、画面テーマの切替時には、アプリのメモリ領域に記憶されている画面テーマ定義データを更新する（書き換える）ようにして、さらなる画面テーマの切り替えの高速化を図るとともに、画面テーマを切り替えるのに必要なメモリ領域ができるだけ少なくて済むようにしている。
【００２９】
なお、本実施形態では、画面テーマリソースファイルから画面テーマ定義データを読み出しているが、これに限られるものではなく、制御部４が、予め画面テーマリソースファイルに格納されている画面テーマ定義データを、ＯＳのために確保されたメモリ領域に展開しておき、このＯＳのメモリ領域に展開されている画面テーマ定義データを読み出すようにしても良い。この場合、例えば画面テーマ定義データをエクセルシートによって作成しておき、ＯＳ起動時にＯＳのメモリ領域上に展開されるようにすれば良い。
【００３０】
以下、このような画面テーマ切替処理を制御部（コンピュータ）４に実行させるためのアプリケーションプログラムの構成について、図１を参照しながら説明する。なお、ここではアプリケーションプログラムをオブジェクト指向プログラミングによって構成する場合を例に説明する。
ここでは、アプリ毎に画面テーマクラスを設け、この画面テーマクラスが画面テーマ定義データを取り込んで画面テーマインスタンスを生成するようにし、アプリがＧＵＩ画面を描画する際に、同種の複数個のＧＵＩ部品を描画するのに、同一の画面テーマインスタンスをキャッシュメモリのように利用するようにしている。
【００３１】
具体的には、本アプリケーションプログラムは、図１に示すように、ＧＵＩ画面を描画するためのクラスとしてＧＵＩ画面クラス（アプリ画面クラス）を備える。
ここで、ＧＵＩ画面クラスは、ＧＵＩ画面を構成する各ＧＵＩ部品を描画するためのＧＵＩ部品クラス（例えば、ボタンクラス，ウィンドウクラス，アンテナ・電池残量等クラスなど）を集約したものとして構成される。なお、ＧＵＩ画面クラスは、各アプリ毎に、各アプリのＧＵＩ画面を構成するＧＵＩ部品を描画するのに必要なＧＵＩ部品クラスのみを集約したものとして構成している。
【００３２】
特に、本実施形態では、同種のＧＵＩ部品の構成要素を、ＧＵＩ部品毎に固有の構成要素（固有構成要素）と、ＧＵＩ部品に共通の構成要素（共通構成要素）とに分け、このうち、ＧＵＩ部品の固有構成要素を、ＧＵＩ部品クラスの属性として持たせている。例えば、ボタンクラスは、固有構成要素として、例えばボタンの描画位置とサイズ，文字列などの属性を持つものとして構成している。
【００３３】
一方、本実施形態では、ＧＵＩ画面クラスのほかに、ＧＵＩ画面の画面テーマを形成するためのクラスとしてＧＵＩ画面テーマクラスを設けている。
ここで、ＧＵＩ画面テーマクラスは、各ＧＵＩ部品の画面テーマを形成するためのＧＵＩ部品画面テーマクラス（例えば、ボタン画面テーマクラス，ウィンドウ画面テーマクラス，アンテナ・電池残量等画面テーマクラスなど）を集約したものとして構成される。本実施形態では、ＧＵＩ画面テーマクラスは、アプリのＧＵＩ画面を構成するために用いることができる全てのＧＵＩ部品のＧＵＩ部品画面テーマクラスを集約したものとして構成している。
【００３４】
特に、本実施形態では、ＧＵＩ部品の共通構成要素が画面テーマを形成しうる構成要素となりうるため、この共通構成要素（テーマ形成構成要素）を、ＧＵＩ部品画面テーマクラスの属性として持たせている。例えば、ボタン画面テーマクラスは、テーマ形成構成要素として、例えばボタンの背景色，フォントフェイス，枠線の有無などの属性を持つものとして構成している。
【００３５】
そして、本実施形態では、アプリケーションの起動時に、ＧＵＩ画面クラス，各ＧＵＩ部品クラス，ＧＵＩ画面テーマクラス，各ＧＵＩ部品画面テーマクラスのメソッドが制御部４によって実行されて、図１に示すように、各ＧＵＩ部品クラス（例えばボタンクラス）からそれぞれＧＵＩ部品インスタンス（例えばボタン１インスタンス，ボタン２インスタンス）が生成されるとともに、各ＧＵＩ部品画面テーマクラス（例えばボタン画面テーマクラス）からそれぞれＧＵＩ部品画面テーマインスタンス（例えばボタン画面テーマインスタンス）が生成されるようになっている。
【００３６】
具体的には、ＧＵＩ部品画面テーマクラスのメソッドが制御部４によって実行され、ＯＳによって管理されている現在の画面テーマのリソースファイル名（現在の画面テーマに関する情報）を用いて画面テーマリソースファイルから画面テーマ定義データが読み出され、この画面テーマ定義データを用いてＧＵＩ部品画面テーマインスタンスが生成されるようになっている。そして、生成されたＧＵＩ部品画面テーマインスタンスを、アプリケーションプログラムのために確保されたメモリ領域に記憶し、ＧＵＩ部品画面テーマインスタンスを記憶したメモリ領域のアドレス（ポインタ）をＧＵＩ部品クラスに通知するようになっている。
【００３７】
例えば、ボタン画面テーマクラスのメソッドが制御部４によって実行されると、図１に示すように、ボタン画面テーマインスタンスが生成されることになる。特に、本実施形態では、ＧＵＩ部品画面テーマクラスのメソッドは、ＧＵＩ部品クラスからの画面テーマ要求メッセージに応じて、制御部４によって実行されるようになっているため、各アプリのＧＵＩ画面を構成するのに必要なＧＵＩ部品のＧＵＩ部品画面テーマインスタンスのみが生成されることになる。
【００３８】
なお、アプリケーションの起動時には、デフォルトとして設定されている画面テーマリソースファイル名を現在の画面テーマリソースファイル名として用いる。
一方、ＧＵＩ部品クラスのメソッドが制御部４によって実行され、ＧＵＩ部品インスタンスが生成されるようになっている。そして、生成されたＧＵＩ部品インスタンスを、アプリケーションプログラムのために確保されたメモリ領域に記憶し、そのメモリ領域のアドレス（ポインタ）をＧＵＩ部品クラスに通知する。
【００３９】
例えば、ボタンクラスのメソッドが制御部４によって実行されると、図１に示すように、ボタン１インスタンスと、ボタン２インスタンスとが生成されることになる。そして、これらのボタンインスタンスは、それらが記憶されたメモリ領域のアドレス（ポインタ）をボタンクラスに通知する。
そして、ＧＵＩ画面を構成する各ＧＵＩ部品を描画する際には、それぞれのＧＵＩ部品クラスのメソッドが制御部４によって実行され、ポインタを用いてＧＵＩ部品インスタンス及びＧＵＩ部品画面テーマインスタンスを参照しながら、ＧＵＩ画面を構成するＧＵＩ部品のそれぞれが描画され、結果的にＧＵＩ画面が描画されることになる。
【００４０】
例えば、ボタンクラスのメソッドが制御部４によって実行されると、ポインタを用いてボタン１インスタンス及びボタン画面テーマインスタンスを読み出して、ボタン１が描画されることになる。つまり、例えば、ボタン１は、ボタン１インスタンスの持っている属性（例えばボタンの描画位置とサイズ，文字列）と、ボタン画面テーマインスタンスの持っている属性（例えばボタンの背景色，フォントフェイス，枠線の有無）とを合わせたものとして描画されることになる。
【００４１】
同様に、ボタンクラスのメソッドが制御部４によって実行されると、ポインタを用いてボタン２インスタンス及びボタン画面テーマインスタンスを読み出して、ボタン２が描画されることになる。つまり、例えば、ボタン２は、ボタン２インスタンスの持っている属性（例えばボタンの描画位置とサイズ，文字列）と、ボタン画面テーマインスタンスの持っている属性（例えばボタンの背景色，フォントフェイス，枠線の有無）とを合わせたものとして描画されることになる。
【００４２】
ところで、画面テーマの切替時には、ＧＵＩ画面クラス，各ＧＵＩ部品クラス，ＧＵＩ画面テーマクラス及び各ＧＵＩ部品画面テーマクラスのメソッドが制御部４によって実行され、切替後の画面テーマのリソースファイル名を用いて画面テーマリソースファイルから画面テーマ定義データが読み出され、この画面テーマ定義データを用いて、アプリのメモリ領域に記憶されているＧＵＩ部品画面テーマインスタンスを更新するようになっている。
【００４３】
つまり、本実施形態では、画面テーマの切替時には、アプリ起動時にＧＵＩ部品画面テーマクラスのコンストラクタによって予め初期化されているＧＵＩ部品画面テーマインスタンスの属性を画面テーマ定義データを用いて設定しなおすことで、ＧＵＩ部品画面テーマインスタンスを更新するようにしている。なお、本実施形態では、アプリ起動時に生成したＧＵＩ部品画面テーマインスタンスはアプリケーションの終了時まで削除されない。
【００４４】
このように、本実施形態では、画面テーマの切替時には、新たにＧＵＩ部品画面テーマインスタンスの生成を行なわず、また、ＧＵＩ部品画面テーマインスタンスの初期化処理（例えばｎｅｗ演算子を用いる処理）も行なわないため、画面テーマの高速切替を実現できることになる。また、アプリの初期化から終了までメモリの使用領域が変動しないため、アプリのために確保するメモリ領域を少なくすることができ、これにより、メモリ容量の少ない携帯電話において画面テーマの切替機能を実現できることになる。
【００４５】
このようにして、ＧＵＩ画面テーマクラスを含むものとして構成されるアプリケーションプログラムにしたがって、制御部４が、切替後の画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出し、アプリのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップを実行することになる。この機能を切替時画面テーマ読出処理手段という。ここでは、画面テーマ定義データは、ＧＵＩ部品画面テーマインスタンスの属性値としてアプリのメモリ領域に記憶される。
【００４６】
そして、ＧＵＩ部品画面テーマインスタンスを更新すると、ＧＵＩ画面テーマクラスのメソッドが制御部４によって実行され、ＧＵＩ画面クラス（具体的には各ＧＵＩ部品クラス）に対して画面無効化通知がなされ、これに応じて、（ＧＵＩ画面クラス（具体的には各ＧＵＩ部品クラス）のメソッドが制御部４によって実行され、ＧＵＩ部品インスタンス及びＧＵＩ部品画面テーマインスタンスを参照しながら、ＧＵＩ画面を構成するＧＵＩ部品のそれぞれが再描画され、結果的にＧＵＩ画面が再描画されることになる。
【００４７】
この場合、各ＧＵＩ部品クラスのメソッドでは、自らのプロセス内のメモリアクセスで、ＧＵＩ部品インスタンスを参照できるだけでなく、さらにＧＵＩ部品画面テーマインスタンスを参照して画面テーマ定義データを取得できることになる。これにより、画面テーマの高速切替が実現できることになる。
例えば、ボタンクラスのメソッドが制御部４によって実行されると、ポインタを用いて、ボタン１インスタンス及びボタン画面テーマインスタンスを読み出しながら、ボタン１が再描画されることになる。同様に、ボタンクラスのメソッドが制御部４によって実行されると、ポインタを用いて、ボタン２インスタンス及びボタン画面テーマインスタンスを読み出しながら、ボタン２が再描画されることになる。
（３）また、本実施形態では、現在の画面テーマが、複数の画面テーマの中のどの画面テーマに設定されているかを、システム全体で１個のリソースファイル名（画面テーマに関する情報；例えばポインタ）によって管理する。
【００４８】
具体的には、現在の画面テーマリソースファイルのファイル名（以下、リソースファイル名という）を記憶部（例えばフラッシュメモリ）５に格納しておき、携帯電話１の電源投入時（ＯＳ起動時）に、ＯＳのために確保されたメモリ領域にロードされるようにして（ここではカーネルのメモリ領域にカーネルオブジェクトとしてロードされるようにして）、ＯＳによって現在の画面テーマリソースファイル名が管理されるようにしておく。これにより、ＯＳによって管理される画面テーマリソースファイル名を用いて画面テーマリソースファイルから画面テーマ定義データを読み出すことが可能となる。
【００４９】
このように、現在の画面テーマのリソースファイル名をシステム全体で１個だけ持つようにしているのは、以下の理由による。
つまり、各アプリケーションのメモリ領域のそれぞれに現在のリソースファイル名を持たせておくと、画面テーマの切替時に全てのアプリケーションが持っている現在のリソースファイル名を書き換えなくてはならず、アプリケーション間のコンテキストスイッチングの回数が多くなってしまい、オーバーヘッドが発生するため、画面テーマの切替が大変遅くなってしまう。
【００５０】
これに対し、現在の画面テーマのリソースファイル名をシステム全体で１個だけ持つようにしておけば、１個のリソースファイル名を１回だけ書き換えるだけで良く、アプリケーション間のコンテキストスイッチングの回数を減らすことができ、オーバーヘッドを抑えることができるため、画面テーマの高速切替を実現できるようになる。
【００５１】
そして、画面テーマの切替時には、ユーザによる画面テーマ決定指令に基づいて、ＯＳ（ここではカーネル）のメモリ領域に格納されている現在のリソースファイル名が書き換えられるようにしておき、これが書き換えられた場合に、ＯＳ（ここではカーネル）が、現在のリソースファイル名が書き換えられた時点で起動している各アプリ（ここではＧＵＩ画面テーマクラス）に対して画面テーマの変更通知を行ない、これに応じて、各アプリが再描画を行なうようにする。
【００５２】
例えば、ＯＳが、起動している各アプリに対してイベントを発生させるようにポインタを設定できるようになっているならば、このＯＳの機能を利用して、各アプリ（ここではＧＵＩ画面テーマクラス）に対してイベントを発生させるようにポインタを設定しておき、現在のリソースファイル名が書き換えられた場合に、ＯＳが、ポインタを用いて各アプリ（ここではＧＵＩ画面テーマクラス）に対してイベントを発生させることで、画面テーマの変更通知が行なわれるようにすれば良い。
【００５３】
なお、記憶部（例えばフラッシュメモリ）５には、最初、現在の画面テーマのリソースファイル名として、デフォルトとして設定された画面テーマのリソースファイル名が格納されているが、画面テーマが切り替えられ、カーネルのメモリ領域上のリソースファイル名が書き換えられると、記憶部５に格納されているリソースファイル名も書き換えられるようになっている。これにより、現在の画面テーマのリソースファイル名は、電源ＯＦＦ後も保存されることになる。
【００５４】
また、本実施形態の携帯電話１には、ユーザが任意にＧＵＩ画面の画面テーマを設定できるように、画面テーマを設定するのに用いる画面テーマ設定アプリ（スクリーン設定アプリ）が備えられている。この画面テーマ設定アプリケーションは、上述のアプリケーションと同様に構成され、ＧＵＩ画面の画面テーマが高速で切り替わるようになっている。なお、本実施形態では、画面テーマ設定アプリのほかに画面テーママネージャも備えられているが、画面テーママネージャによる処理（機能）を全て画面テーマ設定アプリに含ませて構成しても良い。
【００５５】
本実施形態の携帯電話１は、上述のように構成されるため、以下、制御部４によって行なわれる画面テーマの切り替えにかかわる処理について、図２〜図６を参照しながら説明する。
▲１▼アプリ起動時のＧＵＩ画面描画処理
まず、アプリ起動時に、上述のようにＧＵＩ画面クラスやＧＵＩ画面テーマクラスを含むアプリケーションプログラムにしたがって制御部（コンピュータ）４が実行するＧＵＩ画面の描画処理について、図２を参照しながら説明する。
【００５６】
なお、ここでは、ＧＵＩ画面の構成要素としてのボタン（ここでは２つのボタン１，２）の描画処理について説明するが、例えばリストなどの他の構成要素についても同様の描画処理が行なわれる。
図２に示すように、アプリケーションのＧＵＩ画面クラスは、ＧＵＩ画面を構成するボタン１を描画すべく、ボタンクラスに対して、ボタン１の描画を要求するメッセージを出す（ＧＵＩ画面クラスのコンストラクタによる処理）。
【００５７】
これに応じて、ボタンクラスは、ボタン画面テーマクラスに対して、ボタンの画面テーマを要求するメッセージを出す（ボタンクラスのコンストラクタによる処理）。なお、ボタンクラスのコンストラクタは、ボタンクラスによって生成されるインスタンス（オブジェクト）の初期化を行なう。
ボタン画面テーマクラスは、ボタンクラスからのメッセージを受けると、コンストラクタによって、以下のようにして、ボタン画面テーマクラスのインスタンス（ボタン画面テーマインスタンス）を生成する。なお、ボタン画面テーマクラスのコンストラクタは、ボタン画面テーマクラスによって生成されるインスタンスの初期化を行なう。
【００５８】
まず、ボタン画面テーマクラスは、ＯＳ（ここではカーネル）に対して、画面テーマリソースファイルのファイル名（以下、リソースファイル名という）を要求するメッセージを出す。
これに応じて、ＯＳ（ここではカーネル）は、ＯＳ（ここではカーネル）のために確保されたメモリ領域（ＯＳ用メモリ領域，カーネル用メモリ領域）に記憶されて管理される現在の画面テーマのリソースファイル名（画面テーマに関する情報；例えばポインタ）を読み出して、これをボタン画面テーマクラスに通知する。
【００５９】
なお、本実施形態では、複数の画面テーマリソースファイルを備えるが、ＯＳ起動時（電源投入時）には、デフォルトとして設定された画面テーマのリソースファイル名が、現在のリソースファイル名として、ＯＳ（ここではカーネル）のメモリ領域に記憶されるようになっている。
ボタン画面テーマクラスは、リソースファイル名を受け取ると、ＯＳに対してボタンの画面テーマ定義データを要求する。ここでは、ボタン画面テーマクラスは、リソースファイル名及びボタンの画面テーマ定義データが格納されているアドレスをＯＳに対して通知して、ボタンの画面テーマ定義データを要求する。
【００６０】
これに対して、ＯＳは、リソースファイル名及びボタンの画面テーマ定義データが格納されているアドレスを用いて、該当する画面テーマリソースファイルからボタンの画面テーマ定義データを読み出し、これをボタン画面テーマクラスに対して通知する。
このように、本実施形態では、制御部４は、アプリケーションプログラムにしたがって、ＯＳによって管理される現在の画面テーマのリソースファイル名を用いて画面テーマリソースファイルから画面テーマ定義データを読み出す処理を実行するようになっている。
【００６１】
次に、ボタン画面テーマクラスは、ボタンの画面テーマ定義データを受け取ると、これに基づいてボタン画面テーマインスタンス（オブジェクト）を生成し、アプリケーションプログラムのために確保されたメモリ領域（アプリ用メモリ領域）上に領域（ボタン画面テーマインスタンス用メモリ領域）を確保して、生成したボタン画面テーマインスタンスを格納する。また、ボタン画面テーマクラスは、ボタン画面テーマインスタンスを格納したメモリ領域のアドレスを記憶する［ここではポインタ（以下、ボタン画面テーマ用ポインタという）を設定する］（ステップＳ１０）。
【００６２】
このように、ボタン画面テーマクラス（ＧＵＩ画面テーマクラス）を含むアプリにしたがって、制御部４によって、アプリ起動時に、デフォルトとして設定された画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出し、アプリのメモリ領域に記憶させる処理（アプリ起動時画面テーマ読出処理ステップ）が実行される。この機能をアプリ起動時画面テーマ読出処理手段という。
【００６３】
そして、ボタン画面テーマクラスは、上述のボタンの画面テーマを要求するメッセージに対する応答として、ボタン画面テーマ用ポインタをボタンクラスに対して返す。
ボタンクラスは、ボタン画面テーマ用ポインタを受け取ると、これを記憶する。そして、ボタンクラスは、ボタン１のインスタンスを生成し、アプリ用メモリ領域上に領域（ボタン１インスタンス用メモリ領域）を確保して、生成したボタン１のインスタンスを格納する。また、ボタンクラスは、ボタン１のインスタンスを格納したメモリ領域のアドレスを記憶する［ここではポインタ（以下、ボタン１用ポインタという）を設定する］（ステップＳ２０）。
【００６４】
このようにして、ボタン画面テーマクラスがボタン画面テーマインスタンスを生成し、ボタンクラスがボタン１のインスタンスを生成した後、ボタンクラスは、これらのインスタンスを用いてボタン１を描画する（ステップＳ３０）。つまり、ボタンクラスは、ボタン１用ポインタを用いてボタン１のインスタンスを読み出し、さらにボタン画面テーマ用ポインタを用いてボタン画面テーマインスタンスを読み出して、ボタン１を描画する。
【００６５】
そして、ボタン１の描画が終了すると、ボタンクラスは、ＧＵＩ画面クラスに対してボタン１描画完了通知を行なう。
次いで、ＧＵＩ画面クラスは、ＧＵＩ画面を構成するボタン２を描画すべく、図２に示すように、ボタンクラスに対して、ボタン２の描画を要求するメッセージを出す（アプリ画面クラスのコンストラクタによる処理）。これに応じて、ボタンクラスは、ボタン画面テーマクラスに対して、ボタンの画面テーマを要求するメッセージを出す（ボタンクラスのコンストラクタによる処理）。
【００６６】
ボタン画面テーマクラスは、このメッセージを受けると、ボタン画面テーマ用ポインタをボタンクラスに対して通知する。
ボタンクラスは、ボタン画面テーマ用ポインタを受け取ると、これを記憶する。そして、ボタン２のインスタンスを生成し、アプリ用メモリ領域上に領域（ボタン２インスタンス用メモリ領域）を確保して、生成したボタン２のインスタンスを格納する。そして、ボタンクラスは、ボタン２のインスタンスを格納したメモリ領域のアドレスを記憶する［ここではポインタ（以下、ボタン２用ポインタという）を設定する］（ステップＳ４０）。
【００６７】
このようにして、ボタン２のインスタンスを生成した後、ボタンクラスは、このボタン２のインスタンス及び上述のボタン画面テーマインスタンスを用いてボタン２を描画する。つまり、ボタンクラスは、ボタン２用ポインタを用いてボタン２のインスタンスを読み出し、さらにボタン画面テーマ用ポインタを用いてボタン画面テーマインスタンスを読み出して、ボタン２を描画する（ステップＳ５０）。
【００６８】
そして、ボタン２の描画が終了すると、ボタンクラスは、アプリ画面クラスに対してボタン２描画完了通知を行なう。
以後、ＧＵＩ画面に含まれるボタンの数に応じて、上述のボタン２を描画する場合の処理が繰り返される。
▲２▼画面テーマ設定アプリケーションを用いた画面テーマ設定処理
次に、画面テーマ設定アプリ（ここでは画面テーママネージャも含む）にしたがって制御部（コンピュータ）４が実行する画面テーマの設定処理について、図３，図４を参照しながら説明する。
【００６９】
ここでは、最初に、画面テーマ設定アプリ（ここでは画面テーママネージャも含む）にしたがって制御部４が実行する画面テーマ設定アプリのＧＵＩ画面の描画処理について、図３を参照しながら説明し、次いで、画面テーマ設定アプリのＧＵＩ画面を介して画面テーマの設定を行なう場合に、画面テーマ設定アプリ（ここでは画面テーママネージャも含む）にしたがって制御部４が実行する画面テーマ設定処理について、図４を参照しながら説明する。
【００７０】
なお、画面テーマ設定アプリによるＧＵＩ画面の描画処理については、基本的には、上述したアプリによるＧＵＩ画面の描画処理（図２参照）と同様である。最初に、図３に示すように、ユーザが、画面テーマを設定すべく、画面テーマ設定アプリを起動させると、画面テーマリソースファイルのファイル数に応じた数の欄を有するリストを作成すべく、画面テーマ設定アプリ及び画面テーママネージャにしたがって、制御部４によって、以下のリスト作成処理が行なわれる。
【００７１】
まず、画面テーマ設定アプリは、画面テーママネージャに対して画面テーマリソースファイルのファイル数（以下、リソースファイル数という）を要求する。画面テーママネージャは、ＯＳに対して画面テーマリソースファイルのファイル名（以下、リソースファイル名という）を要求する。これに応じて、ＯＳは、ファイルシステムの画面テーマリソースファイル用ディレクトリに格納されている全ての画面テーマリソースのファイル名を取得し、これを画面テーママネージャに対して返答する。
【００７２】
画面テーママネージャは、リソースファイル名を取得すると、それぞれのリソースファイル名にテーマ番号（テーマＮＯ．）を付け、テーマＮＯ．とリソースファイル名とを対応づけた対応表を作成する（ステップＡ１０）。また、画面テーママネージャは、取得されたリソースファイル名に基づいてリソースファイル数を求め、画面テーマ設定アプリに返答する。
画面テーマ設定アプリは、リソースファイル数を受け取ると、リソースファイル数に応じた数の欄を有するリストを作成する（ステップＡ２０）。なお、リストの各欄は、画面テーママネージャが管理するテーマＮＯ．とリソースファイル名との対応表のテーマＮＯ．と関連づけられている。
【００７３】
次に、上述のようにして作成されるリストの各欄にタイトル文字列を組み込むべく、画面テーマ設定アプリ（ここでは画面テーママネージャも含む）にしたがって、制御部４によって、以下のタイトル文字列組込処理が行なわれる。
まず、図３に示すように、画面テーマ設定アプリは、画面テーママネージャに対して、リストの各欄に表示すべき画面テーマのタイトル文字列を各欄毎に要求する。
【００７４】
これに応じて、画面テーママネージャは、要求された欄に関連づけられているテーマＮＯ．に基づいてリソースファイル名を特定し（ステップＡ３０）、このリソースファイル名に基づいて、ＯＳに対して、画面テーマリソースファイルに格納されている画面テーマのタイトル文字列を要求する。
そして、画面テーママネージャは、ＯＳからタイトル文字列の返答があると、これを要求された欄に表示すべき画面テーマのタイトル文字列として、画面テーマ設定アプリに返答する。
【００７５】
画面テーマ設定アプリは、画面テーマのタイトル文字列の返答があると、上述のようにして作成したリストの各欄に、対応する画面テーマのタイトル文字列を組み込む処理（タイトル文字列組込処理）を行なう（ステップＡ４０）。
次いで、現在の画面テーマのタイトル文字列が表示される欄と他の画面テーマのタイトル文字列が表示される欄とをユーザが識別できるように、現在の画面テーマのタイトル文字列が表示される欄にフォーカスを当てるべく（強調表示すべく）、画面テーマ設定アプリ（ここでは画面テーママネージャも含む）にしたがって、制御部４によって、以下の処理が行なわれる。
【００７６】
まず、図３に示すように、画面テーマ設定アプリは、画面テーママネージャに対して、現在の画面テーマのテーマＮＯ．を要求する。
これに応じて、画面テーママネージャは、ＯＳ（ここではカーネル）に対して、現在の画面テーマのリソースファイル名を要求する。
そして、画面テーママネージャは、ＯＳ（ここではカーネル）から現在の画面テーマのリソースファイル名の返答があると、テーマＮＯ．とリソースファイル名とを対応づけて対応表を用いて、現在の画面テーマのリソースファイル名に対応するテーマＮＯ．を特定し（ステップＡ５０）、これを現在の画面テーマのテーマＮＯ．として、画面テーマ設定アプリに返答する。
【００７７】
画面テーマ設定アプリは、現在の画面テーマのテーマＮＯ．の返答を受けると、この現在の画面テーマのテーマＮＯ．に関連づけられている欄を現在の画面テーマのタイトル文字列を表示する欄として特定し、この欄と他の画面テーマのタイトル文字列が表示される欄とをユーザが識別できるように、現在の画面テーマのタイトル文字列を表示する欄にフォーカスが当たるようにして画面テーマリスト（画面テーマ一覧）を完成させ、この画面テーマリストを含むＧＵＩ画面をディスプレイ上に表示させる（ステップＡ６０）。
【００７８】
ここで、図７では、画面テーマ設定アプリのＧＵＩ画面として、８つの欄を有する画面テーマリスト，選択ボタン，スクロールボタン，アンテナ・電池残量等を含むＧＵＩ画面をディスプレイ上に表示した状態を例示している。
また、図７中、画面テーマリストの第１欄から第８欄までの各欄に順に、”ＡｃｃｅｓｓｏｒｉｅｓＲｕｂｙ”，”ＡｃｃｅｓｓｏｒｉｅｓＳａｐｐｈｉｒｅ”，”ＣｌａｓｓｉｃａｌＧｒｅｅｎ”，”ＣｌａｓｓｉｃａｌＴｏｍａｔｏ”，”ＦａｎｃｙＯｒａｎｇｅ”，”ＦａｎｃｙＰｉｎｋ”，”ＦｏｒｅｓｔＡｑｕａ”，”ＦｏｒｅｓｔＹｅｌｌｏｗ”と組み込まれている文字列が、画面テーマのタイトル文字列である。
【００７９】
さらに、図７では、現在の画面テーマのタイトル文字列を表示する欄として、ユーザが識別しうるように、”ＦａｎｃｙＰｉｎｋ”というタイトル文字列が表示されている第１欄にフォーカスが当てられた状態を例示している。
また、現在の画面テーマが”ＦａｎｃｙＰｉｎｋ”という画面テーマになっており、上述の画面テーマ設定アプリによるＧＵＩ画面の描画処理（例えばステップＡ２０，Ａ４０，Ａ６０）として、上述したアプリによるＧＵＩ画面の描画処理（図２参照）と同様の処理が行なわれるため、例えば図７に示すように、画面テーマ設定アプリのＧＵＩ画面が、”ＦａｎｃｙＰｉｎｋ”という画面テーマで全体的に統一されたものとして表示される。
【００８０】
次に、上述のようにしてディスプレイ上に表示された画面テーマ設定アプリのＧＵＩ画面を介して画面テーマの設定を行なう場合に、画面テーマ設定アプリ（ここでは画面テーママネージャも含む）にしたがって制御部４が実行する画面テーマ設定処理（画面テーマを他の画面テーマに変更する処理）について、図４を参照しながら説明する。
【００８１】
まず、ユーザが操作部３を操作して他の画面テーマのタイトル文字列が表示されている欄を選択すると、画面テーマ設定アプリは、画面テーママネージャに対して、選択された画面テーマの画面テーマ定義データを要求する。
これに応じて、画面テーママネージャは、テーマＮＯ．とリソースファイル名とを対応づけて対応表を用いて、選択された画面テーマのタイトル文字列が表示されている欄に関連づけられているテーマＮＯ．に対応するリソースファイル名を特定し（ステップＢ１０）、このリソースファイル名に基づいて、ＯＳに対して、画面テーマ定義データを要求する。
【００８２】
そして、画面テーママネージャは、ＯＳから画面テーマ定義データの返答を受けると、これを選択された画面テーマ定義データとして、画面テーマ設定アプリに返答する。
画面テーマ設定アプリは、選択された画面テーマ定義データの返答を受けると、画面テーマのリストを含むＧＵＩ画面の画面テーマを切り替えて表示する（ステップＢ２０）。具体的には、画面テーマ設定アプリは、後述するＧＵＩ画面の再描画処理（図６参照）と同様の処理を行なって、画面テーマ設定アプリのＧＵＩ画面を再描画することで、ＧＵＩ画面の画面テーマを切り替えることになる。
【００８３】
このように、制御部４が、画面テーマ設定アプリ（ここでは画面テーママネージャも含む）にしたがって、画面テーマ設定アプリのＧＵＩ画面に含まれる画面テーマリストの選択位置に応じて、ＧＵＩ画面の画面テーマを切り替える処理を実行するようにしている。
その後、ユーザが、操作部３を操作して図７のＧＵＩ画面上に表示されている「選択」ボタンを押すことで、画面テーマを他の画面テーマに切り替えることを決定する指令（画面テーマ決定指令）を出した場合、画面テーマ設定アプリは、画面テーママネージャに対して、決定された画面テーマのタイトル文字列が表示されている欄のテーマＮＯ．を通知して、現在の画面テーマのリソースファイル名を書き換えるように要求する。
【００８４】
これに応じて、画面テーママネージャは、テーマＮＯ．とリソースファイル名とを対応づけて対応表を用いて、決定された画面テーマのタイトル文字列が表示されている欄に関連づけられているテーマＮＯ．に対応するリソースファイル名を特定し（ステップＢ３０）、ＯＳ（ここではカーネル）に対して、特定されたリソースファイル名を通知して、現在の画面テーマのリソースファイル名を書き換えるように要求する。
【００８５】
ＯＳ（ここではカーネル）は、画面テーママネージャからの現在の画面テーマのリソースファイル名の書換要求を受けると、自らが管理している現在の画面テーマのリソースファイル名を、特定されたリソースファイル名に書き換える（ステップＢ４０）。
なお、ここでは、ユーザによる画面テーマの選択時に、画面テーマ設定アプリのＧＵＩ画面自体の画面テーマを切り替えるようにしているが、これに限られるものではなく、例えば、予め画面テーマリソースファイルにそれぞれの画面テーマに対応するビットマップイメージを格納しておき、制御部４が、画面テーマ設定アプリ（ここでは画面テーママネージャも含む）にしたがって、以下のような処理を行なうことで、画面テーマ設定アプリのＧＵＩ画面上にビットマップイメージを表示させるようにしても良い。
【００８６】
この場合、まず、図５に示すように、ユーザが操作部を操作して他の画面テーマのタイトル文字列が表示されている欄を選択すると、画面テーマ設定アプリは、画面テーママネージャに対して、選択された画面テーマのビットマップイメージを要求する。
これに応じて、画面テーママネージャは、テーマＮＯ．とリソースファイル名とを対応づけて対応表を用いて、選択された画面テーマのタイトル文字列が表示されている欄に関連づけられているテーマＮＯ．に対応するリソースファイル名を特定し（ステップＣ１０）、このリソースファイル名に基づいて、ＯＳに対して、画面テーマのビットマップイメージを要求する。
【００８７】
そして、画面テーママネージャは、ＯＳから画面テーマのビットマップイメージの返答を受けると、これを選択された画面テーマのビットマップイメージとして、画面テーマ設定アプリに返答する。
画面テーマ設定アプリは、選択された画面テーマのビットマップイメージの返答を受けると、画面テーマリストを含むＧＵＩ画面上にビットマップイメージを表示させる（ステップＣ２０）。
【００８８】
このように、制御部４が、画面テーマ設定アプリ及び画面テーママネージャにしたがって、画面テーマ設定アプリのＧＵＩ画面に含まれる画面テーマリストの選択位置に応じて、ＧＵＩ画面上にビットマップイメージを表示させる処理を実行するようにしている。
その後、ユーザが、操作部を操作して図７のＧＵＩ画面上に表示されている「選択」ボタンを押すことで、画面テーマを他の画面テーマに切り替えることを決定する指令（画面テーマ決定指令）を出した場合、画面テーマ設定アプリは、画面テーママネージャに対して、現在の画面テーマのリソースファイル名の変更を要求する。
【００８９】
これに応じて、画面テーママネージャは、テーマＮＯ．とリソースファイル名とを対応づけて対応表を用いて、決定された画面テーマのタイトル文字列が表示されている欄に関連づけられているテーマＮＯ．に対応するリソースファイル名を特定し（ステップＣ３０）、ＯＳ（ここではカーネル）に対して、特定されたリソースファイル名を通知して、現在の画面テーマのリソースファイル名を書き換えるように要求する。
【００９０】
ＯＳ（ここではカーネル）は、画面テーママネージャからの現在の画面テーマのリソースファイル名の書換要求を受けると、自らが管理している現在の画面テーマのリソースファイル名を、特定されたリソースファイル名に書き換える（ステップＣ４０）。
▲３▼画面テーマ切替時のアプリのＧＵＩ画面の再描画処理
次に、上述のようにして画面テーマを切り替えるべく他の画面テーマの設定が行なわれた場合に、ＧＵＩ画面クラス及びＧＵＩ画面テーマクラスを含むアプリにしたがって、制御部４が実行するアプリのＧＵＩ画面の再描画処理（画面テーマ切替処理）について、図６を参照しながら説明する。
【００９１】
なお、ここでは、ＧＵＩ画面の構成要素としてのボタン（ここでは２つのボタン１，２）の再描画処理について説明するが、例えばリストなどの他の構成要素についても同様の再描画処理が行なわれる。
まず、上述のようにして画面テーマを他の画面テーマに切り替える決定がなされ、ＯＳ（ここではカーネル）のメモリ領域に記憶されている現在のリソースファイル名（画面テーマに関する情報）が書き換えられた場合に、図６に示すように、ＯＳ（ここではカーネル）が、現在のリソースファイル名が書き換えられた時点で起動している各アプリ（ここではＧＵＩ画面テーマクラス）に対して、画面テーマの変更通知がなされる。
【００９２】
本実施形態では、ＯＳが、起動している各アプリケーションに対してイベントを発することができるようにポインタの設定が可能となっているため、このＯＳの機能を利用して、各アプリ（ここではＧＵＩ画面テーマクラス）に対してイベントを発することができるようにポインタを設定しておき、現在のリソースファイル名が書き換えられた場合に、ＯＳが、ポインタを用いて各アプリ（ここではＧＵＩ画面テーマクラス）に対してイベントを発することで、画面テーマの変更通知が行なわれるようになっている。
【００９３】
ＧＵＩ画面テーマクラスは、画面テーマの変更通知（イベント）を受けると、ＯＳ（ここではカーネル）に対して、現在の画面テーマのリソースファイル名を要求するメッセージを出す。
具体的には、ＧＵＩ画面テーマクラスは、例えばボタン画面テーマクラスなどのＧＵＩ部品画面テーマクラスを集約したものとして構成されるため、各ＧＵＩ部品画面テーマクラスが、ＯＳ（ここではカーネル）に対して、現在の画面テーマのリソースファイル名を要求するメッセージを出す。
【００９４】
これに応じて、ＯＳ（ここではカーネル）は、ＯＳ（ここではカーネル）のメモリ領域に記憶されている現在のリソースファイル名を読み出して、これをＧＵＩ画面テーマクラス（具体的には各ＧＵＩ部品画面テーマクラス）に通知する。なお、この段階では、現在のリソースファイル名は画面テーマ切替後のリソースファイル名に書き換えられている。
【００９５】
ＧＵＩ画面テーマクラス（具体的にはＧＵＩ部品画面テーマクラス）は、リソースファイル名を受け取ると、ＯＳに対して、それぞれのＧＵＩ部品（例えばボタン）の画面テーマ定義データを要求する。ここでは、ＧＵＩ画面テーマクラス（具体的にはＧＵＩ部品画面テーマクラス）は、リソースファイル名及びそれぞれのＧＵＩ部品（例えばボタン）の画面テーマ定義データが格納されているアドレスをＯＳに対して通知して、それぞれのＧＵＩ部品（例えばボタン）の画面テーマ定義データを要求する。
【００９６】
これに対して、ＯＳは、リソースファイル名及びそれぞれのＧＵＩ部品（例えばボタン）の画面テーマ定義データが格納されているアドレスを用いて、該当する画面テーマリソースファイルからそれぞれのＧＵＩ部品（例えばボタン）の画面テーマ定義データを読み出し、これをＧＵＩ画面テーマクラス（具体的にはＧＵＩ部品画面テーマクラス）に通知する。
【００９７】
ＧＵＩ画面テーマクラス（具体的にはＧＵＩ部品画面テーマクラス）は、各ＧＵＩ部品（例えばボタン）の画面テーマ定義データを受け取ると、これらを用いて、ＧＵＩ部品画面テーマインスタンス用メモリ領域（例えばボタン画面テーマインスタンス用メモリ領域）に格納されているそれぞれのＧＵＩ部品画面テーマインスタンス（例えばボタン画面テーマインスタンス）を更新する（ステップＤ１０）。
【００９８】
つまり、アプリ起動時に、ＧＵＩ部品画面テーマクラス（例えばボタン画面テーマインスタンス）のコンストラクタによって予め初期化されているＧＵＩ部品画面テーマインスタンス（例えばボタン画面テーマインスタンス）の属性を、画面テーマ定義データを用いて設定しなおすことでＧＵＩ部品画面テーマインスタンスを更新する。
【００９９】
このようにして、ＧＵＩ画面テーマクラスを含むものとして構成されるアプリケーションプログラムにしたがって、制御部４が、切替後の画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出し、アプリのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップを実行することになる。ここでは、画面テーマ定義データは、ＧＵＩ部品画面テーマインスタンスの属性値としてアプリのメモリ領域に記憶される。
【０１００】
この場合、画面テーマ切替後のＧＵＩ部品画面テーマインスタンス（例えばボタン画面テーマインスタンス）が格納されているＧＵＩ部品画面テーマインスタンス用メモリ領域のアドレスは、画面テーマ切替前のアドレスと変わらないため、ＧＵＩ部品画面テーマ用ポインタ（例えばボタン画面テーマ用ポインタ）は変更されない。
【０１０１】
このようにして、ＧＵＩ画面テーマクラス（具体的にはＧＵＩ部品画面テーマクラス）が、ＧＵＩ画面を構成するＧＵＩ部品の画面テーマインスタンス（ＧＵＩ部品画面テーマインスタンス）の全てを更新した後、ＧＵＩ画面クラスに対してＧＵＩ画面の無効化通知（画面無効化通知）を行なう。
ＧＵＩ画面クラスが、画面無効化通知を受けると、ＧＵＩ画面クラスに含まれる各ＧＵＩ部品クラスがそれぞれ各ＧＵＩ部品を再描画する（ステップＤ２０）。
【０１０２】
例えば、ボタン１，ボタン２を含むＧＵＩ画面を再描画する場合を例に説明する。
まず、ＧＵＩ画面クラスは、ボタンクラスに対して、ボタン１の再描画を要求するメッセージを出す。これに応じて、ボタンクラスは、更新されたボタン画面テーマインスタンス及びボタン１インスタンスを用いてボタン１を再描画する。つまり、ボタンクラスは、ボタン１インスタンス用ポインタを用いてボタン１インスタンスを読み出し、さらにボタン画面テーマインスタンス用ポインタを用いてボタン画面テーマインスタンスを読み出して、ボタン１を再描画する。
【０１０３】
次いで、ＧＵＩ画面クラスは、ボタンクラスに対して、ボタン２の再描画を要求するメッセージを出す。これに応じて、ボタンクラスは、更新されたボタン画面テーマインスタンス及びボタン２インスタンスを用いてボタン２を再描画する。つまり、ボタンクラスは、ボタン２インスタンス用ポインタを用いてボタン２インスタンスを読み出し、さらにボタン画面テーマインスタンス用ポインタを用いてボタン画面テーマインスタンスを読み出して、ボタン２を再描画する。
【０１０４】
このように、ボタンクラスは、切替後の画面テーマの画面テーマ定義データをＯＳによって管理されている画面テーマリソースファイルから読み出すのではなく、上述のようにしてアプリのメモリ領域に記憶した画面テーマ定義データ（ボタン画面テーマインスタンス）を用いて、２つのボタン１，ボタン２を再描画することになる。
【０１０５】
これは、ＧＵＩ画面クラスを含むものとして構成されるアプリケーションプログラムにしたがって、制御部４が、アプリのメモリ領域に記憶されている画面テーマ定義データ（ＧＵＩ部品画面テーマインスタンス）を用いてＧＵＩ画面に含まれる複数個のＧＵＩ部品を描画するＧＵＩ画面描画処理ステップを実行することを意味する。この機能をＧＵＩ画面描画処理手段という。
【０１０６】
このようにして、アプリとＯＳとの間のコンテキストスイッチングを減らして、オーバーヘッドを抑えるようにして、各アプリの画面テーマの切替が高速で行なわれるようにしている。
例えば画面テーマが”ＦａｎｃｙＰｉｎｋ”に設定されている場合（図７参照）、各アプリのＧＵＩ画面（ここでは電話帳アプリのＧＵＩ画面）は、例えば図８に示すような画面として表示されるが、これを、上述のようにして画面テーマ設定アプリを用いて画面テーマを切り替えて、切替後の画面テーマを例えば”ＦｏｒｅｓｔＹｅｌｌｏｗ”に設定した場合（図９参照）、各アプリのＧＵＩ画面（ここでは電話帳アプリのＧＵＩ画面）は、例えば図１０に示すような画面に高速で切り替わることになる。
【０１０７】
したがって、本実施形態にかかる携帯端末としての携帯電話及びアプリケーションプログラムによれば、アプリケーションの画面が全体的に統一されたテーマ（画面テーマ）で表現され、このような画面テーマを高速で切り替える機能を実装できるという利点がある。また、できるだけ少ないメモリ領域を使用しながら、画面テーマの切替（特に高速切替）を実現できるという利点もある。
【０１０８】
なお、上述の実施形態では、携帯電話を例に説明したが、携帯端末は、携帯電話に限られるものではなく、例えば携帯情報端末（ＰＤＡ；Ｐｅｒｓｏｎａｌ　Ｄｉｇｉｔａｌ　Ａｓｓｉｓｔａｎｔｓ）などの携帯型の端末が含まれる。また、上述の実施形態では、本発明を携帯電話に適用したものとして説明したが、本発明は、携帯電話をはじめとする携帯端末に適用できるだけでなく、画面テーマの切替機能を備える例えばパーソナルコンピュータのようなものにも適用できる。
【０１０９】
また、上述の実施形態では、画面テーマ切替処理を制御部４に実行させるアプリケーションプログラム（携帯電話用アプリケーションプログラム）を備える携帯電話について説明したが、このようなアプリーションプログラムは、コンピュータ読取可能な記録媒体に格納することができ、記録媒体に格納した状態で頒布し、市場を流通させ、また売買することができる。
【０１１０】
そして、このような記録媒体に格納されているアプリケーションプログラムを携帯電話などの携帯端末やパーソナルコンピュータなどのコンピュータにインストールし、携帯端末やコンピュータがこのプログラムを実行することで、上述の実施形態で説明したものと同様の作用，効果が得られる。
ここで、記録媒体には、例えば半導体メモリなどのメモリ，磁気ディスク，光ディスク（例えばＣＤ−ＲＯＭ等），光磁気ディスク（ＭＯ），磁気テープ，ハードディスク，フレキシブルディスク，ＩＣカード，ＲＯＭカートリッジ，パンチカード，コンピュータ内部の記憶装置（ＲＡＭやＲＯＭなどのメモリ），外部記憶装置等のプログラムを記録することができるものが含まれる。また、バーコードなどの符号が印刷された印刷物等のコンピュータ読取可能な種々の媒体を利用することもできる。なお、ＣＤ−ＲＯＭ，ＭＯ，磁気テープ，ＩＣカード等を可搬型記録媒体ともいう。
【０１１１】
なお、ここでは、アプリケーションプログラムをコンピュータ読取可能な記録媒体に格納しているが、記録媒体に格納しなくても良い。また、アプリケーションプログラムは、上述のような記録媒体に格納せずに、例えば伝送媒体としてのネットワーク（通信ネットワーク）を介して伝送（送受信）することもでき、これによりアプリケーションプログラムを頒布し、市場を流通させ、また売買することもできる。例えば、アプリケーションプログラムをウェブサーバ等にアップロードしたり、インターネット等のネットワークを経由して例えばウェブサーバ等からダウンロードしたりすることもできる。
【０１１２】
また、本発明は、上述した実施形態に限定されず、上記以外にも、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
（付記１）　同種のグラフィカル・ユーザ・インターフェース（以下、ＧＵＩという）部品を複数個含むＧＵＩ画面を表示させるアプリケーションプログラムのＧＵＩ画面の画面テーマを切り替える処理を実行する制御部と、
画面テーマを定義する画面テーマ定義データを格納する記憶部とを備え、
前記制御部が、
切替後の画面テーマの画面テーマ定義データを前記記憶部から読み出し、前記アプリケーションプログラムのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップと、
前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを用いて前記ＧＵＩ画面に含まれる同種の複数個のＧＵＩ部品を描画するＧＵＩ画面描画処理ステップとを含む処理を実行するように構成されることを特徴とする、携帯端末。
【０１１３】
（付記２）　前記制御部が、前記切替時画面テーマ読出処理ステップにおいて、前記記憶部から前記ＧＵＩ画面に含まれるＧＵＩ部品の画面テーマ定義データのみを読み出し、前記アプリケーションプログラムのメモリ領域に記憶させる処理を実行するように構成されることを特徴とする、付記１記載の携帯端末。
（付記３）　前記制御部が、
前記アプリケーションプログラムの起動時に、デフォルトとして設定された画面テーマの画面テーマ定義データを前記記憶部から読み出し、前記アプリケーションプログラムのメモリ領域に記憶させるアプリ起動時画面テーマ読出処理ステップを実行するように構成され、
前記切替時画面テーマ読出処理ステップにおいて、切替後の画面テーマの画面テーマ定義データを前記記憶部から読み出し、前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを更新する処理を実行するように構成されることを特徴とする、付記１又は２記載の携帯端末。
【０１１４】
（付記４）　前記制御部が、前記切替時画面テーマ読出処理ステップにおいて、オペレーティングシステムによって管理される画面テーマに関する情報を用いて前記記憶部から画面テーマ定義データを読み出す処理を実行するように構成されることを特徴とする、付記１〜３のいずれか１項に記載の携帯端末。
（付記５）　前記制御部が、
前記記憶部に格納されている画面テーマ定義データを読み出し、オペレーティングシステムのために確保されたメモリ領域に展開する処理を実行するように構成され、
前記記憶部から前記画面テーマ定義データを読み出すのに代えて、前記記憶部から読み出され、前記オペレーティングシステムのメモリ領域に展開されている前記画面テーマ定義データを読み出す処理を実行するように構成されることを特徴とする、付記１〜４のいずれか１項に記載の携帯端末。
【０１１５】
（付記６）　前記制御部が、オペレーティングシステムによって管理される画面テーマに関する情報が書き換えられた場合に、前記切替時画面テーマ読出処理ステップ及び前記ＧＵＩ画面描画処理ステップを実行するように構成されることを特徴とする、付記１〜５のいずれか１項に記載の携帯端末。
（付記７）　前記制御部が、
画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムにしたがって、画面テーマ決定指令に応じて、オペレーティングシステムによって管理される画面テーマに関する情報を切替後の画面テーマに関する情報に書き換える処理を実行するように構成され、
前記オペレーティングシステムにしたがって、前記画面テーマに関する情報が書き換えられた場合に、前記アプリケーションプログラムに対して画面テーマ変更通知を行なう処理を実行するように構成され、
前記アプリケーションプログラムにしたがって、前記オペレーティングシステムからの画面テーマ変更通知を受けた場合に、前記切替時画面テーマ読出処理ステップ及び前記ＧＵＩ画面描画処理ステップを実行するように構成されることを特徴とする、付記１〜５のいずれか１項に記載の携帯端末。
【０１１６】
（付記８）　前記制御部が、画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムのＧＵＩ画面に含まれる画面テーマリストの選択位置に応じて、前記画面テーマ設定アプリケーションプログラムのＧＵＩ画面の画面テーマを切り替える処理を実行するように構成されることを特徴とする、付記１〜７のいずれか１項に記載の携帯端末。
【０１１７】
（付記９）　前記制御部が、画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムのＧＵＩ画面に含まれる画面テーマリストの選択位置に応じて、前記画面テーマ設定アプリケーションプログラムのＧＵＩ画面上にビットマップイメージを表示させる処理を実行するように構成されることを特徴とする、付記１〜７のいずれか１項に記載の携帯端末。
【０１１８】
（付記１０）　同種のグラフィカル・ユーザ・インターフェース（以下、ＧＵＩという）部品を複数個含むＧＵＩ画面の画面テーマを切り替える画面テーマ切替処理をコンピュータに実行させるためのアプリケーションプログラムであって、
前記画面テーマ切替処理が、
切替後の画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出し、前記アプリケーションプログラムのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップと、
前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを用いて前記ＧＵＩ画面に含まれる同種の複数個のＧＵＩ部品を描画するＧＵＩ画面描画処理ステップとを含むことを特徴とする、アプリケーションプログラム。
【０１１９】
（付記１１）　前記切替時画面テーマ読出処理ステップにおいて、前記画面テーマリソースファイルから前記ＧＵＩ画面に含まれるＧＵＩ部品の画面テーマ定義データのみを読み出し、前記アプリケーションプログラムのメモリ領域に記憶させる処理を前記コンピュータに実行させるように構成されることを特徴とする、付記１０記載のアプリケーションプログラム。
【０１２０】
（付記１２）　起動時に、デフォルトとして設定された画面テーマの画面テーマ定義データを前記画面テーマリソースファイルから読み出し、前記アプリケーションプログラムのメモリ領域に記憶させる起動時画面テーマ読出処理ステップを前記コンピュータに実行させるように構成され、
前記切替時画面テーマ読出処理ステップにおいて、切替後の画面テーマの画面テーマ定義データを前記画面テーマリソースファイルから読み出し、前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを更新する処理を前記コンピュータに実行させるように構成されることを特徴とする、付記１０又は１１記載のアプリケーションプログラム。
【０１２１】
（付記１３）　前記切替時画面テーマ読出処理ステップにおいて、オペレーティングシステムによって管理される画面テーマに関する情報を用いて前記画面テーマリソースファイルから画面テーマ定義データを読み出す処理を前記コンピュータに実行させるように構成されることを特徴とする、付記１０〜１２のいずれか１項に記載のアプリケーションプログラム。
【０１２２】
（付記１４）　前記画面テーマリソースファイルから前記画面テーマ定義データを読み出すのに代えて、前記画面テーマリソースファイルから読み出され、オペレーティングシステムのために確保されたメモリ領域に展開されている前記画面テーマ定義データを読み出す処理を前記コンピュータに実行させるように構成されることを特徴とする、付記１０〜１３のいずれか１項に記載のアプリケーションプログラム。
【０１２３】
（付記１５）　オペレーティングシステムによって管理される画面テーマに関する情報が書き換えられたときに前記オペレーティングシステムから発せられる画面テーマ変更通知を受けた場合に、前記切替時画面テーマ読出処理ステップ及び前記ＧＵＩ画面描画処理ステップを前記コンピュータに実行させるように構成されることを特徴とする、付記１０〜１４のいずれか１項に記載のアプリケーションプログラム。
【０１２４】
（付記１６）　同種のグラフィカル・ユーザ・インターフェース（以下、ＧＵＩという）部品を複数個含むＧＵＩ画面の画面テーマを切り替える画面テーマ切替処理をコンピュータに実行させるためのアプリケーションプログラムを格納したコンピュータ読取可能な記憶媒体であって、
前記画面テーマ切替処理が、
切替後の画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出し、前記アプリケーションプログラムのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップと、
前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを用いて前記ＧＵＩ画面に含まれる同種の複数個のＧＵＩ部品を描画するＧＵＩ画面描画処理ステップとを含むことを特徴とする、アプリケーションプログラムを格納したコンピュータ読取可能な記憶媒体。
【０１２５】
（付記１７）　前記アプリケーションプログラムが、前記切替時画面テーマ読出処理ステップにおいて、前記画面テーマリソースファイルから前記ＧＵＩ画面に含まれるＧＵＩ部品の画面テーマ定義データのみを読み出し、前記アプリケーションプログラムのメモリ領域に記憶させる処理を前記コンピュータに実行させるように構成されることを特徴とする、付記１６記載のアプリケーションプログラムを格納したコンピュータ読取可能な記憶媒体。
【０１２６】
（付記１８）　前記アプリケーションプログラムが、
起動時に、デフォルトとして設定された画面テーマの画面テーマ定義データを前記画面テーマリソースファイルから読み出し、前記アプリケーションプログラムのメモリ領域に記憶させるアプリ起動時画面テーマ読出処理ステップを含む処理を前記コンピュータに実行させるように構成され、
前記切替時画面テーマ読出処理ステップにおいて、切替後の画面テーマの画面テーマ定義データを前記画面テーマリソースファイルから読み出し、前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを更新する処理を前記コンピュータに実行させるように構成されることを特徴とする、付記１６又は１７記載のアプリケーションプログラムを格納したコンピュータ読取可能な記憶媒体。
【０１２７】
（付記１９）　前記アプリケーションプログラムが、前記切替時画面テーマ読出処理ステップにおいて、オペレーティングシステムによって管理される画面テーマに関する情報を用いて前記画面テーマリソースファイルから画面テーマ定義データを読み出す処理を前記コンピュータに実行させるように構成されることを特徴とする、付記１６〜１８のいずれか１項に記載のアプリケーションプログラムを格納したコンピュータ読取可能な記憶媒体。
【０１２８】
（付記２０）　前記アプリケーションプログラムが、前記画面テーマリソースファイルから前記画面テーマ定義データを読み出すのに代えて、前記画面テーマリソースファイルから読み出され、オペレーティングシステムのために確保されたメモリ領域に展開されている前記画面テーマ定義データを読み出す処理を前記コンピュータに実行させるように構成されることを特徴とする、付記１６〜１９のいずれか１項に記載のアプリケーションプログラムを格納したコンピュータ読取可能な記憶媒体。
【０１２９】
（付記２１）　前記アプリケーションプログラムが、オペレーティングシステムによって管理される画面テーマに関する情報が書き換えられたときに前記オペレーティングシステムから発せられる画面テーマ変更通知を受けた場合に、前記切替時画面テーマ読出処理ステップ及び前記ＧＵＩ画面描画処理ステップを前記コンピュータに実行させるように構成されることを特徴とする、付記１６〜２０のいずれか１項に記載のアプリケーションプログラムを格納したコンピュータ読取可能な記憶媒体。
【０１３０】
【発明の効果】
以上詳述したように、本発明の携帯端末及びアプリケーションプログラムによれば、アプリケーションの画面が全体的に統一されたテーマ（画面テーマ）で表現され、ＧＵＩ画面の画面テーマを高速で切り替えることができるという利点がある。また、できるだけ少ないメモリ領域を使用しながら、ＧＵＩ画面の画面テーマの切替（特に高速切替）を実現できるという利点もある。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかる携帯電話の全体構成を示す模式図である。
【図２】本発明の一実施形態にかかる携帯電話におけるアプリ起動時のアプリのＧＵＩ画面の描画処理について説明するためのシーケンス図である。
【図３】本発明の一実施形態にかかる携帯電話における画面テーマ設定時の画面テーマリストの表示処理について説明するためのシーケンス図である。
【図４】本発明の一実施形態にかかる携帯電話における画面テーマ設定時の画面テーマ選択時，決定時の処理について説明するためのシーケンス図である。
【図５】本発明の一実施形態にかかる携帯電話における画面テーマ設定時の画面テーマ選択時，決定時の処理の他の例について説明するためのシーケンス図である。
【図６】本発明の一実施形態にかかる携帯電話におけるアプリのＧＵＩ画面の画面テーマ切替時の処理について説明するためのシーケンス図である。
【図７】本発明の一実施形態にかかる携帯電話において表示される画面テーマリストの例を示す図である。
【図８】本発明の一実施形態にかかる携帯電話において表示されるアプリのＧＵＩ画面の例を示す図である。
【図９】本発明の一実施形態にかかる携帯電話において表示される画面テーマリストの選択位置を変えた場合の例を示す図である。
【図１０】本発明の一実施形態にかかる携帯電話において表示されるアプリのＧＵＩ画面の画面テーマが切り替えられた場合の例を示す図である。
【符号の説明】
１　携帯電話（携帯端末）
２　ディスプレイ
３　操作部
４　制御部
５　記憶部
【図１】
2004094656.tif 000003
【図２】
2004094656.tif 000004
【図３】
2004094656.tif 000005
【図４】
2004094656.tif 000006
【図５】
2004094656.tif 000007
【図６】
2004094656.tif 000008
【図７】
2004094656.tif 000009
【図８】
2004094656.tif 000010
【図９】
2004094656.tif 000011
【図１０】
2004094656.tif 000012