TOPページへ戻る  PCページへ戻る  一覧へ戻る

フォームにアイコンを付ける

Lazarusでは、FormのIconプロパティにIconファイルを指定しても フォームのアイコンになりません。Formにアイコンを付けるには、リソースファイルを用意する 必要があります。以下では、リソースファイルの作り方、Lazarusでの設定を記します。


  • リソースファイルの作り方
  • Lazarusに付属のwindres.exeにrcファイル(リソーススクリプトファイル)を 読み込ませることで作ります。手順は次の通りです。

    1. rcファイルを用意する
    2. Iconファイルを用意する
    3. windres.exeを使ってリソースファイル(*.res)を作成する

    rcファイルの作成は面倒なので、ひな形を作っておくと便利です。 私の自作ソフトLazRes のひな形でよろしければ、ここから持って行ってください。

    アイコンファイルの作成は、ビットマップをアイコンに変換するソフトを 使って作成すると楽ちんです。 私はtowofuさんの@Icon変換を使っています。 (towofuさん、多謝!)
     アイコンファイルを作ったらrcファイルと同じフォルダに置きます。

    最後にwindres.exeを使ってrcファイルをresファイルに変換します。rcファイル中で 指定されていれば、アイコンファイルも自動的にresファイルに読み込まれます。次のコマンドをコマンド ラインから実行します。

    
    C:\{Lazarus Install Dir}\pp\bin\i386-win32\windres.exe> windres.exe -I rc -i {rcファイルの場所} -O res -o {resファイルの場所} --include-dir {3つのファイルの場所}
    	

    このコマンドを打つのが面倒な人は、ドラッグ&ドロップでresファイルを作るソフト LazResを作りましたので使ってください。 rcファイル、アイコンファイルを作ったら、lazres.exeにrcファイルをドラッグ&ドロップすると rcファイルと同じ場所にresファイルが作成されます(フォームへのドラッグ&ドロップは対応していません)。 もちろん、LazResはLazarusで作ってます。


  • Lazarusでの設定
  • Lazarusプロジェクトファイル(*.lpr)のbeginの前に{$R *.res}を追加するだけです。
    後はコンパイルをすればフォームのアイコンをresファイルから読み込み、exeファイルに 書き込んでくれます。


    注意事項

    LazarusのForumでは、 XN Resource Editorを 使って直接resファイルを編集する方法が紹介されています。私もやってみましたが、XN Resource Editor (及びその日本語版)や Resource Hackerで編集した場合、 コメントなどに日本語を使うとコンパイルできなくなります(windres.exeが文字数の不整合というエラーを 出します)。上で述べた方法の通り、rcファイルを使う方が確実なようです。

TOPページへ戻る  PCページへ戻る  一覧へ戻る