OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

直線を描画するプログラム

  • すぐに回答を!
  • 質問No.172029
  • 閲覧数420
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 80% (24/30)

初歩的ですみません。
マウスで始点と終点を決めて直線を書くプログラムを知っている方がおりましたら教えてください。

よろしくお願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル8

ベストアンサー率 55% (11/20)

WinTKというのは良く分からないんで、MFCの方を……
とりあえずダイアログアプリケーションで説明すると、

1.
 ダイアログベースのスケルトンを作ります
2.
 xxxDlg.h に座標を保持るためメンバを追加します。
class CxxxDlg : public CDialog
 {
   CPoint m_ptBegin, m_ptEnd;

3.
クラスウィザードで WM_LBUTTONUP, WM_RBUTTONUP を選択します。

4.
 void CxxxDlg::OnLButtonUp(UINT nFlags, CPoint point)
 {
   // ここの point に左ボタンが離された座標が入ってますので保持しておきます(始点)
   m_ptBegin = point;
   CDialog::OnLButtonUp(nFlags, point);
 }
5.
 void CxxxDlg::OnRButtonUp(UINT nFlags, CPoint point)
 {
   // ここの point に右ボタンが離された座標が入ってますので保持しておきます(終点)
   m_ptEnd = point;

   // 再描画します。
   InvalidateRect( NULL );

   CDialog::OnRButtonUp(nFlags, point);
 }

6.
 CxxxDlg::OnPaint()関数の以下の部分を変更します。

 else
 {
   CDialog::OnPaint();
 }
      ↓
 else
 {
   CPaintDC dc( this );

   dc.MoveTo( m_ptBegin );
   dc.LineTo( m_ptEnd );

   CDialog::OnPaint();
 }

と、大体こんな感じです。m_ptBegin, m_ptEndはコンストラクタで初期化してやっておいて
ください。説明が大雑把なんでわかりにくかったら言ってくださいね。

ほな。
お礼コメント
kashi818

お礼率 80% (24/30)

ありがとうございました。
だいたいわかりました。
あとは自分でがんばってみます。
投稿日時 - 2001-11-22 17:37:37
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル8

ベストアンサー率 55% (11/20)

えーと、WinのVC++だって勝手に決め付けてざっと説明しますと、処理するメッセージは WM_LBUTTONDOWN で、始点終点を取って、デバイスコンテキストを作って,MoveToEx とか LineTo とかいう関数を使って実現できます。 プラットフォーム、開発環境などが分からないと答えようがないので、そのへんの補足をお願いします。 ...続きを読む
えーと、WinのVC++だって勝手に決め付けてざっと説明しますと、処理するメッセージは WM_LBUTTONDOWN で、始点終点を取って、デバイスコンテキストを作って,MoveToEx とか LineTo とかいう関数を使って実現できます。

プラットフォーム、開発環境などが分からないと答えようがないので、そのへんの補足をお願いします。
補足コメント
kashi818

お礼率 80% (24/30)

プラットフォームは以下のいずれかになります。
1、VisualC++によるWinTK C言語プラットフォーム
2、VisualC++とMFCによるC++言語プラットフォーム

VisualC++は6.0を使用しています。

もう一つ補足ですが、マウスの左クリックで始点座標の指定、右クリックで終点座標の指定になるようにお願いします。

説明が足りなくて申し訳ありませんでした。
投稿日時 - 2001-11-21 21:10:55


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ