• ベストアンサー

マウスで線を引きたいのです。

開発環境: WinNT4.0,VC++6.0 マウスの左ボタンを押したままドラッグした時、クリックした位置と現在のマウス位置の間を線で結びたいのです。 (DeskTop上でマウスのドラッグでファイルを選ぶ時四角い点線が現れるのと似たような動きですね。ー>DrawDragRect()) 確かにBitBltとMoveTo,LineToを使えばかけますが、バックイメージが重いもので画面がちらづきます。 何か言い方法があれば教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#5537
noname#5537
回答No.1

書いた線を簡単に消すことができれば言いわけですよね? 例えば次のような操作を行うと、  pDC->SelectStockObject(WHITE_PEN);  pDC->SetROP2(R2_XORPEN);  pDC->MoveTo(0, 0);  pDC->LineTo(100, 100); 直線上にある画素の色を反転させることが出来ます。 色を反転させているだけなので、もう一度同じ操作をすると線を消すことが出来ます。 あとはマウスを動かすたびに、前に書いた線を消して、新たに線を描く、ということを繰り返せばいいです。

a--he
質問者

お礼

いいアイディアでした。ありがとうございます。 画面もちらつかずにスムーズに描画できました。 使わせていただきます。

関連するQ&A