-PR-
解決済み

矢印を描画するには

  • すぐに回答を!
  • 質問No.57865
  • 閲覧数1545
  • ありがとう数7
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 35% (10/28)

任意の座標間に矢印つきの直線を描画したいのですが、可能でしょうか?
イメージとしては、WordやExcel、PowerPointの矢印描画あたりです。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.4
レベル10

ベストアンサー率 28% (34/119)

こんなコードをでっちあげてみました。
いかがですか。

//終点に ">" を付ける
//nStartXPos, nStartYPos… 始点
//nEndXPos, nEndYPos… 終点
#include <math.h>
void C???View::Arrow(CDC * pDC, int nStartXPos, int nStartYPos, int nEndXPos, int nEndYPos)
{
inti;
intnX, nY;
doubledbAng;

#define LENGTH10//矢印の先の長さ
#define ANGLE(3.1415/180.0*30.0)//矢印の開く角度 … 現在30度
dbAng = 3.1415 + atan2(nEndYPos-nStartYPos, nEndXPos-nStartXPos);

for (i=-1; (i<=1); i+=2)
{
nX = (int)(cos(dbAng+ANGLE*i) * LENGTH) + nEndXPos;
nY = (int)(sin(dbAng+ANGLE*i) * LENGTH) + nEndYPos;
pDC->MoveTo(nEndXPos, nEndYPos);
pDC->LineTo(nX, nY);
}
}
お礼コメント
puntoabart

お礼率 35% (10/28)

わざわざコードを書いていただき、ありがとうございます!!
さっそく試してみます。
投稿日時 - 2001-04-03 14:55:23
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル10

ベストアンサー率 37% (67/180)

すいません。質問の意味がよくわかりません。
Word2000に図形描写があります。この中に矢印を描写出来る物があります。
これで矢印がかけます。
この矢印はある程度のグリットの点に乗ります。このグリット間(点と点の間)をもっと細かく任意に書きたいのでしょうか。
またはマクロで任意に矢印を書きたいという事でしょうか。
また「イメージとしては、WordやExcel、PowerPointの矢印描画あたりです。」のところがよく理解できません。どうもすいません。


  • 回答No.2
レベル10

ベストアンサー率 28% (34/119)

Windows & Visual C++ が前提ですと(書いてありませんが^^:)、
CDC に MoveTo と LineTo で描画出来ますよ。

もう少し puntoabart さんからの情報があると良いですね。
例えば、プラットホームと開発環境(IDE)の種類、それから
どこに描画するかの情報です。
補足コメント
puntoabart

お礼率 35% (10/28)

Windows 98とVisual C++6.0で作ってます。
(プログラム関連の質問で環境も書いてないのは問題ですね…。すいません)

MoveToとLineToで直線は引けるのは分かるのですが、
その直線の両端の形状を変更することはできるのでしょうか?
私がしたいのはそれなのです。

リファレンスを見ていると、CPenの引数に"PS_ENDCAP_~"というものがありました。
解説には「端点キャップ」と書いてありました。
これは私のしたいことに関係があるのでしょうか?

あ、ちなみに直線を描画するのはウィンドウ内です。
投稿日時 - 2001-04-03 10:55:46
  • 回答No.3
レベル10

ベストアンサー率 28% (34/119)

MoveTo と LineTo で書く線は Word のような矢印が
付きませんから、やっぱり自力で矢印を書くしかないかなー。
「端点キャップ」に関しては下記の URL を見ると分かりやすいと思います。
お礼コメント
puntoabart

お礼率 35% (10/28)

ありがとうございます。
端点キャップについても分かりやすい説明がありました。
結局、端点キャップでは問題は解決しないんですね、残念。
投稿日時 - 2001-04-03 14:51:37
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

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

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

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

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ