[delphi-users:2226] コンポーネントアイコン方法を教えて下さい。

168 views
Skip to first unread message

snail3

unread,
Sep 30, 2011, 8:15:17 PM9/30/11
to delphi...@freeml.com
こんにちは、またわからないことが発生してしまいました。

Delphi6で作成したコンポを XE に持って行ったところアイコン表示が
無くなってしまいました。16bit リソース が利用できないといった内容
のエラーが発生します。そこで調べたところ DEKOさんのページに作り方
が載っていました。

http://ht-deko.minim.ne.jp/tech041.html

しかしこの方法は面倒。もっと簡単に作る方法はないかと調べると
Resource Builder という製品が見つかりました。

http://www.resource-builder.com/

しかし英語のホームページで使い方もまだよくわかりません。
そこで参考にしたいので
みなさんはどんな方法でアイコンを作っているのかよろしかったら教えて下さい。


--
takashi <taka...@csjpn.com>


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
友達の服をこっそり借りちゃお!「おしゃれ泥棒」
http://ad.freeml.com/cgi-bin/sa.cgi?id=humdh
-----------------------------------------------------[freeml by GMO]--

Magical-Soft

unread,
Oct 1, 2011, 7:54:20 AM10/1/11
to delphi...@freeml.com
Magical-Soft 石川です。

私はShadeとかPhotoshopで作った絵をIcoFXってフリーソフトでアイコン化して、
リソース書き換えしますね。

というかDelphiはXE2になっても256*256アイコンちゃんと使えてない気がする…。

snail3 <delphi...@freeml.com>さん:


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
戦国時代の武将達とともに天下統一を目指そう!
http://ad.freeml.com/cgi-bin/sa.cgi?id=huwbP

DEKO

unread,
Oct 1, 2011, 10:33:56 AM10/1/11
to delphi...@freeml.com
こんにちは。

> しかしこの方法は面倒。
あの方法は イメージエディタ (imagedit.exe) が付属しない Delphi 2005 以降で
Delphi のみを使って *.dcr を生成する方法です。簡単に作る方法ではありません。

Starter / アカデミック以外の XE をお持ちなら、Delphi 7 もお持ちでしょうから、
素直に imagedit.exe を使えばいいと思います。

そもそも、コンポーネントのアイコンってそんなに頻繁に作るもんじゃないので、
多少面倒でもバッチファイルの一つも書けばいいだけの話ではないでしょうか?

アイコン画像 3 つ揃えてリソーススクリプトファイル書いて、
リソースコンパイラでコンパイルしてリネームするだけですから、
Delphi でフロントエンドを書くのも簡単でしょう。

アイコン画像を作るのは imagedit.exe とかよりも
他のグラフィックソフトを使った方が便利だと思います。
ペイントブラシはあんまりなので、Paint.NET とかがいいかもですね。

また、どうしてもオールインワンで編集したいのであれば、

[XN Resource Editor 3.0.0.1]
http://www.wilsonc.demon.co.uk/delphi_2006.htm

なんてのがあります。英語ですがソースコードが公開されています (MPL) ので、
ご自分で日本語化する事も可能です。

# BDS (Delphi) 2006 製なので、Delphi 2007 でもコンパイルできます。

[XN Resource Editor 3.1.1.1]
http://cc.embarcadero.com/item/24268

こちらは Delphi 2009 でコンパイルされていますが、ソースコードは公開されていません。

--
by DEKO
-----------------------------
http://ht-deko.minim.ne.jp/
de...@ht-deko.minim.ne.jp
-----------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
「アルテイル」オンラインカードゲームで暇つぶし!
http://ad.freeml.com/cgi-bin/sa.cgi?id=huyrR

snail3

unread,
Oct 1, 2011, 10:48:12 PM10/1/11
to delphi...@freeml.com
みなさんから色々と教えていただいて、やっとコンポーネントアイコンが表示さ
れない原因がわかりました。

わかってしまえば簡単なことでした。

まず今回アイコンが表示されない件と16ビットリソースは関係ありませんでし
た。(..)

Delphi6 ではパッケージにコンポーネントを追加する場合、pas ファイルを
指定すれば自動で dcr も追加されます。

XE では dcr は追加されません。無理に指定すると xxx はすでにプロジェクト
に追加されています。と怒られます。この状態でプロジェクトをコンパイルして
インストールしてもアイコンは追加されません。

で、どうするかというと dpk をメモ帳などで開いて dcr を手動で追加します。
dproj を削除してから XE を立ち上げて dpk を読込、インストールします。
これでアイコンが表示されました。

あと念のため、ファイルの種類で rc ファイルを追加する方法も試しましたが駄
目でした。

ありがとうございました。
--
takashi <taka...@csjpn.com>


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
映画『サラリーマンNEO 劇場版(笑)』試写会へご招待!
http://ad.freeml.com/cgi-bin/sa.cgi?id=hu2wr

snail3

unread,
Oct 3, 2011, 12:59:50 AM10/3/11
to delphi...@freeml.com
> Starter / アカデミック以外の XE をお持ちなら、Delphi 7 もお持ちでしょうから、
> 素直に imagedit.exe を使えばいいと思います。

そうしました。

> また、どうしてもオールインワンで編集したいのであれば、
>
> [XN Resource Editor 3.0.0.1]
> http://www.wilsonc.demon.co.uk/delphi_2006.htm

先ほど雑談読ませていただきました。
色々と試していただいたようで申し訳ありません。

--
takashi <taka...@csjpn.com>


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
友達の服をこっそり借りちゃお!「おしゃれ泥棒」
http://ad.freeml.com/cgi-bin/sa.cgi?id=huIrJ

DEKO

unread,
Oct 3, 2011, 10:02:44 AM10/3/11
to delphi...@freeml.com
こんにちは。

> 先ほど雑談読ませていただきました。 色々と試していただいたようで申し訳ありません。
いえいえ、性分ですので。
そして、なんだかんだやってたらコンパイルが通るようになりました。

[XN Resource Editor 3.0.0.1 [ja] with Source]
http://ht-deko.minim.ne.jp/ft1110.html#111003

...という事で、日本語版もできました。

# Delphi 2007 でコンパイルできるソース付きです。
# (コンポーネント類を揃えるのが大変だと思いますが)

--
by DEKO
-----------------------------
http://ht-deko.minim.ne.jp/
de...@ht-deko.minim.ne.jp
-----------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
「アルテイル」オンラインカードゲームで暇つぶし!
http://ad.freeml.com/cgi-bin/sa.cgi?id=huSqD

snail3

unread,
Oct 3, 2011, 7:26:24 PM10/3/11
to delphi...@freeml.com
こんにちは

> [XN Resource Editor 3.0.0.1 [ja] with Source]
> http://ht-deko.minim.ne.jp/ft1110.html#111003

せっかくなので使ってみようと思ったのですが、、、

アクセスされた
URL『http://ht-deko.minim.ne.jp/xn_resourceeditor_3_0_0_1_ja.zip』が見つ
かりませんでした。

急ぎませんから、そのうちにお願いします。


--
takashi <taka...@csjpn.com>


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------


映画『サラリーマンNEO 劇場版(笑)』試写会へご招待!

http://ad.freeml.com/cgi-bin/sa.cgi?id=huVps

DEKO

unread,
Oct 3, 2011, 9:22:24 PM10/3/11
to delphi...@freeml.com
失礼しました、リンク先に不備があったようです。

http://ht-deko.minim.ne.jp/software/xn_resourceeditor_3_0_0_1_ja.zip
http://ht-deko.minim.ne.jp/software/xn_resourceeditor_3_0_0_1_ja_source.zip

になります。

--
by DEKO
-----------------------------
http://ht-deko.minim.ne.jp/
de...@ht-deko.minim.ne.jp
-----------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
使い方はいろいろ♪一部のメンバーだけにMLメールを送ろう!
http://ad.freeml.com/cgi-bin/sa.cgi?id=huWRZ

Mr.XRAY

unread,
Oct 4, 2011, 12:07:45 AM10/4/11
to delphi...@freeml.com
[delphi-users:2226] コンポーネントアイコン方法を教えて下さい。 へのレ
スです.

こんにちは.Mr.XRAYです.

>みなさんはどんな方法でアイコンを作っているのかよろしかったら教えて下さい。

DEKOさんのところの記事を元にこんなを作って(整備して)みました.
参考になれば.

[164_コンポーネントのアイコン作成支援プログラム]
http://mrxray.on.coocan.jp/Delphi/plSamples/164_CreateCompoIcon.htm


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
練習や試合の予定調整は「とっとと決め太郎」におまかせ!
http://ad.freeml.com/cgi-bin/sa.cgi?id=huZ7v

snail3

unread,
Oct 5, 2011, 3:26:23 AM10/5/11
to delphi...@freeml.com
触る程度ですが、動作させてみました。
多機能ですね。これ1つで大抵のことはできそう。
試しにアイコンを新規で作ってみました。
(つかった時の様子を書いておきます。)

「ファイル」「新規作成」を選択しても画面は何も変化無し。

「リソース」「リソースの追加」を選択して「BITMAP」を選択
すると Width Height Pixel Format を編集できます。
初期値はそれぞれ 128 96 24Bit

新規作成状態ではキャンバスは真っ黒。

画面右のカラーパレットで白を選択して、ツールアイコンで
バケツを選択して白で塗りつぶしたつもりが黒のまま、

試しにペンを選択して書くと白色。バケツの色は右ボタンで
選択しなければいけません。
もう一つ癖が有りました。パレットをダブルクリックしてしまうと
画面左側にパレットが飛び出します。ツールや色を選択するときは
優しくクリックしましょう。

サイズの違うアイコンを作成するのは、少し楽ができるかもしれません。
作成後、全選択でコピーして違うサイズのキャンバスにコピーすると
新しいキャンバスサイズに合わせて拡大・縮小してくれる機能がある
ようです。(この操作でできる時とできない時があって、確実に拡大縮小
するには何か手順があるようです)

ちょっと癖が有るようですが、なれてしまえば問題ないでしょう。

ファイルは拡張子 exe dll bpl scr cpl ocx res dcr rc
が使えます。

あとDEKO さんががんばって日本語対応してされたソースファイルが
あるので気に入らなければ自分で修正できます。

ソースファイルも少し見た程度ですが、本数がすごい!
元の作者Colin Wilson さんは C言語を昔触られていた方でしょうか
細かいモジュール単位でソースファイルが分かれているようです。

すばらしいツールありがとうございました。
--
takashi <taka...@csjpn.com>


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
映画『サラリーマンNEO 劇場版(笑)』試写会へご招待!

http://ad.freeml.com/cgi-bin/sa.cgi?id=hvuC5

snail3

unread,
Oct 5, 2011, 3:47:23 AM10/5/11
to delphi...@freeml.com
私がはまった点は、
1.ビットマップファイルを、dcr にする方法
  サイズと色数に関して、何が正しいのかわからなかった。
  複数のアイコンを持つことも可能みたいですが、
  試してみると、色数8Bit、サイズも24×24(他のサイズでも可)で
  1つあればOK
  
2.作成した dcr に存在している アイコン がコンポーネントパレットに
  表示されず、他のアイコンが表示されてしまう。

の2点でした。最終的に原因がわかったのは DEKO さんのページにあった

>パッケージにアイコンが含まれているのか調べてみる
> コンポーネントが含まれるパッケージ(*.BPL)を 任意のリソースエディタで
開いてみましょう (拡張子を "DLL" にリネームすると、大抵のリソースエディ
タで開けます)。アイコンファイルは存在しますか?

でした。bpl を開いてアイコンを調べると作ったアイコンが無い!

>DEKOさんのところの記事を元にこんなを作って(整備して)みました.

この「コンポーネントアイコン作成条件」と
原因調査方法の「パッケージにアイコンが含まれているのか調べてみる」
も入れていただけると私のような失敗は無くなるのではないでしょうか


--
takashi <taka...@csjpn.com>


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
使い方はいろいろ♪一部のメンバーだけにMLメールを送ろう!
http://ad.freeml.com/cgi-bin/sa.cgi?id=hvva0

Mr.XRAY

unread,
Oct 5, 2011, 10:44:17 AM10/5/11
to delphi...@freeml.com
[delphi-users:2248] Re: コンポーネントアイコン方法を教えて下さい。 へ
のレスです.

こんにちは,Mr.XRAYです.

>  サイズと色数に関して、何が正しいのかわからなかった。

DEKOさんの記事にも書いてありますが,改めて書きますと,

Delphi 7以前タイプ
  アイコン用のビットマップは,16色まで使用可能
  ツールパレットいうのはなかった
  ツーバーにコンポーネントのパレットがあった.
  表示サイズは 24 X 24 なので,作成するビットマップもそれにする
  付属のImage Editorで.dcrを作成する場合は,16色までしか作成できない
  Image Editorは,単独のビットマップであれば,256色まで作成が可能
  
Delpi 2005以降
  アイコンのビットマップは256色まで表示可能
  ツールパレットの表示は,16,24,32のサイズがある
  作成するサイズは任意だが,表示される時は拡大,縮小される
  ツールバーの表示サイズは,24なので,これ1つでもよい.
  24 X 24 にして,16色(4bit)にしておけば,Delphi 7以前でも使用可能
  Image Editorは付属しなくなった

何か正しいか(誰が正しいと判断するのか)は不明ですが,
表示サイズが決まっているのに,わざわざ他のサイズのものを作成する必要は
ないと思います.これは正しいとか,正しくないとかとは別の問題でしょうね.
多分.


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
メンバーで使える掲示板を活用しよう!
http://ad.freeml.com/cgi-bin/sa.cgi?id=hv1Zi

DEKO

unread,
Oct 5, 2011, 11:54:04 AM10/5/11
to delphi...@freeml.com
こんにちは。

> 画面右のカラーパレットで白を選択して、ツールアイコンで
> バケツを選択して白で塗りつぶしたつもりが黒のまま、
>
> 試しにペンを選択して書くと白色。バケツの色は右ボタンで
> 選択しなければいけません。

TCanvas を操作する感じだと思えばいいかもです。

ペン(左) -> TPen
塗りつぶし(右) -> TBrush
バケツ -> FloodFill() (ブラシ色で塗りつぶすので右)

作業状況ですが、現在では日本語化はほぼ終わり、
"海外製 ANSI アプリケーション特有の日本語関連のバグ" を修正中です。
http://ht-deko.minim.ne.jp/tech053.html#XNRESOURCEEDITOR

# どうして LowerCase / UpperCase を使うかなぁ...。

日本語関連と言えば...

Delphi 製の EXE を喰わせると RC DATA に DFM がそのまま出てきますが、
そのままの DFM なので、当然こんな事になります。
http://ht-deko.minim.ne.jp/ft0903.html#090326

rev.6 では、"DFMコンバータエキスパート" のように、
"Unicodeベースの10進コントロール文字列" をデコード/エンコード
してくれるので、日本語をそのまま入力する事が可能です。

# オリジナルの 3.0.0.1 の動作と比較すると解りやすいです。

--
by DEKO
-----------------------------
http://ht-deko.minim.ne.jp/
de...@ht-deko.minim.ne.jp
-----------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
メールだけでみんなを招待できる便利機能♪
http://ad.freeml.com/cgi-bin/sa.cgi?id=hv2Ny

Reply all
Reply to author
Forward
0 new messages