tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルグラフィック描画の既定値方法
記事No3247
投稿日: 2006/03/09(Thu) 10:17
投稿者とら
[OSのVer]:Windows xp    [VBのVer]:VB.NET 2005  
解決する事ができず掲示板に投稿いたしました。
LineToに於いてペンで色描画します。その後にその色描画を
既定値に戻し(リセット)たいのですが戻す事のできます
方法はありますでしょうか。いろいろと試してはみたのですが

        例 
NewPen.lopnColor = vbRed
Call LineTo(hThisDC, 0, 100)
既定値に戻し(リセット)たいのですが?
Call LineTo(hThisDC, 0, 100)

宜しくお願い致します。

[ツリー表示へ]
タイトルRe: グラフィック描画の既定値方法
記事No3252
投稿日: 2006/03/10(Fri) 11:01
投稿者花ちゃん
>  LineToに於いてペンで色描画します。その後にその色描画を
>  既定値に戻し(リセット)たいのですが戻す事のできます

既定値に戻し(リセット)とは何に対して既定値にしたいのでしょうか?
描画したLineを取り消したいのと既定値では意味が違いますよね。

通常描画したLineを消す場合は、バックカラーでもう一度描くのですが
描画している状況や方法で色々変ってくるかと思います。
(VB2005 では面倒そうですね。)


> Call LineTo(hThisDC, 0, 100)
# Win32 API関数を使ってLineを描いておられるのは何か理由があるのでしょうか?

[ツリー表示へ]
タイトルRe^2: グラフィック描画の既定値方法
記事No3254
投稿日: 2006/03/10(Fri) 11:40
投稿者とら
ご返答ありがとうございました。
説明がうまくできなくて申し訳けありませんでした。
うまく説明出来ているか分かりませんが、再度説明いたします。
既定値につきましては、ペンで色描画する前の状態にしたいと思っています。
例:Call LineTo(hThisDC, 0, 100)を一度も実行していない時の色
(一度も描画していない時と同じ色)にしたいと思っています。
Call LineTo(hThisDC, 0, 100)を実行する前の色部分を記憶しておくのでしょうか。又は
それに変わるソースがあれば一番良いのですが。
Lineを描いています理由は下記のWebを参考にしました。
hhttp://homepage1.nifty.com/rucio/main/tyukyu/tyukyu6.htm
参考では赤ペンでX描画されます。それを赤ペンでX描画する前の
(一度も描画していない時と同じ色)状態に戻したいと思います。
宜しくお願いいたします。

[ツリー表示へ]
タイトルRe^3: グラフィック描画の既定値方法
記事No3255
投稿日: 2006/03/10(Fri) 12:06
投稿者花ちゃん
> Call LineTo(hThisDC, 0, 100)を実行する前の色部分を記憶しておくのでしょうか。又は
> それに変わるソースがあれば一番良いのですが。

何にどのように描いているかで方法が違ってきます。
例えばピクチャーボックスに描いたのであれば、ピクチャーボックスの
バックカラーで同じラインを描けば消える事になります。
但し、画像ファイルのようなもの上に描いた場合は上記の方法ではNGかと。

プログラム上でなく、紙の上鉛筆で描いたものを消す場合とボールペンで
描いたものを消す場合や布に描いたもの、ガラスの上に描いたものを消す場合では
方法や結果が違ってきますよね。それと同じような事が言えるかと思います。

> Lineを描いています理由は下記のWebを参考にしました。
VB6.0 用のコードですよね。
そのコードを使って描いたものは、他のWindowの裏に隠れた場合消えませんか?
どのように描いているかによっても上記のように方法が違ってきます。
どちらにしても数行で書けるような万能な方法はないと言う事になります。

[ツリー表示へ]
タイトルRe^4: グラフィック描画の既定値方法
記事No3256
投稿日: 2006/03/10(Fri) 13:20
投稿者とら
ご返答ありがとうございました。
何度にも渡りましてご指導をして頂きまして
本当にありがとうございました。

[ツリー表示へ]
タイトルRe^5: グラフィック描画の既定値方法
記事No3259
投稿日: 2006/03/11(Sat) 19:27
投稿者とら
お世話になりました。
No.3259の質問は回答前の質問でした
ので取り消しとさせて頂きました。
大変申し訳ありませんでした。

[ツリー表示へ]