Wiki内検索
メニューバーA
タグ
心に残る名言集
最近更新したページ
2013-03-24
2012-12-28
2012-11-23
2011-12-28
2011-12-10
2011-11-04
2011-05-04
2010-08-01
2010-07-29
2010-07-27
2010-06-15
2010-05-22
2010-05-06
2010-04-01
2010-03-28
2010-03-25
2010-03-12

20070619

機能仕様書を従来のWordで書く方法よりも良い(工数的、分かり易さ)方法を考えていたが、時間が無くなってきたんでWordで文章にしてみたら、それはそれでモヤモヤしていた部分が明確になるなあ。

VS2005でImageListに複数の画像を含むビットマップを設定する

正しい方法

  1. メニューから[プロジェクト]-[(プロジェクト名)のプロパティ]を選択。
  2. [リソース]タブをクリックする。
  3. [リソースの追加]から[既存のファイルの追加]を選択し、使用するビットマップを追加する。
  4. 必要であれば追加したビットマップの名前を変更する。今回は「test」という名前にしている。
  5. 追加したビットマップのプロパティで[Persistence]を「.resxに埋め込まれました」に変更する。←不要
  6. コードでimageListにビットマップを設定し、toolStripButtonに適用してみた。
Bitmap bmp = Moc1.Properties.Resources.test; // プロジェクト名はMoc1 imageList1.Images.AddStrip(bmp); // リソースエディタであらかじめ追加しておいたimageList1にセット
toolStrip1.ImageList = imageList1; // リソースエディタであらかじめ追加しておいたtoolStripにセット
toolStripButton1.ImageIndex = 4; //4番目を使ってみる

誤った方法

※自分でやってうまくいった程度なので、問題が無いかは不明。
いろんなとこからリソースの追加ができる。色々試したところVSが落ちたりする・・・。
※今回はリソースをexeに埋め込む方法を採用。
MFCではツールバーにビットマップを設定する際に16x80(16x16の画像5個分)といった複数の画像を含むビットマップを使っていたが、それをVS2005で流用する方法を調べた。
  1. ビットマップを利用したいフォームの.resxファイルをダブルクリックする。
  2. 開いたウィンドウの上部にある[リソースの追加]から[既存のファイルの追加]を選択し、使用するビットマップを追加する。←リソースエディタを更新(ボタン追加等)すると追加したリソースが消えてしまう。なんだこれ・・・。←プロジェクト全体のリソースに追加しないためなのだろう。
  3. 必要であれば追加したビットマップの名前を変更する。今回は「test」という名前にしている。
  4. 追加したビットマップのプロパティで[Persistence]を「.resxに埋め込まれました」に変更する。
  5. コードでimageListにビットマップを設定し、toolStripButtonに適用してみた。
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Viewer)); //自動生成されているDesignerのコードを参考にした
Bitmap bmp = ((System.Drawing.Bitmap)(resources.GetObject("test"))); //自動生成されているDesignerのコードを参考にした
imageList1.Images.AddStrip(bmp); //リソースエディタであらかじめ追加しておいたimageList1にセット
toolStrip1.ImageList = imageList1;
toolStripButton1.ImageIndex = 4; //4番目を使ってみる
2007年06月19日(火) 21:51:06 Modified by n0gam0ga




スマートフォン版で見る