双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

再一次,求帮助:关于CompatibleDC

诡月 诡月 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
继续求帮助:

我在一个窗口的DefWindowProc函数中处理一个兼容DC问题.背景原先就是一个兼容DC,我想在此DC上的Bitmap上绘图
此bitmap为m_hBackBitmap;

LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
CDC *pDC = GetDC();
HDC hdc = pDC->GetSafeHdc();
HDC memDC = CreateCompatibleDC(hdc);
HBITMAP hOldBitmap;

//hOldBitmap = (HBITMAP)::SelectObject(memDC,m_hBackBitmap); //这里绑定兼容DC则无图像
switch (message)
{
case WM_LBUTTONDOWN:
/*hOldBitmap = (HBITMAP)::SelectObject(memDC,m_hBackBitmap);//这里绑定兼容DC有图像
Rectangle(memDC,0,0,100,100);*/
break;
case WM_LBUTTONUP:
/*hOldBitmap = (HBITMAP)::SelectObject(memDC,m_hBackBitmap);//这里绑定兼容DC有图像
Rectangle(memDC,0,0,100,100);*/
break;
case WM_MOUSEMOVE:
if (MK_LBUTTON == wParam)
{
hOldBitmap = (HBITMAP)::SelectObject(memDC,m_hBackBitmap);//这里绑定兼容DC则无图像
Rectangle(memDC,0,0,100,100);
}
break;
default:
return CWnd::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam);
}

return 0;
}


为什么会是这样呢?
我加了InvalidateRect试过了....
求助.
...全文

相关推荐

双缓冲的应用

双缓冲在VC的画图编程中很重要,可以克服闪烁等现象,同时编程更容易. 双缓冲的关键点在于创建一个兼容性的设备描述表(CompatibleDC)及一个相对应Compatible兼容性的的CBitmap,不同的CompatibleDC如果指向同一个Compatible兼容性的的CBitmap,则其中任何一个CompatibleDC的画布内容改变都会导至其它的CompatibleDC的画布内容改变. 运用双缓冲更以很容易实现画图的撤销动作,可以很容易实现橡皮功能,及橡皮擦的功能。 例如撤销动作,你需要记录每次的画的线的图像,当点击撤销时,你只要将前一幅图像显示出来,同时删除当前的图象即可。而擦除操作,要有二个DC,一个保存最初的图像,一个是你自定义的画布,在自定义的画布中你可以随便怎么画,当显示时,要将原始画布显示,同时加上你自画的画布,由于自画的画布有背景色,所以要求当两幅图画叠加时,要屏蔽掉自定义画布的背景色,此时要用到一个函数ransparentBlt,函数TransparentBlt在2008中是CDC的函数,而在6.0中并没有此函数,但有一个全局API函数,不能直接用,要在project-->setting-->link-->object/library中添加Msimg32.lib库函数,这样才能编辑得过。

江月IT

Windows环境下的麦克风录音系统(7).docx

Windows环境下的麦克风录音系统(7)

weixin_41031635

C#抓取当前桌面完整信息源码

C#抓取当前桌面完整信息源码

qq_123666

精彩编程与编程技巧-雨滴式的显示图片...

精彩编程与编程技巧-雨滴式的显示图片 ...

求伯乐

无刷直流电机模糊神经网络PID-模糊PID-传统PID三种控制对比Simulink仿真

内容概要:本文系统研究了无刷直流电机(BLDCM)在Simulink环境下的三种控制策略:传统PID控制、模糊PID控制以及模糊神经网络PID控制。研究基于三相桥式星型全控电路结构,构建了转速电流双闭环控制系统,并通过Matlab/Simulink搭建仿真模型,全面对比分析了三种算法在动态响应速度、稳态精度、抗干扰能力及系统鲁棒性等方面的性能差异。文章深入阐述了各控制方法的设计原理与实现机制,重点突出了模糊逻辑与神经网络在自适应调节PID参数方面的优势,验证了智能控制算法在提升电机控制品质上的显著效果。同时,文档提供了详实的仿真资源、参考文献和技术说明,有助于读者复现实验并深化对先进控制策略的理解与应用。 适合人群:具备自动控制理论基础和MATLAB/Simulink仿真能力的电气工程、自动化及相关专业的研究生、科研人员及工程技术人员,特别适用于从事电机驱动系统设计、智能控制算法开发等领域的专业人士。 使用场景及目标:①用于教学与科研中对比分析传统PID、模糊PID与模糊神经网络PID在无刷直流电机调速系统中的控制性能差异;②为高性能电机控制器的设计与优化提供仿真验证平台,支持参数整定与控制策略选型;③辅助完成毕业设计、科研项目或工业应用中的控制算法评估与改进。 阅读建议:建议读者结合所提供的Simulink模型与参考文献,逐步复现仿真过程,重点关注不同控制器的参数整定方法、响应曲线特征及其在负载扰动下的表现。可进一步拓展研究方向,如引入无位置传感器控制、滑模观测器或模型预测控制等先进控制技术,以深化对现代电机智能控制体系的理解与创新能力。

欢多天天写代码
评论 5
收藏 已收藏
分享
返回顶部
诡月
界面 15,976 成员 115,866 内容