No.4ベストアンサー
- 回答日時:
こんなコードをでっちあげてみました。
いかがですか。
//終点に ">" を付ける
//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);
}
}
No.3
- 回答日時:
MoveTo と LineTo で書く線は Word のような矢印が
付きませんから、やっぱり自力で矢印を書くしかないかなー。
「端点キャップ」に関しては下記の URL を見ると分かりやすいと思います。
参考URL:http://www.topposystem.co.jp/DL/Win32API/GUI/%E3 …
ありがとうございます。
端点キャップについても分かりやすい説明がありました。
結局、端点キャップでは問題は解決しないんですね、残念。
No.2
- 回答日時:
Windows & Visual C++ が前提ですと(書いてありませんが^^:)、
CDC に MoveTo と LineTo で描画出来ますよ。
もう少し puntoabart さんからの情報があると良いですね。
例えば、プラットホームと開発環境(IDE)の種類、それから
どこに描画するかの情報です。
この回答への補足
Windows 98とVisual C++6.0で作ってます。
(プログラム関連の質問で環境も書いてないのは問題ですね…。すいません)
MoveToとLineToで直線は引けるのは分かるのですが、
その直線の両端の形状を変更することはできるのでしょうか?
私がしたいのはそれなのです。
リファレンスを見ていると、CPenの引数に"PS_ENDCAP_~"というものがありました。
解説には「端点キャップ」と書いてありました。
これは私のしたいことに関係があるのでしょうか?
あ、ちなみに直線を描画するのはウィンドウ内です。
No.1
- 回答日時:
すいません。
質問の意味がよくわかりません。Word2000に図形描写があります。この中に矢印を描写出来る物があります。
これで矢印がかけます。
この矢印はある程度のグリットの点に乗ります。このグリット間(点と点の間)をもっと細かく任意に書きたいのでしょうか。
またはマクロで任意に矢印を書きたいという事でしょうか。
また「イメージとしては、WordやExcel、PowerPointの矢印描画あたりです。」のところがよく理解できません。どうもすいません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CStaticコントロールの静的イメ...
-
WM_PAINT
-
MFCでOnPaintのタイミング
-
コンボボックスの高さを変えたい
-
UpdateData( FALSE); による文...
-
ビットマップを表示させる(MFC)
-
VB6,リストボックスの特定行の...
-
CScrollViewの使用方法について
-
VB.netでのライン描画方法がわ...
-
windows7 VS2013 MFCの描画処理...
-
OneNote 2010 文字と描画がずれる
-
OpenGLでの描画のタイミング
-
重いグラフィックス処理
-
Minecraft 統合版(PC)の描画距...
-
パソコンの画面は何コマ送りで...
-
VB6のform Load
-
NVIDIAのシェーダーキャッシュ
-
GetGlyphOutline() ご利用経験...
-
VC++プログラムをつかったBMP画...
-
MFC FormViewの背景色
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6,リストボックスの特定行の...
-
word
-
NVIDIAのシェーダーキャッシュ
-
MFCでOnPaintのタイミング
-
Minecraft 統合版(PC)の描画距...
-
google Colabでmatplotlibの描...
-
TextBoxに文字を書いても表示さ...
-
[VB.net] DataGridViewの列ヘッ...
-
UpdateData( FALSE); による文...
-
OneNote 2010 文字と描画がずれる
-
Labelの文字をスクロールする際...
-
InvalidateRectの使い方について
-
VB.netでのライン描画方法がわ...
-
CStaticコントロールの静的イメ...
-
VC++プログラムをつかったBMP画...
-
WM_SIZEとWM_SIZINGの違い (Win...
-
エクセルでガンチャートを作成...
-
c言語を使いダイアログにbmpを...
-
WM_PAINT
-
MFCのタイマーのつかい方を教え...
おすすめ情報