[OSのVer]:Windows xp [VBのVer]:VB.NET 2005 解決する事ができず掲示板に投稿いたしました。 LineToに於いてペンで色描画します。その後にその色描画を 既定値に戻し(リセット)たいのですが戻す事のできます 方法はありますでしょうか。いろいろと試してはみたのですが 例 NewPen.lopnColor = vbRedCall LineTo(hThisDC, 0, 100)既定値に戻し(リセット)たいのですが?Call LineTo(hThisDC, 0, 100)宜しくお願い致します。
> LineToに於いてペンで色描画します。その後にその色描画を> 既定値に戻し(リセット)たいのですが戻す事のできます既定値に戻し(リセット)とは何に対して既定値にしたいのでしょうか?描画したLineを取り消したいのと既定値では意味が違いますよね。通常描画したLineを消す場合は、バックカラーでもう一度描くのですが描画している状況や方法で色々変ってくるかと思います。(VB2005 では面倒そうですね。)> Call LineTo(hThisDC, 0, 100)# Win32 API関数を使ってLineを描いておられるのは何か理由があるのでしょうか?
ご返答ありがとうございました。説明がうまくできなくて申し訳けありませんでした。うまく説明出来ているか分かりませんが、再度説明いたします。既定値につきましては、ペンで色描画する前の状態にしたいと思っています。例:Call LineTo(hThisDC, 0, 100)を一度も実行していない時の色(一度も描画していない時と同じ色)にしたいと思っています。Call LineTo(hThisDC, 0, 100)を実行する前の色部分を記憶しておくのでしょうか。又はそれに変わるソースがあれば一番良いのですが。Lineを描いています理由は下記のWebを参考にしました。hhttp://homepage1.nifty.com/rucio/main/tyukyu/tyukyu6.htm参考では赤ペンでX描画されます。それを赤ペンでX描画する前の(一度も描画していない時と同じ色)状態に戻したいと思います。宜しくお願いいたします。
> Call LineTo(hThisDC, 0, 100)を実行する前の色部分を記憶しておくのでしょうか。又は> それに変わるソースがあれば一番良いのですが。何にどのように描いているかで方法が違ってきます。例えばピクチャーボックスに描いたのであれば、ピクチャーボックスのバックカラーで同じラインを描けば消える事になります。但し、画像ファイルのようなもの上に描いた場合は上記の方法ではNGかと。プログラム上でなく、紙の上鉛筆で描いたものを消す場合とボールペンで描いたものを消す場合や布に描いたもの、ガラスの上に描いたものを消す場合では方法や結果が違ってきますよね。それと同じような事が言えるかと思います。> Lineを描いています理由は下記のWebを参考にしました。VB6.0 用のコードですよね。そのコードを使って描いたものは、他のWindowの裏に隠れた場合消えませんか?どのように描いているかによっても上記のように方法が違ってきます。どちらにしても数行で書けるような万能な方法はないと言う事になります。
ご返答ありがとうございました。何度にも渡りましてご指導をして頂きまして本当にありがとうございました。
お世話になりました。No.3259の質問は回答前の質問でしたので取り消しとさせて頂きました。大変申し訳ありませんでした。