こんばんはです。
お世話になります。
現在D7でコンポーネントのアイコンを取得する方法を探しています。
ツールバーのパレットにコンポーネントのアイコンが並んでいますが、これはどこに保存されているのでしょうか?
DCRから都度読み込んでいるとは思えないんですが、これをTMemoとしていすると、そのアイコンを画像として取得する手段を求めています。
もしご存知の方おりましたらご指導お願いいたします。
いまさらDelphi 7というのは置いといて、普通にbplに入っていませんか?
通りすがりさん、ありがとうございます。
BPLに入っていると言う情報、初耳でした。
あれってたくさんありますけど、パレット生成時にはどのようにして採取しているのかわかりますでしょうか?
読み直してみて伝わらない部分があると思うので補足させていただきますと、画像ファイルが欲しいのではなく、道的に取得してStringgridやTImageに表示させたいのです。
たとえば、TMemoと指定すると、動的にTImageに表示できるような。
>いまさらDelphi 7というのは置いといて
まじですか、ジジイ認定されてしまいますか(>_<)
このあとのIDEって分離していないし、コンポーネントの登録がわかりにくいので使っていないのです。
みんなD7つかっていると思っていました。
リソースエディーターで取得したいと言う意味ではなく、プログラムで取得したいといみなのです。
いやだって制限付きとはいえ最新版が無料で使えるのに、もうとっくにサポートが切れたバージョン使うのも
どうかと思うんですよ。それにアンドックスタイルも使えるし。
で、まずはリソースエディタなどでどのように所望の画像が格納されているかを確認することが必要かと。
ここにロードされる bpl が記載されています
HKCU\software\Borland\delphi\7.0\Known Packages
このうちのどこかにあるはずなので、順に
1)dplを LoadLibrary。
2)EnumResourceNames に RT_BITMAP で、欲しいリソース名
(コンポーネント名)で検索。
3)見つかれば TImage 等にロードする。
参考資料
http://www.geocities.jp/asumaroyuumaro/program/tips/BitmapResource.html
ご参考までに、オープンソースのリソースエディタがあります。
iResEditor.js
https://www.petitmonte.com/labo/iResEditor/
※言語はHTML5/JavaScriptです。
※MITライセンスなので自由に使用、改変、流用できます。
>むさん
ありがとうございます。
まさにそれです!!
>ここにロードされる bpl が記載されています
見方がわからないんですが、keyがファイル名になっているんでしょうか?
で、試しにStandard.dblで検索したところみつからからなかったんですが、標準の場合はどこかにまとまっているんでしょうか?
>参考資料
そう。そこ見ていけるような気がしていたんですが、上記によりDPL名がわからないため、止まっていた次第です。
>iResEditor さん
ありがとうございます。
今回は編集が目的ではなく取得なので(>_<)
>とっくにサポートが切れたバージョン使うのも どうかと思うんですよ。
Portable版がXE3くらいまでしかないので無難なD7をと。
>まずはリソースエディタなどでどのように所望の画像が格納されているかを確認することが必要かと。
たぶん、そこじゃない気が。。。
どこに何が入っているのかわからない状況だからリソースエディタで調べるって話ですよ?
エディタってのは確かに書き換えツールではありますが、それ以前に表示ツールなわけで。
あとPortable版ってのがよくわかりませんが、最新のStarterは(制限はありますが)無料で
使えます。もしかして割った(懐かしい表現)ものを使っているのであれば、それは止めましょう。
む。さん。
ごめんなさい、よく確認したらありましたね(>_<)
無事解決しました!!
どうもありがとうございます。
>どこに何が入っているのかわからない状況だからリソースエディタで調べるって話ですよ?
たぶん、趣旨の違う話だったと思います。
>使っているのであれば、それは止めましょう。
https://www.vector.co.jp/magazine/softnews/131031/n1310311.html
ツイート | ![]() |