DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DataGlidのセル内の画像を描画したあとですが・・

環境/言語:[環境(Windows2000) 使用言語(VB.NET)]
分類:[.NET]

恐れ入ります。
DataGlidのセル内の画像を描画したあとですが
現在行選択をしていますが
画像部分だけ行選択になりません。
恐らく、最後に画像をPaintしていると思います。
画像の上にカレント行になるように出来ませんでしょうか?
ご存知の方教えて下さい
宜しくお願い致します。
■No7117に返信(たかさんの記事)
> DataGlidのセル内の画像を描画したあとですが
> 現在行選択をしていますが
> 画像部分だけ行選択になりません。
> 恐らく、最後に画像をPaintしていると思います。
> 画像の上にカレント行になるように出来ませんでしょうか?

同じことやって成功したので報告。

boundsの大きさで画像を表示する前に
FillRectangleメソッドを使ってbackBrushの色で塗りつぶしたらできました。
> boundsの大きさで画像を表示する前に
> FillRectangleメソッドを使ってbackBrushの色で塗りつぶしたらできました。

書き忘れが・・・。
この方法だと画像の上には選択色は出ないです。
画像が表示されている場所以外の場所が選択色で表示されるようになるはずです。
■No7121に返信(Pesceさんの記事)
>>boundsの大きさで画像を表示する前に
>>FillRectangleメソッドを使ってbackBrushの色で塗りつぶしたらできました。
>
> 書き忘れが・・・。
> この方法だと画像の上には選択色は出ないです。
> 画像が表示されている場所以外の場所が選択色で表示されるようになるはずです。

何度も書き込んでごめんなさい。
半透明にして画像の上に表示させる方法調べてたらこんなやり方がありました。

System.Drawing.Brush Brush= new SolidBrush(System.Drawing.Color.FromArgb(140, 255, 0, 0));

SolidBrushの第一引数がアルファ値(透過率)です。
このブラシの色をBackBrushと同じにして
透過率をお好みで設定(0〜255、0に近いほど薄くなる)してやれば
画像自体の上にも半透明な選択色が出せると思います。

BackBrushの色データを拾う方法が判らないんですけどね・・・。

DOBON.NET | プログラミング道 | プログラミング掲示板