MFC为控件添加背景图片
1、 添加选择Bitmap导入图片,图片文件最好放在项目res目录中,同时是BMP格式。上传后的图片在资源视图,命名为IDB_BITMAP_M_BACK。
2、在cpp的C***Dlg::OnPaint()函数下添加如下代码
void C***Dlg::OnPaint()
{CPaintDC dc(this); // device context for painting// TODO: 在此处添加消息处理程序代码 //获取控件在对话框上的位置,*IDC_STATIC_ENERGY_S为需添加背景图片的控件*CRect rect;GetDlgItem(IDC_STATIC_ENERGY_S)->GetWindowRect(&rect);//获取控件的屏幕坐标ScreenToClient(&rect); //转换为对话框上的客户坐标CBitmap bmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP_M_BACK); //加载位图 BITMAP bitmap; bmpBackground.GetBitmap(&bitmap); //生成BITMAPCDC dcMem; dcMem.CreateCompatibleDC(&dc); //选入DC CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); //用客户区的DC绘制所生成的BITMAP,并适应为窗口大小 dc.StretchBlt(rect.left,rect.top,rect.Width(),rect.Height(),&dcMem,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY); // 不为绘图消息调用 CDialogEx::OnPaint()
}
如果是主程序的cpp文件中已有OnPaint函数,则修改else部分代码:
void C***Dlg::OnPaint()
{if (IsIconic()){CPaintDC dc(this); // 用于绘制的设备上下文SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);// 使图标在工作区矩形中居中int cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;// 绘制图标dc.DrawIcon(x, y, m_hIcon);}else{// CDialogEx::OnPaint(); //注释该语句:防止重复调用重画函数***在这里添加上面那段代码***}
}
运行效果:

相关文章:
MFC为控件添加背景图片
1、 添加选择Bitmap导入图片,图片文件最好放在项目res目录中,同时是BMP格式。上传后的图片在资源视图,命名为IDB_BITMAP_M_BACK。 2、在cpp的C***Dlg::OnPaint()函数下添加如下代码 void C***Dlg::OnPaint() {CPaintDC dc(this); // device…...
1047:判断能否被3,5,7整除
【题目描述】 给定一个整数,判断它能否被3,5,7整除,并输出以下信息: 1、能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格); 2、只能被其中两…...
十七、DoIP诊断通信 2 (专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程 文章目录 专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程前言一、以太网panel面板配置二、DoIP建立连接与断开连接三、panel面板上的DoIP诊断报文发送接收SEND按钮会话切换复位1101按钮解锁按钮DTC按钮3E80保持会话前言 …...
【2023】LeetCode HOT 100——哈希
目录 1. 两数之和1.1 C++实现1.2 Python实现1.3 时空分析2. 字母异位词分组2.1 C++实现2.2 Python实现2.3 时空分析3. 最长连续序列3.1 C++实现3.2 Python实现3.3 时空分析1. 两数之和 🔗 原题链接:1. 两数之和 不妨设 i...
TCP/IP---网络层
一、网络层的主要功能 1、提供了通讯过程中,必须要使用的另一个地址:逻辑IP地址【ipv4、ipv6】 2、连接不同媒介类型【内网--外网(intra -- inter)】 3、根据运行的不同的路由协议,选择不同的最佳路径 4、在选择的最好…...
解决访问Github出现的Couldn‘t connect to server错误
文章目录 前言原因分析以及解决办法原因分析解决办法 参考 前言 在Github上面克隆代码仓库出现Failed to connect to 127.0.0.1 port 1080 after 2063 ms: Couldnt connect to server、Failed to connect to github.com port 443 after 21083 ms: Couldnt connect to server等…...
善于打仗的人,没有特别大的名气和勇功
善于打仗的人,没有特别大的勇功 【安志强趣讲《孙子兵法》第15讲】 【原文】 见胜不过众人之所知,非善之善者也;战胜而天下曰善,非善之善者也。 【趣讲白话】 预判胜负没有超出常人的见识,算不上高明中最高明的&#x…...
虚幻官方项目《CropOut》技术解析 之 程序化岛屿生成器(IslandGenerator)
开个新坑详细分析一下虚幻官方发布的《CropOut》,文章会同步发布到我在知乎|CSDN的专栏里 文章目录 概要Create Island几何体生成部分随机种子Step 1Step 2Step 3Step 4Step 5Step 6 岛屿材质部分动态为草地设置颜色 程序设计的小技巧其它Platform Switch函数 概要 …...
微服务中间件--微服务保护
微服务保护 微服务保护a.sentinelb.sentinel限流规则1) 流控模式1.a) 关联模式1.b) 链路模式 2) 流控效果2.a) 预热模式2.b) 排队等待 3) 热点参数限流 c.隔离和降级1) Feign整合Sentinel2) 线程隔离2.a) 线程隔离(舱壁模式) 3) 熔断降级3.a) 熔断策略-慢…...
Excel VBA 复制除指定工作表外所有的工作表的内容到一张工作表中
当我们有一张表里面有很多sheet 具有相同的表结构,如果需要汇总到一张表中,那么我们可以借助VBA 去实现汇总自动化 Sub 复制所有工作表内容()Dim ws As WorksheetDim targetSheet As WorksheetDim lastRow As Long 设置目标表格,即要将所有…...
电脑上安装,多版本node
手上有一个vue3的项目,sass配置如下图所示: 安装了Python3.10和node 16.14.0,项目能正常install 跟run。 因工作需要,收上有一个vue2的项目,sass配置如下图所示: 执行npm intsall 的时候一直报Python2找不…...
「网页开发|环境安装」Windows系统下安装node.js
本文主要介绍在windows系统下的node.js环境安装。windows系统的Node.js安装过程与其他普通软件的安装类似,本文主要给刚入门的伙伴一个参考。 文章目录 场景说明安装步骤下载安装包运行安装程序验证安装添加系统环境变量配置node_cache和node_global变量 场景说明 …...
【腾讯云Cloud Studio实战训练营】用Vue+Vite快速构建完成交互式3D小故事
👀前置了解:(官网 https://cloudstudio.net/) 什么是Cloud Studio? Cloud Studio 是基于浏览器的集成式开发环境(IDE),为开发者提供了一个永不间断的云端工作站。用户在使用 Cloud Studio 时无需安装&#…...
MySQL和Java中的货币字段类型选择
推荐阅读 AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮AI想象空间 资源分享 「java、python面试题」来自UC网盘app分享,打开手机app,额外获得1T空间 https:…...
第6步---MySQL的控制流语句和窗口函数
第6步---MySQL的控制流语句和窗口函数 1.IF关键字 -- 控制流语句 SELECT IF(5>3,大于,小于);-- 会单独生成一列的 SELECT *,IF(score >90 , 优秀, 一般) 等级 FROM stu_score;-- IFNULL(expr1,expr2) SELECT id,name ,IFNULL(salary,0),dept_id FROM emp4;-- ISNULL() …...
Android通过OpenCV实现相机标定
在 Android 中使用 OpenCV 实现相机标定,你可以按照以下步骤进行操作: 首先,确保你已经在项目中引入了 OpenCV 库的依赖。 创建一个 CameraCalibrator 类,用于执行相机标定。 import org.opencv.calib3d.Calib3dimport org.open…...
我们可能要为ChatGPT的谢幕做好准备
ChatGPT的未来:悬念仍存 人工智能已经成为我们生活不可或缺的一部分。在众多AI应用中,OpenAI研发的ChatGPT凭借其极强的语言理解和生成能力脱颖而出,是一项划时代的变革性创新,帮助了无数企业和个人,改变了我们与技…...
深入浅出Pytorch函数——torch.nn.init.xavier_normal_
分类目录:《深入浅出Pytorch函数》总目录 相关文章: 深入浅出Pytorch函数——torch.nn.init.calculate_gain 深入浅出Pytorch函数——torch.nn.init.uniform_ 深入浅出Pytorch函数——torch.nn.init.normal_ 深入浅出Pytorch函数——torch.nn.init.c…...
Abandon_Ubuntu Declaration
鉴于以下几个原因,持续到明年考研结束,我将不再捣鼓ubuntu和任何linux系统, 原因如下: ubuntu23.04不支持wps编辑pdf这个核心功能,且开机向canonial公司发送远程遥测,暂时不会用iptables禁用,故…...
Java设计模式-抽象工厂模式
简介 设计模式是软件设计中的一种常见方法,通过定义一系列通用的解决方案,来解决常见的软件设计问题。其中,抽象工厂模式是一种非常常见的设计模式,它可以帮助我们创建一组相关的对象,而不需要指定具体的实现方式。 …...
别再微调模型了!Claude 3.5 Sonnet新增3类零样本指令模板:Prompt工程师的最后护城河正在崩塌?
更多请点击: https://intelliparadigm.com 第一章:Claude 3.5 Sonnet零样本指令能力的范式跃迁 Claude 3.5 Sonnet 在零样本(zero-shot)场景下展现出前所未有的指令理解与泛化能力,标志着大模型从“模式复现”向“意图…...
ARM MPMC内存控制器架构与优化策略
1. ARM MPMC内存控制器架构解析在嵌入式系统设计中,内存控制器作为处理器与存储设备之间的桥梁,其性能直接影响整个系统的运行效率。ARM PrimeCell多端口内存控制器(MPMC)是一种高度可配置的IP核,支持与多种类型存储设备的连接,包…...
200+ 发音人怎么缩小范围:先定风格再试听
🎯 200 发音人怎么缩小范围:先定风格再试听面对顶伯文字转语音工具中超过 200 种发音人,选择困难症难免发作。😵 别急,掌握 「先定风格再试听」 的筛选逻辑,就能快速锁定目标。 本文从风格分类、筛选技巧到…...
汽车后市场品牌营销路径:以奇正沐古和康明斯为例
在汽车后市场,很多品牌真正的难题并非没有技术、没有产品、没有资源,而是这些优势到了终端之后,无法变成司机、经销商和维修点愿意相信、愿意推荐、愿意购买的理由。康明斯发动机润滑油就是个典型例子,康明斯作为全球柴油发动机技…...
自治性、反应性、学习能力:AI Agent的关键特性
自治性、反应性、学习能力:AI Agent的关键特性——从蚂蚁觅食到通用智能体的进化之路 关键词 AI Agent, 自治性, 反应性, 强化学习, 记忆机制, 环境交互, 通用人工智能萌芽 摘要 想象一下:你有一个能自己帮你规划周末露营路线(自治性)、中途遇到暴雨自动切换到附近民宿…...
3步构建你的第二大脑:Obsidian知识管理系统实战指南
3步构建你的第二大脑:Obsidian知识管理系统实战指南 【免费下载链接】obsidian-template Starter templates for Obsidian 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-template 你是否曾为笔记杂乱无章而烦恼?是否在需要某个知识点时…...
告别按钮!用Qt实现STM32小车的键盘与手柄控制方案(附串口通信源码)
超越按钮控制:Qt框架下STM32小车的键盘与手柄交互方案 在嵌入式开发领域,人机交互体验往往被忽视,而实际上它直接影响着用户的操作效率和舒适度。对于STM32遥控小车这类需要实时操控的项目,传统的按钮点击方式存在明显局限——操作…...
电能质量治理三相光伏逆变器设计【附程序】
✨ 长期致力于MPPT、电能质量治理、改进哈里斯鹰、重复控制、预置补偿角、模糊PI研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)基于混沌哈里斯鹰算法…...
Windows 10 PL2303驱动修复终极指南:3种方案解决串口设备兼容性问题
Windows 10 PL2303驱动修复终极指南:3种方案解决串口设备兼容性问题 【免费下载链接】pl2303-win10 Windows 10 driver for end-of-life PL-2303 chipsets. 项目地址: https://gitcode.com/gh_mirrors/pl/pl2303-win10 PL2303驱动修复方案是解决Windows 10系…...
从五管OTA到两级运放:在Cadence IC617中如何规划你的设计指标与晶体管尺寸(gm/id方法详解)
从五管OTA到两级运放:gm/id设计方法在Cadence IC617中的策略性应用 在模拟集成电路设计中,运算放大器的设计始终是工程师面临的核心挑战之一。特别是当设计需求从简单的五管OTA扩展到更复杂的两级运放时,设计者需要处理的不仅仅是晶体管尺寸的…...
