工具栏ToolBar上的CComboBox响应回车

VC++ MFC工具栏平面下拉控件实现:自定义绘制与消息处理详解 在桌面应用开发中,控件自定义绘制是提升界面美观与交互一致性的关键技术。其原理在于通过接管系统控件的绘制过程,开发者可以完全控制其视觉表现,从而实现与应用程序主题的深度集成。这项技术的核心价值在于,它允许在不更换底层框架的前提下,为经典应用注入现代UI设计语言,显著提升用户体验。在MFC(Microsoft Foundation Classes)这类传统框架中,通过重写DrawButton等虚函数,并结合鼠标键盘消息处理,可以构建出如平面下拉控件(Flat Combo Box)这样风格统一的界面元素。本文以V 阅读详情

       在派生CToolBar类的时候, 注意如果用VC6的类向导, 类列表里是没有CToolBar的, 可以选择CToolBarCtrl, 然后手动改为CToolBar( 参考 http://support.microsoft.com/kb/99161/en-us),
//下面的代码是直接手写的
#define       IDC_COMBOBOX      11111
class CToolBarEx : public CToolBar
{
     .........//其他的类代码省略
    CComboBox   m_Combo;
    afx_msg void OnSelectComboBox();
    DECLARE_MESSAGE_MAP()
};

BEGIN_MESSAGE_MAP(CToolBarEx, CToolBar)
      ON_CBN_SELENDOK(ID_COMBOBOX, OnSelectComboBox)
END_MESSAGE_MAP()

void CToolBarEx::OnSelectComboBox()
{
}
      在上面的一小段代码中, 我们添加了对CBN_SELENDOK消息的处理, 这个消息是CComboBox在完成选择后
发送给父窗口的. 处理回车还需要在用户的VK_RETURN消息里模拟发送出这个CBN_SELENDOK消息.

      所以我们还需要处理PreTranslateMessage函数.函数在类头文件的声明略.
BOOL CToolBarEx::PreTranslateMessage(MSG* pMsg)
{
       if (pMsg->message == WM_KEYDOWN)
       {
              NMHDR nm;  
              nm.hwndFrom = m_hWnd;
              nm.idFrom = GetDlgCtrlID();
              nm.code = NM_RETURN;
              switch (pMsg->wParam)
              {
              case VK_RETURN:
                     //发送通知消息
                     if( m_Combo.IsChild(GetFocus()) )
                     OnSelectComboBox();
                     GetOwner()->SendMessage(WM_NOTIFY, nm.idFrom, (LPARAM)&nm);
                     return TRUE;
  }
 }
 return CToolBar::PreTranslateMessage(pMsg);
}

MATLAB三元相图实战:从数据准备到高级可视化技巧全解析 本文深入解析了如何使用MATLAB绘制专业的三元相图(ternary plot)。文章从数据归一化、范围映射等预处理技巧入手,详细介绍了散点图、等高线图、凸包计算等高级可视化方法,并提供了多数据集对比与出版级图表美化的实战指南,帮助科研与工程人员高效呈现复杂的三元数据关系。 阅读详情

相关推荐

Agent 操作系统:未来的 Harness 平台

在大模型技术爆发的当下,自主智能体(Agent)已经成为AI原生应用的核心载体,但当前Agent开发面临着碎片化严重、运维难度高、规模化落地难三大核心痛点,就像1970年代没有通用操作系统的裸机编程时代,开发者需要重复造轮子解决底层基础设施问题。本文将深度解析Agent操作系统(Agent OS)作为AI原生时代的底层基础设施的核心定位,以及下一代Harness平台如何将Agent OS与成熟的DevOps、CI/CD、可观测性、成本管理能力深度融合,成为AI原生应用全生命周期管理的统一平台。

软件工程实践的博客 278

MFC 工具条 CToolBar : 添加控件

MFC 工具条 CToolBar 添加非按钮控件CComboBox  工具栏添加组合框 继承CWnd的类都能放到工具条上。 原理: 1.在工具条资源添加分隔符SEPARATOR 2.设置分隔符宽度 3.得到分隔符窗口CRect 4.根据分隔符窗口创建Create组合框ComboBox 新手要源码,留下邮箱。 补充: 工程大的时候,需要清理状态才能正确显示,曾被困惑好久

路楷的专栏 927

【开源】STM32+ESP8266+MQTT多传感器数据上云OneNET(易拓展,带操作系统FreeRTOS)

【开源】STM32+ESP8266+MQTT多传感器数据上云OneNET(易拓展) 文章目录【开源】STM32+ESP8266+MQTT多传感器数据上云OneNET(易拓展)1. 相关连接1.1 本项目相关连接1.2 无操作系统简易版(旧版,有OneNET云平台设备创建和应用配置,本文不再赘述):2. 具体功能3. 硬件环境4. 云平台环境配置5. 接线6. 功能展示6.1 数据流6.2 APP应用管理6.3 串口数据7. 源码详解7.1 源码文件解析7.2 服务器与wifi配置相关7.3 源码框架7.4

ssssadw的博客 2万+

工具栏中嵌入Combo Box

1.在资源视图的toolbar资源的IDR_MAINFRAME中找一个放置combo box控件的地方,将它的ID设置为ID_COMBO 2.利用类向导创建下面这个类: class CToolBarWithCombo : public CToolBar { public: CComboBox m_comboBox; // Overrides // ClassWizard ge

u013094443的博客 1441

Android真机调试——ADB调试(含华为手机无法找到设备)

本文以Huawei Nova7为例。

lianqi2003的博客 7860

MATLAB与ROS联合仿真——实例程序搭建思路

MATLAB与ROS联合仿真——实例程序搭建思路

慕羽★的博客 5229

MFC工具条CToolBar添加非按钮控件CComboBox

继承CWnd的类都能放到工具条上。原理:1.在工具条资源添加分隔符SEPARATOR2.设置分隔符宽度3.得到分隔符窗口CRect4.根据分隔符窗口创建Create组合框ComboBox新手要源码,留下邮箱。补充:工程大的时候,需要清理状态才能正确显示,曾被困惑好久。App里加CleanState();或直接删除注册表。一、打开.rc文件修改如下://///////////////////////...

weixin_34097242的博客 249

家里摄像头录像存 NAS,空间爆满了怎么办?一招实现设定容量自动清理实现循环存储!

📷 家用摄像头录像久了会撑爆 NAS 吗?别担心,这篇文章教如何实现自动清理录像,释放 NAS 空间,避免爆盘🧹

XiaoqiangClub的博客 1882

CComboBox 下拉框自适应宽度,添加消息响应CBN_DROPDOWN AdjustComboBoxDropDownListWidth()

MFC ComboBox空间 下拉框宽度根据内容自适应

baidu_33308136的博客 837

BUCK-BOOST升降压电路Multisim电路仿真分析

本文分析了三极管型BUCK-BOOST升降压开关电源的工作原理。该电路结合了BUCK降压和BOOST升压拓扑,通过控制三极管Q1的高频通断,使电感L1周期性储能和释能,实现输出电压可高于或低于输入电压且极性相反。详细阐述了Q1导通和关断阶段的工作过程,推导了输出电压与占空比的关系式Vo=-D/(1-D)*Vi,并分析了不同占空比下的工作模式(降压、升压)。通过Multisim仿真验证了理论分析,当D=25%时输出降压至1.6V,D=60%时输出升压至7.5V。电路具有升降压灵活、极性反转、效率高等特点,适用

XU157303764的博客 1436

【全覆盖算法】栅格地图实现布氏单元分解算法+栅格地图实现牛耕Boustrophedon Cellular Decomposition Path Planning

本文先对做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。

qq_35635374的博客 282

工具栏上创建ComboBox组合框控件,框架响应消息

由于业务需要,在原有程序的基础上需要增加几项新的功能。主程序是没有顶部菜单的MDI窗口,考虑在多视环境下的操作实现比较麻烦,故采用主框架响应组合框的消息函数。创建ComboBox控件步骤:1〉在资源里添加一个按钮,命名为ID_COMMBO。2〉、添加新类class CComboToolBar,class CComboToolBar : public CToolBar{public:CCombo

chinawei0710的专栏 1621

8、使用 TPCx - HCI 基准测试表征 HCI 集群的性能和弹性

本文详细介绍了 TPCx - HCI 基准测试,用于衡量超融合基础设施(HCI)集群的性能、稳定性和扩展性。TPCx - HCI 扩展了 TPCx - V 的理念,通过 Tile 架构和弹性特性,全面评估硬件、虚拟化、存储和网络组件的表现。文章还通过多个实验场景分析了负载均衡、数据布局和重新同步策略对性能的影响,并提出了部署和优化 HCI 集群的建议。

sun99的博客 179

vc++MFC设置Combo box下拉选择改变事件,解决想响应一个下拉框ComboBox控件选择改变的事件时,但总在下一次选择改变时才触发上次的响应问题。

3、在事件函数中添加:int index =((CComboBox*)GetDlgItem(IDC_COMBO1))->GetCurSel();//获取所选项的索引。//设置改变事件为所选项索引。2、选择组合框右击,选择事件,添加事件函数CBN_SELCHANGE。//更新,获得所选项索引。1、打开MFC添加组合框。

weixin_45948117的博客 3072

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

VS2010/MFC编程入门之二十四(常用控件:组合框控件Combo Box)

上一节鸡啄米讲了列表框控件ListBox的使用,本节主要讲解组合框控件Combo Box。组合框同样相当常见,例如,在Windows系统的控制面板上设置语言或位置时,有很多选项,用来进行选择的控件就是组合框控件。它为我们的日常操作提供了很多方便。        组合框控件简介        组合框其实就是把一个编辑框和一个列表框组合到了一起,分为三种:简易(Simple)组合框、下拉式

Cesar Wu 2563

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

CComboBox使用技巧

 CComboBox使用技巧: 1. CComboBox风格      CBS_AUTOHSCROLL //自动水平滚动条CBS_DISABLENOSCROLL //选中时始终显示滚动条CBS_DROPDOWN //下拉式CBS_DROPDOWNLIST //下拉列表CBS_HASSTRINGS

无幻 6960

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

ComboBox接受回车事件

<br />ComboBox接受回车事件的两种方法:<br />第一种:可以override窗体Form的ProcessDialogKey来抓回车<br />//拷贝到Form类中。 <br />protected   override   bool   ProcessDialogKey(System.Windows.Forms.Keys     aKey) <br />{ <br />if   (aKey   ==   Keys.Enter) <br />{ <br />if   (this.comboB

顾传龙 4804

combobox 处理回车

combobox控件,由一个edit编辑框和一个下拉列表框组成。  BOOL   CTest6Dlg::PreTranslateMessage(MSG*   pMsg)       {         if(   pMsg->message   ==   WM_KEYDOWN   )     {                     switch(   pMsg->wParam   )  

wwwcs59的专栏 1812

mfc控件总览(转)

 1。mfc单文档结构2。添加 左击鼠标,按下键盘事件3。消息:窗口消息,控件的通知消息,命令消息第5章对话框和常用控件 5.1 对话框的使用 5.2 控件的创建和使用方法 5.3 常用控件 5.4 通用对话框和消息对话框 5.1对话框的使用5.1.1模式和无模式对话框 Ø    模式对话框 u      指当对话框被弹出,用户必须在对话框中作出

lxf20054658的专栏 1万+
上一篇: 用VC制作非常酷的工具条
下一篇: 界面库技术概述
skyremember
博客等级 码龄20年 204粉丝 484原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值