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

VB6のDrawMode.Invertに相当する設定

環境/言語:[OS : Windows XP Professional / 言語 : Visual Basic .NET / .NET Framework : 1.1]
分類:[.NET]

 はじめまして、いわしょと申します。Tipsをときどき拝見させていただいております。

 さて、私はVB.NETで描画の勉強をしているのですが、
一度描画した部分を再び描画すると元にもどる、という描画スタイル
(VB6では、コントロールのDrawModeプロパティをInvertにすればできました)
は.NETでは、どのような設定にすれば可能でしょうか?
 おそらくPenまたはColorをなんとか設定すればできるのでしょうが、具体的方法がわかりかねております。

 上記の件に関しまして、ご存知の方お見えでしたらお教えいただければ幸いです。
>  さて、私はVB.NETで描画の勉強をしているのですが、
> 一度描画した部分を再び描画すると元にもどる、という描画スタイル
> (VB6では、コントロールのDrawModeプロパティをInvertにすればできました)

VB6までのDrawModeプロパティに当たるものはVB.netにはないようです。
#ところで2回描画で元通りはXorペンの設定ですよね?

実現したい内容にもよると思いますが、
ControlPaintクラスのDrawReversibleFrameメソッドのように
〜Reversible〜メソッドで実現できるかもしれません。

これらのメソッドでは機能不足ということであれば、
Windows APIのSetROP2関数をあたる必要があるかもしれません。
同様の質問が過去ログに幾つかあります。「DrawMode」で検索していただければ簡単に見つかったかと思います。

DrawMode = vbInvert機能
http://dobon.net/vb/bbs/log3-8/4830.html

Drawmode=6
http://dobon.net/vb/bbs/log3-7/3762.html
管理人様、よねKEN差様、さっそくの御回答ありがとうございます。
過去ログは検索したつもりでしたが、見落としていました。失礼いたしました。
自分的には、この機能は結構使うことのあるような機能な気がしますが、.NETdでは、簡単に行なうことができないのですね。
さっそく実装させて頂きたいと思います。

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