C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: ListBoxに画像+文字列を描画するには?


(過去ログ 33 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■16599 / inTopicNo.1)  ListBoxに画像+文字列を描画するには?
  
□投稿者/ SAD (1回)-(2008/04/08(Tue) 17:56:23)

分類:[C#] 

ListBoxに1つのアイテムとして画像と文字列を一緒に描画するにはどのようにすればよいのでしょうか?
画像のみ、文字列のみならわかるのですが、「一緒に」という所がネックになっています。
Graphics.DrawImageやGraphics.DrawStringを使ったりするのでしょうか..。

画像(A)と文字列を画像にした?(B)を結合させた画像データXを作って、
それをリストボックスに追加すればよいような気がするのですが・・・。

画像データX(固定サイズで必ず画像Aの下には文字列画像?Bを配置する。)
+−−−+
| A |
+−−−+
| B |
+−−−+

引用返信 編集キー/
■16610 / inTopicNo.2)  Re[1]: ListBoxに画像+文字列を描画するには?
□投稿者/ Jitta on the way (77回)-(2008/04/08(Tue) 20:07:41)
とりあえず、codeproject.com で探してみるとか
引用返信 編集キー/
■16611 / inTopicNo.3)  Re[1]: ListBoxに画像+文字列を描画するには?
□投稿者/ 出水 (26回)-(2008/04/08(Tue) 20:17:50)
出水 さんの Web サイト
その方針でよいと思います

こんな感じで
var img = new Bitmap(bmp.Width, bmp.Height + 20);
var g = Graphics.FromImage(img);
g.DrawImage(bmp, new Point(0, 0));
g.DrawString("文字", font, Brushes.White, 0, bmp.Height);

引用返信 編集キー/
■16614 / inTopicNo.4)  Re[1]: ListBoxに画像+文字列を描画するには?
□投稿者/ やじゅ (282回)-(2008/04/08(Tue) 20:38:26)
No16599 (SAD さん) に返信

「オーナードロー ListBox」で検索してみました。

3.リストボックスでオーナードロー
http://smdn.invisiblefulmoon.net/ikimasshoy/vbdotnet/ownerdraw.html
引用返信 編集キー/
■16632 / inTopicNo.5)  Re[2]: ListBoxに画像+文字列を描画するには?
□投稿者/ SAD (2回)-(2008/04/09(Wed) 02:15:08)
>Jitta on the way様
codeproject.comも結構使っているんですが、何なんでしょう、
自分でもよくわからないのですが、調べている内容によって
「これはcodeprojectかcodezineで探してみるかな・・、これは・・質問してしまおうかな・・」
と、分けているみたいです。自力で解決できるよう精進します。

>出水様
>やじゅ様
教えて頂いたHPや下記の
「ListBoxコントロールのオーナー描画(高さ固定)により画像を一覧表示するには?」
http://www.atmarkit.co.jp/fdotnet/dotnettips/339listboxfix/listboxfix.html
を拝見し、それを元に出水様のおっしゃるようなやり方
(・・・というか、教えて頂いたHPも同じようなことをやっていましたが)
を参考に、ListBoxのDrawItemメソッド内で以下のようにすることで
画像と文字を描画することができました。

e.DrawBackground();
e.Graphics.DrawImage(image, x, y);
e.Graphics.DrawString("文字", e.Font, Brushes.Red, x, y + image.Height);
e.DrawFocusRectangle();

e:DrawItemデータ(DrawItemの引数)
image:画像
x:表示位置X
y:表示位置Y

こんなことどこにも書いてないのですが、DrawImageとDrawStringは、
どちらかしか使えないものと思っていました。(^^;
(DrawImageを使ったらDrawStringは使えない、じゃぁDrawImageを使った場合、
文字を一緒に表示するには、どうにかして文字をDrawImageで扱えるよう加工
しなきゃいけないのか?などと思っていました。)

皆様、お忙しいところ、どうもありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -