クライアントエリア外からの線の描画

[戻る]
SunPac 2004/07/22(木) 17:26:07
線を引くのにMoveToEx()とLineTo()を使うのですが、クライアント領域外を始点とする
とうまくいかない事があります。

  MoveToEx(hdc, -2000, -2000, NULL);
  LineTo(hdc, 100, 100);
 Rectangle(hdc, 98, 98, 102, 102);

上のコートを実行しても線の終点と四角形の位置がずれてしまいます。
MoveToEx()もLineTo()も戻り値はFALSEではないです。
MoveToEx()で座標にマイナスを指定してはいけないかと思いましたが、十分小さい場合
は正常に機能しました。(MoveToEx(hdc, -500, -500, NULL)でOKでした)
クライアント外からもうまく線を引くにはどうしたらよいのでしょうか?
また、マイナスで指定できる値の範囲ってどのくらいなのでしょうか?

ちなみに

SunPac 2004/07/22(木) 17:27:38
途中で送信してしまった・・・

ちなみにPolyline()でも同じ結果となりました。
正の値は大きい値を与えても問題ないようですね。

SunPac 2004/07/22(木) 17:29:20
環境書き忘れてますね・・・

VC++6 + WinXP MFC未使用です。

SunPac 2004/07/23(金) 09:58:17
[[解決]]
自己解決しました。
とりあえずGDI+のDrawLineを使用する事でうまくいきました。

古いスレッドには追加発言できません。