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

【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.lryc.cn/news/593732.html

相关文章:

  • yolov8-pos/yolov11-pos openvino C++部署
  • bash方式启动模型训练
  • OpenCV特征点提取算法orb、surf、sift对比
  • 相机参数的格式与作用
  • 算法基础知识总结
  • MYSQL 第一次作业
  • 量子计算与AI融合的技术突破与实践路径
  • scalelsd 笔记 线段识别 本地部署 模型架构
  • 【面试题】大厂高压面经实录丨第三期
  • SpringBoot服装推荐系统实战
  • 石子问题(区间dp)
  • 泛型机制详解
  • Java中缓存的使用浅讲
  • 从代码学习深度强化学习 - SAC PyTorch版
  • openmv小车追小球
  • PCA主成分分析
  • xss-labs1-8题
  • lvs笔记
  • JAVA高级第六章 输入和输出处理(一)
  • python类Keys
  • OpenCV 官翻 2 - 图像处理
  • CAN通信驱动开发注意事项
  • 使用C#对象将WinRiver项目文件进行复杂的XML序列化和反序列化实例详解
  • 软考高级之工程工期成本计算题
  • 用虚拟机体验纯血鸿蒙所有机型!
  • 深入解析LVS负载均衡核心原理
  • Python MCP与Excel增强智能:构建下一代数据处理和自动化解决方案
  • 线性回归问题
  • 【超详细笔记】概率:中心极限定理的直观理解——样本均值为何趋近正态
  • Linux“一切皆文件“设计哲学 与 Linux文件抽象层:struct file与file_operations的架构解析