当前位置: 首页 > ops >正文

【52】MFC入门到精通——(CComboBox)下拉框选项顺序与初始化不一致,默认显示项也不一致

文章目录

  • 1 问题描述
  • 2 问题分析与解决

上一讲,我们实现了MFC串口助手初级版。 MFC入门到精通——MFC串口助手(一)—初级版(串口设置、初始化、打开/关闭、状态显示),附源码

1 问题描述

程序运行后串口默认参数,与我们预期不完全一致;
我们预期是:串口号COM1,波特率38400,校验None,数据8,停止位1;
但实际效果:波特率19200、校验Even、数据6显示的不对。
在这里插入图片描述
我们再次检查串口参数初始化代码,完全没问题;

//========================================== = 初始化对话框========================================== =//设串口组合列表框
TCHAR com[][6] = { _T("COM1"),_T("COM2"),_T("COM3"),_T("COM4"),_T("COM5"),_T("COM6"),_T("COM7"),_T("COM8"),_T("COM9") };
for (int i = 0; i < 9; i++)m_Combo_Com.AddString(com[i]);
m_Combo_Com.SetCurSel(0);//默认显示第1个串口号//设波特率组合列表框
TCHAR baud[][7] = { _T("9600"),_T("19200"),_T("38400"),_T("43000"),_T("56000"),_T("57600"),_T("115200"),_T("128000"),_T("230400") };
for (int i = 0; i < 9; i++)m_Combo_Baud.AddString(baud[i]);
m_Combo_Baud.SetCurSel(2);//默认显示第3个波特率//设校验位组合列表框
TCHAR check[][7] = { _T("None"),_T("Odd"),_T("Even") };
for (int i = 0; i < 3; i++)m_Combo_Check.AddString(check[i]);
m_Combo_Check.SetCurSel(0);//默认显示无校验//设数据位组合列表框
TCHAR data[][2] = { _T("8"),_T("7"),_T("6") };
for (int i = 0; i < 3; i++)m_Combo_Data.AddString(data[i]);
m_Combo_Data.SetCurSel(0);//设停止位组合列表框
TCHAR stop[][2] = { _T("1"),_T("2") };
for (int i = 0; i < 2; i++)m_Combo_Stop.AddString(stop[i]);
m_Combo_Stop.SetCurSel(0);

2 问题分析与解决

根据我们的预期:串口号COM1,波特率38400,校验None,数据8,停止位1;
那么CComboBox下拉框的选项序号依,代码逻辑没问题,

m_Combo_Com.SetCurSel(0);//默认显示第1个串口号COM1
m_Combo_Baud.SetCurSel(2);//默认显示第3个波特率38400
m_Combo_Check.SetCurSel(0);//默认显示无校验
m_Combo_Data.SetCurSel(0);//默认显示第1个
m_Combo_Stop.SetCurSel(0);//默认显示第1个

我们来看看下拉框里面实际选项,发现与我们上面添加的顺序也不完全一致 (有的顺序、有的逆序、有的无序号)

在这里插入图片描述
为了保证,我下拉框现实的顺序我们们添加的顺序一致,
在CComboBox控件的属性中找到 排序,将排序设为 False,这样下拉框选项顺序与添加顺序一致了。

在这里插入图片描述

在这里插入图片描述
把这几个CComboBox控件的 排序都设置文False后,再次验证效果:

与预设完全一致
在这里插入图片描述

http://www.xdnf.cn/news/15716.html

相关文章:

  • Three.js与AIGC的化学反应:AI生成3D模型在实时渲染中的优化方案
  • Weavefox 图片 1 比 1 生成前端源代码
  • 基于Electron打包jar成Windows应用程序
  • LangGraph教程6:LangGraph工作流人机交互
  • [MySQL基础3] 数据控制语言DCL和MySQL中的常用函数
  • 基于Socket来构建无界数据流并通过Flink框架进行处理
  • 软考 系统架构设计师系列知识点之杂项集萃(112)
  • 根据ARM手册,分析ARM架构中,原子操作的软硬件实现的底层原理
  • LeetCode|Day19|14. 最长公共前缀|Python刷题笔记
  • 财务术语日常学习:存货跌价准备
  • scalelsd 笔记 线段识别 本地部署 模型架构
  • 第二阶段-第二章—8天Python从入门到精通【itheima】-133节(SQL——DQL——基础查询)
  • 云服务器搭建自己的FRP服务。为什么客户端的项目需要用Docker启动,服务端才能够访问到?
  • Leetcode 05 java
  • 动态规划算法的欢乐密码(三):简单多状态DP问题(上)
  • 微信小程序171~180
  • MySQL详解二
  • 创建第二大脑--第五章 组织:以行动为导向
  • NLP中情感分析如何结合知识图谱在跨文化领域提升观念分析和价值判断的准确性?
  • GLU 变种:ReGLU 、 GEGLU 、 SwiGLU
  • js基本数据类型之字符串类型
  • 你的品牌需要一个AI首席内容官——解构BrandCraft如何解决内容创作的终极痛点
  • CCF编程能力等级认证GESP—C++4级—20250628
  • RSTP技术
  • /字符串/
  • DOM笔记
  • JS获取 CSS 中定义var变量值
  • 比亚迪古德伍德亮相:从技术突破到文化对话
  • UE5多人MOBA+GAS 番外篇:使用ECC(UGameplayEffectExecutionCalculation)制作伤害计算的流程
  • LP-MSPM0G3507学习--03时钟配置