ページ 1 / 1
リソーススプリクトふぁいる?(ざつだん?)
Posted: 2010年10月13日(水) 21:20
by Hiragi(GKUTH)
前の節では自己紹介の雑談で
色々と意見を聞かせてもらって
ありがとうございました。
「あ 名前変わってます」
さて、本題ですが
Windowsプログラミングの本などを
呼んでいると
「リソーススプリクト」
という言葉がたくさん出てくるわけです。
「リソーススプリクト」
とはなんの役割なのか、
DXライブラリよ使っていくとき
必要になるのか、
ということの意見をききたいです。
よろしくお願いします。
Re:リソーススプリクトふぁいる?(ざつだん?)
Posted: 2010年10月13日(水) 22:24
by ookami
簡単に言えば、ソースコード以外の、いろいろなものを
管理するためのものです。
> DXライブラリよ使っていくとき
> 必要になるのか
リソーススクリプトとDXライブラリは、関係ありません。
「exeファイルのアイコンを変えたい」とか、
「Windowsの標準のメニューバーを使いたい」などの場合には、
必要になります。
Re:リソーススプリクトふぁいる?(ざつだん?)
Posted: 2010年10月13日(水) 22:45
by dic
>>リソーススクリプト
ググってもでてきませんね
どの本を参考にされているのでしょうか?
リソースは「資源」です
なので、無理矢理解釈してookamiさんのおっしゃっているような
subversionとかでしょうかね
Re:リソーススプリクトふぁいる?(ざつだん?)
Posted: 2010年10月14日(木) 01:56
by ISLe
> >>リソーススクリプト
> ググってもでてきませんね
ウチのマシンでググるとrcファイルの説明が大量にヒットしますけど。
さいきんグーグル先生のカスタマイズが強力過ぎてうっかりググレとか言えないです。
リソースは実行ファイルにリンクされてひとつになります。
#DLLファイルにくっつけることもできます。
専用のWindowsAPIを使って読み込むことができます。
ookamiさんがおっしゃったこと以外には最近は多言語対応によく使われます。
プログラムで使う文字列とか画像を全部リソースにしてDLLへ分離して
ウインドウズの言語設定によってアクセスするDLLを切り替えると
ひとつの実行ファイルで英語版とか日本語版を作れます。
そしてDLLの追加だけで対応言語を増やせます。
Re:リソーススプリクトふぁいる?(ざつだん?)
Posted: 2010年10月14日(木) 07:30
by toyo
ボタンやエディットボックスなどがたくさんあるダイアログをプログラムだけで作るとかなり面倒ですがリソーススクリプトで記述しておくと少し楽になります
普通はリソースエディタを使うのでスクリプトは自動作成されます
無料のExpressEditionにはリソースエディタが付属してませんがフリーのリソースエディタもあります
別のトピックスでookamiさんも挙げられていましたがResourceHackerというソフトを使えば他人が作ったソフトのメニューがリソーススクリプトで作られていた場合は英語から日本語への変換も楽に出来ます
DXライブラリではリソースは使えません
Re:リソーススプリクトふぁいる?(ざつだん?)
Posted: 2010年10月14日(木) 08:24
by へろりくしょん
>DXライブラリではリソースは使えません
使えますよ。
Re:リソーススプリクトふぁいる?(ざつだん?)
Posted: 2010年10月14日(木) 09:05
by toyo
おお!
DxLib.hを見なおしてみたらGetResourceInfoという関数がありますね
知りませんでした
Re:リソーススプリクトふぁいる?(ざつだん?)
Posted: 2010年10月14日(木) 09:35
by toyo
嘘書いたお詫びにDXライブラリのリソース関連の関数を抜き出してみました
GetResourceInfo
GetResourceIDString
SetResourceModule
LoadMenuResource
LoadGraphToResource
LoadDivGraphToResource
LoadSoundMemByResource
LoadMusicMemByResource
PlayMusicByResource
こんなものでしょうか
間違いのご指摘ありがとうございました
Re:リソーススプリクトふぁいる?(ざつだん?)
Posted: 2010年10月14日(木) 09:39
by へろりくしょん
>DxLib.hを見なおしてみたらGetResourceInfoという関数がありますね
というより、普通にAPI叩いて使えますよ。
と言っても、LoadImage() API でビットマップハンドルを取得しても、DXライブラリは独自の描画機構を持っていますので、どう使うのかは分かりませんが。
DIBからピクセルデータを取得して、MakeARGB8ColorSoftImage() 関数なんかでDXライブラリ用の画像を作るのでしょうか。 よく分かりません。
メニューもつけれますよ。 どうやってメッセージを受け取るのか分かりませんが。
GetMainWindowHandle() でウィンドウハンドルを取得して、サブクラス化でもすればいけるかもしれません。
ダイアログボックスは普通に使えますね。
使い方が少々特殊になってしまう感は否めませんが、Windowsプログラムですから、リソースだって普通に使えます。
Re:リソーススプリクトふぁいる?(ざつだん?)
Posted: 2010年10月14日(木) 11:52
by toyo
DXライブラリでメニュー、ビットマップ、サウンドのリソースを使ったサンプルプログラムを作ってみました
resourcetest.rcファイルに書いてあるのがリソーススクリプトになります
リソースはビルドしたらプログラムに埋め込まれるので実行時には不要になります
Re:リソーススプリクトふぁいる?(ざつだん?)
Posted: 2010年10月14日(木) 17:29
by Hiragi(GKUTH)
皆さん色々とご意見ありがとうございました
リソーススプリクトは
普通では使わないということですね
まあめんどうなことをしてでも使うことは
有りませんので
みなさん本当にありがとうございました!