CPen 使用 PS_DOT 无法画出虚线

如何用MFC画出直线、虚线、折线、圆、椭圆、矩形、弧形(附上源码) 我创建的工程名字是默认的,叫MFCApplication3 首先在MFCApplication3Dlg.h这个文件中添加构造说明: public: CPen m_pen[5]; CPoint m_point[5]; public: void DrawLine(CDC *pDC); void DrawPolyline(CDC *pDC); void DrawPolygon(CDC *p 阅读详情

今天可真是奇葩,我使用PS_DOT生成画笔,居然画出来的是实线。。。百思不得其解 ?????

	CPen penDot(PS_DOT, 1,RGB(255,255,255)); 
	dcMem.SelectObject(&penDot);
	for(i=1;i<=20;i++)
	{
		dcMem.MoveTo(int(left+i*Xinter),top);
		dcMem.LineTo(int(left+i*Xinter),bottom);
	}

	//画纵轴
	Yinter=(bottom-top)/20.0;
	for(i=0;i<20;i++)
	{
		dcMem.MoveTo(left,int(top+i*Yinter));
		dcMem.LineTo(right,int(top+i*Yinter));
	}

后来我将画笔的颜色换成了黑色,居然就是虚线了,百思不得其解 ?????

 

	CPen penDot(PS_DOT, 1,RGB(0,0,0)); 
	dcMem.SelectObject(&penDot);
	for(i=1;i<=20;i++)
	{
		dcMem.MoveTo(int(left+i*Xinter),top);
		dcMem.LineTo(int(left+i*Xinter),bottom);
	}

	//画纵轴
	Yinter=(bottom-top)/20.0;
	for(i=0;i<20;i++)
	{
		dcMem.MoveTo(left,int(top+i*Yinter));
		dcMem.LineTo(right,int(top+i*Yinter));
	}	

 

没找到原因,如果有朋友碰到此类事件或有迹可查,麻烦告知一下,先感谢答疑解惑之恩德 ! 

深入理解MFC中的GDI对象CPen:绘制直线与矩形 CPen是MFC(Microsoft Foundation Classes)库中一个封装了GDI(Graphics Device Interface)中Pen对象的类。在图形应用程序中,CPen被用来定义绘图时线条的颜色、宽度和样式。CPen对象常被用在CDC(设备上下文)类中,以执行线条绘制等操作。CPen类继承自CGdiObject,这个类是所有GDI对象的基类。CPen对象可以在CWind类的CreatePen等方法中创建。下面是一个简单的CPen。 阅读详情

相关推荐

Fast-LIO2代码解析 古月居

FAST-LIO,FAST-LIO2与FASTER-LIO - 古月居FAST-LIO2代码解析(一) - 古月居FAST-LIO2代码解析(二) - 古月居FAST-LIO2代码解析(三) - 古月居FAST-LIO2代码解析(四) - 古月居FAST-LIO2代码解析(五) - 古月居FAST-LIO2代码解析(六) - 古月居

li4692625的博客 2783

PS_DOT实现任意虚线

1.间距长度固定为两个像素http://www.codeproject.com/KB/GDI/DOTTED_PEN.aspxLOGBRUSH LogBrush;LogBrush.lbColor = c_colorGridLine;LogBrush.lbStyle = PS_SOLID;CPen penDotted;penDotted.CreatePen( PS_COSMETIC

qsycn的专栏 3599

MOOS-ivp 实验三 MOOS简介(3)

MOOS-ivp 实验三 MOOS简介(3) 继上一篇文章继续对实验进行记录 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录MOOS-ivp 实验三 MOOS简介(3)六、A Simple Example with pXRelay1.pXRelay基本使用2.pXRelay简单例子3.pXRelay实验七、First Experiments in Modifying MOOS App Code1.下载一个MOOS模板文件2.打开MOOS模板文件总结 六、A Simple E

weixin_44151170的博客 2534

C++ MFC画笔CPen类

MFC的CPen类封装了画笔对象,其中的成员函数CreatePen实现创建画笔的功能,函数原型如下: BOOL CreatePen( int nPenStyle, //画笔风格 int nWidth, //画笔宽度 COLORREF crColor //画笔颜色 ); 一旦不再需要画笔,记得用DeleteObject函数将其删除...

Vermont_的博客 5532

智能手表竞品分析与市场调研报告

本报告旨在通过调研当前主流智能手表产品的功能特点、市场表现、用户反馈、定价策略等方面,辅助我司即将立项的Aurora Watch S1产品在功能定义、目标用户、定价区间、差异化竞争等方面做出科学决策。 调研范围包括国内外中端价位主流品牌(¥199~¥999),重点关注小米、华为、荣耀、Amazfit、Redmi、Haylou 等品牌的热销型号。

hoony123的博客 7万+

飞腾平台(FT2000/4 D2000/8)配置GPIO引脚

飞腾平台配置CPU的引脚为GPIO工作模式的方式有永久型和暂时型: - 永久型是通过UEFI中的MmioWrite32函数来实现的,该方法可以在UEFI阶段就对复用引脚的工作模式配置为GPIO,并且在进入操作系统后仍然不会发生便会; - 临时型是通过rw工具,在系统下手动修改复用引脚的工作模式,该方法在系统重启后会失效,所以是暂时型的。

qq_30135687的博客 5612

[MFC]CPen画笔类、CBrush画刷类使用介绍

[MFC]CPen画笔类、CBrush画刷类使用介绍

hk627989388的博客 1万+

【Bug已解决】Request timed out / API Timeout — Claude Code 请求超时解决方案

方案适用场景推荐指数难度方案一:增加超时大任务处理⭐⭐⭐⭐⭐低方案二:切换 SonnetOpus 太慢⭐⭐⭐⭐⭐低方案三:缩小范围大代码库⭐⭐⭐⭐⭐低方案四:优化网络网络延迟高⭐⭐⭐⭐中方案五:减少 MCPMCP 超时⭐⭐⭐中方案六:流式响应长生成任务⭐⭐⭐低根本原因:请求超时最常见原因是请求体过大(35%)和 Opus 模型推理慢(25%),默认 60 秒超时阈值对大型任务不够最佳实践。

一键难忘的博客 5158

easyx学习第一天笔记——基础内容

easyx学习第一天基础知识

weixin_61518077的博客 2641

[ 虚拟专用网 ] IPsce 虚拟局域网(安全的IP协议的虚拟专用网)详解(二) --- 安全联盟SA

???? 博主介绍 ????‍???? 博主介绍:大家好,我是_PowerShell,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 ????点赞➕评论➕收藏 == 养成习惯(一键三连)???? ????欢迎关注????一起学习????一起讨论⭐️一起进步????文末有彩蛋 ????作者水平有限,欢迎各位大佬指点,相互学习进步! 目录 ???? 博主介绍 一、什么是安全联盟 二、协商参数两种方式:(手动、IKE) 1. 手动 2.

qq_51577576的博客 2801

对角两对双差速轮AGV的平移、直行、转弯和原地旋转之PID控制

本示例将展示如何使用PID控制算法,控制具有对角线布置的两对双差速轮(左前和右后)的AGV,实现平移、直行、转弯和原地旋转等运动。通过对车辆的运动学和PID控制器的设计,我们可以精确地控制AGV的运动

xiaoc100200的博客 1509

MFC画笔CPen类

MFC的CPen类封装了画笔对象,其中的成员函数CreatePen实现创建画笔的功能,函数原型如下:BOOL CreatePen( int nPenStyle, //画笔风格 int nWidth, //画笔宽度 COLORREF crColor //画笔颜色 );一旦不再需要画笔,记得用DeleteObject函数将其删除设置线型创建画

EmotionComputer 1万+

基于NARX和NARX-LSTM的模型辨识与MPC控制系统调试与优化

本文针对两输入单输出非线性系统,提出基于NARX和NARX-LSTM的模型辨识与MPC控制优化方案。系统输入为固定量u1和可调量u2(8.5-140),输出目标为-0.58。现有模型存在辨识精度不足、历史输出依赖过重、预测偏差等问题。解决方案包括:数据差分处理改善非平稳性、调整延迟阶数优化模型结构、引入注意力机制替代手动加权、改进损失函数消除预测偏差。MPC控制器将结合优化模型,考虑控制变量步长约束(≥2),实现输出稳定控制。通过系统性的模型调试与控制算法优化,最终形成完整的非线性系统辨识与控制框架。

huanghm88的专栏 127

CPEN使用

CPen画笔是一种用来画线及绘制有形边框的工具,用户可以指定它的颜色及厚度,并且可以指定它画实线、点线或虚线。 CPen类,该类封装了Windows图形设备接口(GDI)画笔,主要通过构造函数来创建绘图对象。 1构造CPen对象 该类共重载了3个构造函数,下面分别进行详细说明 CPen(); CPen(int nPenStyle,int nWidth,COLORREF

如果我是超人 2437

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

绘制粗虚线

以前很少画虚线,因此不太关心绘制粗虚线该怎么办。最近需要用到这个功能,因此学习了一下,与大家共享。CPen类有两个构造函数,我们经常用第一个,而忽略了第二个。其实很多网友问到画粗线时希望改变线头的默认显示方式,比如希望是圆弧头而不是默认的方形头等。都可以用这个构造函数定义的CPen对象来实现。这里我主要说一下绘制粗虚线,其它的都可以通过MSDN上的帮助来了解。函数原型:BOOL C

快乐天堂 6457

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

VC 画虚线

画虚线的代码真的很少,我在百度是找了很多,但都不是很理想,要不就是不可变色,要不就是无法控制大小。终于不负苦心人,让我在国外的一个网站中找到了一个例子,从中提取了一些代码和大家分享一下。   第一种  COLORREF c_colorgridline = rgb(0,0,0);  CPen mypen(PS_DOT, 1, c_colorgridline);    dc.Sel

xiaoyaofriend的专栏 3720

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

CPen类

CPen画笔是一种用来画线及绘制有形边框的工具,用户可以指定它的颜色及厚度,并且可以指定它画实线、点线或虚线。 CPen类,该类封装了Windows图形设备接口(GDI)画笔,主要通过构造函数来创建绘图对象。 1构造CPen对象 该类共重载了3个构造函数,下面分别进行详细说明 CPen(); CPen(int nPenStyle,int nWidth,COLORREF crColor);

9482

在VC中使用CPen绘制宽度大于1的虚线

VC中画笔类为CPen, 该类最方便使用方式为: CPen(int nPenStyle, int nWidth, COLORREF crColor); 或者是: BOOL CreatePen(int nPenStyle, int nWidth, COLORREF crColor); 如果想要绘制虚拟中需要设置画笔的样式为PS_DASH即可, 但是有一个限制是这样的画笔宽度只能是1, 不能绘

天上的猩猩的专栏 3507

CPen

简介  画笔是绘图的基本工具,在MFC中画笔是CPen类的对象,它用来在DC上完成绘制线条的任务。初始化时,系统自动提供了一支黑色的默认画笔。如果程序设计人员对这个默认的画笔不满意,可以自己创建画笔来替换它。所谓的自定义画笔,就是程序员自己创建的CPen类对象,创建画笔对象是,需要使用CPen类的构造函数,它的原型为: 命令  CPen(Int style,int width ,COLORRE

凡事预则立,不预则废! 1657

[GDI绘图]画笔CPen

创建画笔函数带有5个参数,nPenStyle设置线形,nWidth设置线宽,crColor设置线的颜色,pLogBrush设置画刷,nStyleCount指定lpStyle矩阵的长度(如果参数nPenStyle的值不是PS_USRSTYLE,则该参数值必须是0),lpStyle设置自定义风格直线段的长度。创建画笔函数带有3个参数,nPenStyle设置线形,nWidth设置线宽,crColor设置线的颜色。CPen类,该类封装了Windows图形设备接口(GDI)画笔,主要通过构造函数来创建绘图对象。

我想遇见你,在最美的季节 635

【MFC】图形图像二:GDI对象之画笔CPen

01、目录 目录01、目录02、GDI简介03、CPen类(画笔介绍)04、CPen的应用实例:波形图05、小结 02、GDI简介 GDI:(Graphics Device Interfase)图形设备接口,是一个应用程序与输出设备之间的中介。 一方面,GDI向应用程序提供一个与设备无关的编程环境,另一方面,它又以设备相关的格式和具体的设备打交道。 在MFC中,CGdiObject类是GDI对象的基类,通过查阅MSDN我们可以看到,CGdiObject类有六个直接的派生类,GDI对象主要也是这六个,分别

Cain Xcy的博客 2115

C++ MFC/BCG编程(六):GDI对象(CPen、CBrush)与基础绘图 (绘图模式、映射模式)

在MFC中,CGdiObject类是GDI对象的基类,CGdiObject类有六个直接的派生类,GDI对象主要也是这六个,分别是:CBitmap、CBrush、CFont、CPalette、CPen和CRgn。

qq_39281631的博客 1191

详细介绍 MFC 中的 CPen 类

书籍:《Visual C++ 2017从入门到精通》的4.2环境:visual studio 2022内容:[例 4.4]实现一个三角按钮说明:以上内容大部分来自腾讯元宝。CPen是 MFC(Microsoft Foundation Classes)中封装 Windows GDI(图形设备接口)​画笔​​功能的类,用于绘制线条、边框、轮廓等图形元素。通过CPen,开发者可以灵活设置线条的样式、颜色、宽度等属性,实现从简单直线到复杂图形的绘制。

felicity_one的博客 1465

VC++ 利用MFC的CWindowDC类实现画线功能 在桌面窗口中画线 绘制彩色线条 CPen nPenStyle nWidth crColor

目录 利用MFC的CWindowDC类实现画线功能 在桌面窗口中画线 绘制彩色线条 CPen nPenStyle nWidth crColor 接上:VC++ 绘制线条 OnLButtonDown函数(DrawView.cpp) 利用SDK全局函数实现画线功能 利用MFC的CDC类实现画线功能 利用MFC的CClientDC类实现画线功能 接下: 利用MFC的CWindowDC类实现画线功能 先介绍一个MFC类:CWindowDC,这个类也派生于CDC类,并且在构造时调用GetWind

当路danglu0010 3647
上一篇: android 直连 mysql
下一篇: ADO中ExecuteUpdate和ExecuteQuery区别
小新110
博客等级 码龄21年 106粉丝 265原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值