在菜单中添加复选标记用CheckMenuItem函数

CheckMenuItem函数原型:

DWORD
WINAPI
CheckMenuItem(
_In_ HMENU hMenu,    //菜单句柄
_In_ UINT uIDCheckItem,  //菜单ID
_In_ UINT uCheck);    //复选标记MF_CHECKED(添加复选标记)和MF_UNCHECKED(取消复选标记)

实例:

LRESULT MyWnd::OnCommand(DWORD dwID, DWORD dwEnter, HWND hCtrlWnd)
{
HMENU hMenu = GetMenu(m_hWnd);  //获得窗口菜单句柄
HMENU hItem = GetSubMenu(hMenu, 1);//获得第二个子菜单项的句柄 switch (dwID)
{
case ID_TOOBAR_MENU:
{
//判断是否有复选标记,如果有就取消复选标记,没有就添加复选标记
if (CheckMenuItem(hItem, ID_TOOBAR_MENU, MF_CHECKED)&MF_CHECKED)
CheckMenuItem(hItem, ID_TOOBAR_MENU, MF_UNCHECKED); break;
}
case ID_STAT_MENU:
{ if (CheckMenuItem(hItem, ID_STAT_MENU, MF_CHECKED)&MF_CHECKED)
CheckMenuItem(hItem, ID_STAT_MENU, MF_UNCHECKED); break;
} case ID_MENU_MENU:
{
if (CheckMenuItem(hItem, ID_MENU_MENU, MF_CHECKED)&MF_CHECKED)
CheckMenuItem(hItem, ID_MENU_MENU, MF_UNCHECKED); break;
} }
return 0;
}

在菜单中添加单选标记用CheckMenuRadioItem函数

CheckMenuRadioItem函数原型:

BOOL
WINAPI
CheckMenuRadioItem(
_In_ HMENU hmenu,  //菜单句柄
_In_ UINT first,  //第一个菜单项ID
_In_ UINT last,   //最后一个菜单项ID
_In_ UINT check,  //要标记的菜单项ID
_In_ UINT flags);  //单选标记MF_BYCOMMAND

实例:

//菜单ID号要是连续的Id号

#define ID_TOOBAR_MENU 40027
#define ID_STAT_MENU 40028
#define ID_MENU_MENU 40029



LRESULT MyWnd::OnCommand(DWORD dwID, DWORD dwEnter, HWND hCtrlWnd)
{
HMENU hMenu = GetMenu(m_hWnd);
HMENU hItem = GetSubMenu(hMenu, 1); switch (dwID)
{
case ID_TOOBAR_MENU:
{ CheckMenuRadioItem(hItem, ID_TOOBAR_MENU, ID_MENU_MENU, ID_TOOBAR_MENU, MF_BYCOMMAND);
break;
}
case ID_STAT_MENU:
{ CheckMenuRadioItem(hItem, ID_TOOBAR_MENU, ID_MENU_MENU, ID_STAT_MENU, MF_BYCOMMAND);
break;
} case ID_MENU_MENU:
{ CheckMenuRadioItem(hItem, ID_TOOBAR_MENU, ID_MENU_MENU, ID_MENU_MENU, MF_BYCOMMAND);
break;
} }
return 0;
}

效果图:

Win32 菜单添加复选标记和单选标记的更多相关文章

  1. Bootstrap 表单和图片 (内联表单,表单合组,水平排列,复选框和单选框,下拉列表,校验状态,添加额外的图标,控制尺寸,图片)

    一.表单 基本格式 注:只有正确设置了输入框的 type 类型,才能被赋予正确的样式. 支持的输入框控件 包括:text.password.datetime.datetime-local.date.m ...

  2. 【三石jQuery视频教程】02.创建 FontAwesome 复选框和单选框

    视频地址:http://v.qq.com/page/m/8/c/m0150izlt8c.html 大家好,欢迎来到[三石jQuery视频教程],我是您的老朋友 - 三生石上. 今天,我们要通过基本的H ...

  3. Jquery学习笔记:操作form表单元素之二(复选框和单选框)

    在上面文章的基础上,我们介绍如何操作表单元素中的 复选框和单选框. 一.复选框 <label> <input type="checkbox" id="i ...

  4. CheckedListBoxControl 实现复选框的单选与多选功能

    由于工作需要,需要实现复选框的单选与多选功能,找了好多资料都不是很全,经过两天苦苦的挖挖挖,终于完成啦O(∩_∩)O哈哈~ 用DEV控件中的CheckedListBoxControl控件,当然VS中的 ...

  5. Qt之QHeaderView添加复选框

    简述 前面分享了QTableView中如何添加复选框.本节主要介绍QTableView中的表头-QHeaderView添加复选框的功能,下面以水平表头为例,垂直表头类似! 简述 效果 QHeaderV ...

  6. 如何让checkbox复选框只能单选

    function框架div 如何让checkbox复选框只能单选 在项目开发中遇到一个这样的问题,要让一列复选框架在任何时间段内只能选择一个. 有人说怎么不用单选框了,因为单选框一旦选择了就不能取消选 ...

  7. 组合框里添加复选框的方法(使用勾选的假象,用图片代替而已,并非QT原生支持)

    组合框可以看作是列表框和文本框的组合,因其占据的空间少,使用操作方便,常被界面设计人员用于界面开发设计中,在有限个输入的条件下,组合框常用来代替文本框,这样从用户使用角度来看,更趋人性化,所见即所得. ...

  8. QListWidget的QComboBox下拉列表添加复选框及消息处理

    要在QComboBox下拉列表项中添加复选框,并进行消息处理,在网上搜索了很久没有找到太多有用的信息和实际的例子,但从中还是找到了一些提示性的资料,根据这些简短的介绍,最终实现了这个功能. QComb ...

  9. 把复选框变成单选框(prop,attr的区别)

    如果项目中需要统一样式的话,有可能会遇到把复选框变成单选框的需求. 下面是用jquery的简单实现 $(function(){ $("input[type='checkbox']" ...

  10. 雷林鹏分享:jQuery EasyUI 数据网格 - 添加复选框

    jQuery EasyUI 数据网格 - 添加复选框 本实例演示如何放置一个复选框列到数据网格(DataGrid).通过复选框,用户将可以选择 选中/取消选中 网格行数据. 为了添加一个复选框列,我们 ...

随机推荐

  1. STM32 CubeMX 学习:06-配置DMA

    --- title: mcu-stm32-cube-06-配置DMA date: 2020-05-31 16:39:05 categories: tags: - stm32 - cubeMx - dm ...

  2. opengauss Need repair修复

    问题描述:opengauss集群在做切换的时候,或者增删节点的时候,很容易发生节点repair,找不到主库的情况,这种情况需要把主库使用primary角色启动,然后build重建从库,就可以恢复集群 ...

  3. 坚果云与floccus实现Chrome书签国内跨设备、跨平台同步

      本文介绍基于floccus插件与坚果云协同使用的方法,对浏览器的书签进行实时在线同步的操作.   在工作与学习中,我们时常希望在不同浏览器之间实现书签的同步:而一些传统的浏览器书签同步方案,或多或 ...

  4. Python通过GPIO从DHT11温度传感器获取数据

    Python通过GPIO从DHT11温度传感器获取数据 设备:树莓派4B.DHT11.杜邦线 DHT11 DHT11是一款有已校准数字信号输出的温湿度传感器. 其精度湿度±5%RH, 温度±2℃,量程 ...

  5. Aspose Excel 单元格合并后边框显示不全

    /// <summary> /// 解决合并后的单元格没有边框,设置合并单元格格式,让合并过的单元格中每一个单元格上都添加上加边框的样式 /// </summary> /// ...

  6. 自动化车间3D可视化设计思路

    自动化车间3D可视化设计思路 随着国内制造业企业的高速发展,再加上政策支持,高效的生产模式和先进的管理方式越来越受到企业重视.更多的企业将工业信息化技术进行广泛的应用,比如MES系统.数字孪生以及生产 ...

  7. 图扑低代码数字孪生 Web SCADA 智慧钢厂

    2024 年 4 月,中国钢铁工业协会发布了<钢铁行业数字化转型评估报告(2023年)>(以下简称<报告>).<报告>指出,绝大部分钢铁企业建立了数字化转型相关管理 ...

  8. PowerShell 使用 Azure

    PowerShell 使用 Azure Azure 提供了三种管理工具: Azure 门户:Azure 门户是一个网站,可在其中创建.配置和更改 Azure 订阅中的资源,该门户是一个图形用户界面 ( ...

  9. MySQL 递归查询实践总结

    MySQL复杂查询使用实例 By:授客 QQ:1033553122   表结构设计 SELECT id, `name`, parent_id FROM `tb_testcase_suite` 说明: ...

  10. manim边学边做--Table

    表格是一种常见的数据展示形式,manim提供了Table模块专门用于显示表格形式的数据.表格Table和上一节介绍的矩阵Matrix都是用来显示二维数据的,不过,Table的表现力更强,比如,它可以显 ...