MFC工控项目实例之八选择下拉菜单添加打钩图标

承接专栏《MFC工控项目实例之七点击下拉菜单弹出对话框》
具体添加菜单栏参考我的博客文章《MFC工控项目实例之七点击下拉菜单弹出对话框》
这里只给出相关代码
1、在SEAL_PRESSUREDlg.h文件中添加代码

class CSEAL_PRESSUREDlg : public CDialog
{
// Construction
public:...CBitmap m_bmSel,m_bmList;void OnTypeChange(UINT nID);...}

2、在SEAL_PRESSUREDlg.cpp文件中添加代码

BEGIN_MESSAGE_MAP(CSEAL_PRESSUREDlg, CDialog)//{{AFX_MSG_MAP(CSEAL_PRESSUREDlg)//}}AFX_MSG_MAPON_COMMAND_RANGE(ID_DEF_PRODUCT, ID_DEF_PRODUCT + 100, OnTypeChange)
END_MESSAGE_MAP()BOOL CSEAL_PRESSUREDlg::OnInitDialog()
{CDialog::OnInitDialog();...m_bmSel.LoadBitmap(IDB_BITMAP1);m_bmList.LoadBitmap(IDB_BITMAP2);m_menuType.LoadMenu(IDR_MENU1);	return TRUE;  // return TRUE  unless you set the focus to a control
}void CSEAL_PRESSUREDlg::OnTypeChange(UINT nID)
{theApp.m_nProductSel = nID - ID_DEF_PRODUCT+1;CWinApp* pApp = AfxGetApp();pApp->WriteProfileInt("参数","nProductSel1",theApp.m_nProductSel);}void CSEAL_PRESSUREDlg::OnTypChoice() 
{// TODO: Add your control notification handler code here
//	CTypDlg dlg;
//	dlg.DoModal();int	m_nActivePlace = 0;CRect rect;GetDlgItem(IDC_TYP_CHOICE)->GetWindowRect(&rect);while(m_menuType.GetSubMenu(0)->GetMenuItemCount() >2){m_menuType.GetSubMenu(0)->RemoveMenu(2,MF_BYPOSITION);}for(int i = 0 ; i < theApp.m_allPara.GetSize() -1; i ++){CString str;if(strlen(theApp.m_allPara[i + 1].m_strBrand) > 0)str.Format("%s(%s)",theApp.m_allPara[i + 1].m_strTypeName,theApp.m_allPara[i + 1].m_strBrand);elsestr.Format("%s",theApp.m_allPara[i + 1].m_strTypeName,theApp.m_allPara[i + 1].m_strBrand);m_menuType.GetSubMenu(0)->AppendMenu(MF_STRING,ID_DEF_PRODUCT + i,str);	m_menuType.GetSubMenu(0)->SetMenuItemBitmaps(ID_DEF_PRODUCT + i, MF_BYCOMMAND, &m_bmList,&m_bmSel);}CWinApp* pApp = AfxGetApp();int  m_nProductSel=pApp->GetProfileInt("参数","nProductSel1",0);		m_menuType.GetSubMenu(0)->CheckMenuItem(2 + m_nProductSel - 1,MF_CHECKED|MF_BYPOSITION);m_menuType.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN |TPM_RIGHTBUTTON,rect.left,rect.bottom,this);
}

运行程序
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/414653.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5年数据观巨变,这家公司如何在AI和大模型数据赛道遥遥领先?

过去5年&#xff0c;整个社会对于数据的观念和认知&#xff0c;发生了天翻地覆的改变。这要归功于OpenAI与预训练大语言模型&#xff08;以下简称大模型&#xff09;的问世以及横扫全球的ChatGPT。从2020年1月OpenAI发表《自然语言模型的“摩尔定律”&#xff08;Scaling Law f…

算法训练营——day1数组二分查找

数组是存放在连续空间上的相同数据类型的集合。 注意&#xff1a;下标从0开始&#xff1b;内存空间连续。 正因为数组的内存地址空间连续&#xff0c;所以在删除、添加元素的时候需要移动其他元素。 数组的元素不能删除&#xff0c;只能覆盖&#xff01; 二维数组特殊 在C中&…

测试使用开源异构迁移工具dbswitch

dbswitch: 异构数据库迁移同步(搬家)工具 (base) rootnode13:~# cat /etc/issue Ubuntu 20.04.5 LTS \n \l (base) rootnode13:~# curl -k -sSL https://gitee.com/dromara/dbswitch/attach_files/1878800/download > /tmp/dbswitch_install.sh && bash /tmp/dbsw…

佰朔资本:社融是什么?社融增加是利好还是利空

社融即全社会融资规划&#xff0c;是指实体经济从金融体系取得的资金。包括人民币信贷、债券发行、股票发行、非金融企业债券、政府债券等各种融资办法&#xff0c;也称为社会融资量。 社会融资规划存量是指一守时期末&#xff08;月末、季末或年底&#xff09;实体经济从金融…

9月新机首发:骁龙芯片+超大电池,游戏玩家的终极选择

随着秋风送爽的9月到来&#xff0c;智能手机和电子设备市场也迎来了新一轮的热潮。8月份的新机发布热潮刚刚退去&#xff0c;9月份的新机已经迫不及待地揭开了神秘的面纱。在众多备受期待的产品中&#xff0c;红魔品牌抢先官宣&#xff0c;两款全新的游戏平板将在9月5日正式亮相…

C++国密SM2算法加解密的使用

目录 效果 在线校验 代码实现参考 项目 下载 效果 加密字符串:lxw 123abcD 2024-09-01:12:00加密后信息:042E82EE8ACE2BD56FA71DC6A0C34190627AA365F8EEE6261903BEE327A85EB5E1D6E78F2D79AD6F6DC9E45C0829625DC3165BB78BD897F99044A640F930653747939CF9D5A10C8216F945A559…

【SQL】Delete使用

目录 语法 需求 示例 分析 代码 语法 DELETE删除表中所需内容 删除表中满足特点条件的行&#xff1a;DELETE FROM 表名 WHERE 条件; 删除表中所有行&#xff1a;DELETE FROM 表名; WHERE子句 WHERE子句用于指定从表中选取记录的条件。允许筛选数据&#xff0c;只返回满足…

filezilla使用教程(window下filezilla使用教程)

filezilla使用教程&#xff08;window下filezilla使用教程&#xff09; 一、安装与配置 首先&#xff0c;你需要从FileZilla的官方网站下载并安装适合你操作系统的版本。安装完成后&#xff0c;打开FileZilla&#xff0c;你将看到一个简洁的用户界面。 在FileZilla中&#x…

「SpEL Validator」使用指南(一套无敌的参数校验组件)

前言 这是一套全新的参数校验组件&#xff0c;并非造轮子。 看完本文你可能会觉得用不上或不屑于使用&#xff0c;但这玩意确实有应用场景&#xff0c;你不妨稍微留意一下&#xff0c;日后你总会发现有用得上的时候。 此乃系列文章&#xff0c;当前为第②篇&#xff0c;其他…

用Python实现时间序列模型实战——Day 8: 季节性ARIMA模型 (SARIMA)

一、学习内容 1. SARIMA 模型的定义与公式推导 SARIMA 模型&#xff1a; SARIMA 模型是扩展了 ARIMA 模型的一种方法&#xff0c;全称为季节性自回归积分滑动平均模型&#xff08;Seasonal AutoRegressive Integrated Moving Average&#xff09;。它结合了 ARIMA 模型的非季…

sed awk 第二版学习(二)—— 正则表达式语法

目录 一、表达式 二、成行的字符 1. 反斜杠 2. 通配符 3. 编写正则表达式 4. 字符类 &#xff08;1&#xff09;字符的范围 &#xff08;2&#xff09;排除字符类 &#xff08;3&#xff09;POSIX 字符类补充 5. 重复出现的字符 6. 匹配单词 7. gres 替换脚本 8. …

超越卷积滤波器,HyCoT利用Transformer捕捉高光谱图像的全局依赖性 !

近年来&#xff0c;基于学习的高光谱图像&#xff08;HSI&#xff09;压缩模型的开发引起了大量关注。现有的模型主要使用卷积滤波器&#xff0c;仅捕捉局部依赖性。 此外&#xff0c;它们通常会带来高昂的训练成本&#xff0c;并具有较大的计算复杂性。 为了解决这些问题&…

upload-labs通关攻略

Pass-1 这里上传php文件说不允许上传 然后咱们开启抓包将png文件改为php文件 放包回去成功上传 Pass-2 进来查看提示说对mime进行检查 抓包把这里改为image/jpg; 放包回去就上传成功了 Pass-3 这里上传php文件它说不允许上传这些后缀的文件 那咱们就可以改它的后缀名来绕过…

KinectFusion

1.KinectFusion 笔记来源&#xff1a; 论文地址&#xff1a;KinectFusion: Real-time 3D Reconstruction and Interaction Using a Moving Depth Camera* 项目地址&#xff1a;github/KinectFusion [1] 截断符号距离 | TSDF, Truncated Signed Distance Function 本篇对Kinec…

工业储能柜内部运行状态监测装置

工商业储能是用户侧储能的主要应用之一&#xff0c;其核心场景包括峰谷套利、需&#xff08;容&#xff09;量管理、应急备电、动态增容和需求侧响应。为了实现这些功能并确保储能系统的安全、可靠与经济运行&#xff0c;储能集成厂家必须关注多个方面&#xff0c;其中储能设备…

WPF ToolkitMVVM IOC IServiceConllection

用微软自带的 IOC 需要安装 using Microsoft.Extensions.DependencyInjection; using System.Configuration; using System.Data; using System.Windows;namespace WpfApp3 {/// <summary>/// Interaction logic for App.xaml/// </summary>public partial class…

BITCN合集(BITCN 、BITCN-GRU、BITCN-BIGRU、BITCN-LSTM、BITCN-BILSTM、BITCN-SVM)

BITCN合集&#xff08;BITCN 、BITCN-GRU、BITCN-BIGRU、BITCN-LSTM、BITCN-BILSTM、BITCN-SVM&#xff09; BITCN合集&#xff08;BITCN 、BITCN-GRU、BITCN-BIGRU、BITCN-LSTM等&#xff09;代码获取戳此处代码获取戳此处代码获取戳此处 BITCN&#xff08;双向时间卷积神经网…

uniapp引入最新版Animate.css及使用示例

亲测可用,不好用请移至评论区揍我 动画库官网:https://animate.style/ cdn地址:https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css(截至目前最新版为:v4.1.1) 1. 将css下载后导入项目static目录中 2. 重要!修改下载的css文件内容 文件内容如…

vue脚手架路由快速入门

这里写目录标题 路由 router路由插件的引用离线在线CDN 单独路由使用案例项目中如何定义路由1\安装路由2\创建路由文件router.js以及创建相关文件3\应用插件main.js4\实现切换<router-link></router-link>5\展示位置 <router-view></router-view> 嵌套…

在线绘制哑铃图(dumbbell chart)展示基因拷贝数变异(CNV)

导读&#xff1a; 哑铃图的名称来源于其形状&#xff0c;它看起来像一个哑铃&#xff0c;有两个圆形的“重量”在两端&#xff0c;通过一根“杆”连接。常用于展示两个或多个数据集之间的差异。本文介绍了如何使用哑铃图展示基因的拷贝数变异。 Journal of Translational Medi…