MFC画带箭头的直线
构造一个函数,是在startPoint,endPoint间画一条带箭头的线段: void CTry1View::DrawLine(POINT startPoint, POINT endPoint) { CClientDC dc(this); dc.MoveTo(startPoint); dc.LineTo(endPoint);double PI = 3.1415926; double t=PI/4; //箭头与直线夹角 double l=0.2; //箭头边长度占直线长度的百分比 POINT arrowPoint;arrowPoint.x = (int)(l*((startPoint.x-endPoint.x)*cos(t)-(startPoint.y-endPoint.y)*sin(t))+endPoint.x); arrowPoint.y = (int)(l*((startPoint.x-endPoint.x)*sin(t)+(startPoint.y-endPoint.y)*cos(t))+endPoint.y); dc.MoveTo(endPoint); dc.LineTo(arrowPoint);arrowPoint.x = (int)(l*((startPoint.x-endPoint.x)*cos(-t)-(startPoint.y-endPoint.y)*sin(-t))+endPoint.x); arrowPoint.y = (int)(l*((startPoint.x-endPoint.x)*sin(-t)+(startPoint.y-endPoint.y)*cos(-t))+endPoint.y); dc.MoveTo(endPoint); dc.LineTo(arrowPoint); }
画用例图的继承关系的带三角箭头的实线:
#include "stdafx.h"
#include "LineArrow.h"
CLineArrow::CLineArrow(void)
{
}
CLineArrow::~CLineArrow(void)
{
}
void CLineArrow::DrawDashedLineArrow(CDC* pDC)
{
CPen pen;
pen.CreatePen(PS_DASH,1,RGB(0,0,0));//笔刷类型,像素宽,笔刷颜色
}
void CLineArrow::DrawInheritLine(CDC* pDC)
{
double PI = 3.1415926;
double t = PI / 4;
double l = 0.2;
CPoint arrowlftPoint;
arrowlftPoint.x = (int)(l*((m_start.x-m_end.x)*cos(t)-(m_start.y-m_end.y)*sin(t))+m_end.x);
arrowlftPoint.y = (int)(l*((m_start.x-m_end.x)*sin(t)+(m_start.y-m_end.y)*cos(t))+m_end.y);
CPoint arrowRtPoint;
arrowRtPoint.x = (int)(l*((m_start.x-m_end.x)*cos(-t)-(m_start.y-m_end.y)*sin(-t))+m_end.x);
arrowRtPoint.y = (int)(l*((m_start.x-m_end.x)*sin(-t)+(m_start.y-m_end.y)*cos(-t))+m_end.y);
CPoint end;
end.x = (arrowlftPoint.x + arrowRtPoint.x) / 2;
end.y = (arrowlftPoint.y + arrowRtPoint.y) / 2;
pDC->MoveTo(m_start);
pDC->LineTo(end);
pDC->MoveTo(m_end);
pDC->LineTo(arrowlftPoint);
pDC->MoveTo(m_end);
pDC->LineTo(arrowRtPoint);
pDC->MoveTo(arrowlftPoint);
pDC->LineTo(arrowRtPoint);
}
mfc 画线===============http://www.2cto.com/kf/201408/324222.html=============
字体:http://blog.sina.com.cn/s/blog_6111ce890100rqse.html
BOOL CreateFont( int nHeight, //字体的高度int nWidth, //字体的宽度int nEscapement, //字体显示的角度int nOrientation, //字体的角度int nWeight, //字体的磅数 BYTE bItalic, //斜体字体 BYTE bUnderline, //带下划线的字体 BYTE cStrikeOut, //带删除线的字体 BYTE nCharSet, //所需的字符集 BYTE nOutPrecision, //输出的精度 BYTE nClipPrecision, //裁减的精度 BYTE nQuality, //逻辑字体与输出设备的实际//字体之间的精度 BYTE nPitchAndFamily, //字体间距和字体集 LPCTSTR lpszFacename //字体名称 );
转载于:https://www.cnblogs.com/Decmber/p/4951871.html
MFC画带箭头的直线相关推荐
- 【MFC】如何画带箭头的直线
[MFC]如何画带箭头的直线 前言 代码 获得箭头坐标 前言 如何绘制带箭头的直线,说来也简单,只需要算出箭头左右两边的坐标,再使用LineTo()函数即可.话不多说上代码. 代码 获得箭头坐标 已知 ...
- CAD里面怎么画带箭头的直线
转自:http://jingyan.baidu.com/article/9113f81b0192e72b3214c709.html?st=2&os=0&bd_page_type=1&a ...
- 关于google地图api3的离线和在线开发(画带箭头的直线,指定范围,搜索,计算距离)
最近因为开发的需要,要做一个离线的google地图.并且能够加载google地图的一些特效.例如:地图的标记,计算距离,获取标记的经纬度,画带有箭头的直线,获取指定范围的数据等等.在这里我总结了很多开 ...
- 关于利用canvas画带箭头的直线旋转
利用canvas在Vue项目中使用: <imgid="range_right"src=""style="position: absolute;l ...
- delphi 画 带箭头的线
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Di ...
- html5画直线箭头,HTML5 canvas画带箭头的虚线
今天给大家讲解的是在HTML5 canvas画带箭头的虚线.关于Canvas 对象表示一个 HTML 画布元素 -.它没有自己的行为,但是定义了一个 API 支持脚本化客户端绘图操作. 本案例注意事项 ...
- Android Canvas绘制带箭头的直线
先看下效果图: 下面我们直接看代码 我自定义了一个View,代码如下: package com.davis.drawtrangle;import android.content.Context; im ...
- Raphael绘制流程图(二),添加带箭头的直线
上一篇文章中,我们添加了元素(矩形框),接下来给矩形框加上带箭头的直线,代码如下: var wf_r = null; //画板对象 var wf_steps = []; //步骤数组 var wf_w ...
- Matlab任意两点之间绘制带箭头的直线
Matlab任意两点之间绘制带箭头的直线 简单绘制任意两点之间.本来不想自己写的,可是网上的代码用起来不舒服,所以简单看看原理,原来就是个坐标变换而已.索性自己写了一份,分享如下: function ...
最新文章
- 此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态
- ajax传递对象数组
- java 加法表编程_java编程——数据的加法
- fragment中的replace和hide与shou方法的区别
- 关于浏览器模式和文本模式的困惑
- 教你怎样做好计划 将愿望慢慢实现
- 2020 年,开启现代库的基建学习 —— 从项目演进看前端工程化发展
- Windows 10版本business_editions和consumer_editions的区别?
- 年末优质蓝牙耳机盘点:十款商城热销高人气无线蓝牙耳机测评
- 系统备份恢复 Acronis True Image使用教程
- 隐马尔可夫模型HMM (机器学习模型)
- php手册经常见到,什么是“二进制安全”?
- Docker入门到实践 (一) docker简介与安装、常用命令讲解
- 【学习笔记】产品经理必备技能之数据分析(二)常见数据分析方法(上)
- abs int 宏定义_【C语言】15-预处理指令1-宏定义
- 记free 多次引发的内存踩踏事件
- 为什么说指针是 C 语言的精髓?
- 实现手机安装根证书(系统证书)和使用drony 解决普通代理部分应用不能抓包的问题
- 消防自动喷水灭火系统(二)
- 岩土工程渗流问题之有限单元法:理论、模块化编程实现、开源程序手把手实操技术
热门文章
- 【Python数学建模】SEIR传染病模型模型延伸-SEIDR模型(一),加入疫苗接种、政府管控、病毒变异等因素的影响
- 【discuzx2】forum_index.php文件的分析
- 老刘说NLP:这几年的NLP历程回顾,以及关于NLP(知识图谱等)落地的思考
- 2021NCTF-RE
- iOS开发 - App语言国际化
- 基于遗传算法的TSP问题求解(python实现)
- 大神见地:Jeff Dean展望AI的5大趋势!
- case/casez/casex 区别与综合
- 小新14pro锐龙版虚拟机启动蓝屏重启
- 论文中如何实现公式居中标号靠右?