MFC上下文菜单与定时器学习笔记

news2024/10/7 18:27:06

本博文简单介绍了上下文菜单以及定时器的知识内容,作为笔记发表在csdn上面。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

菜单资源的使用

  • 添加菜单资源
  • 加载菜单资源:
    • 注册窗口类时设置菜单
    • 创建窗口传参设置菜单
    • 在主窗口WM_CREATE消息中利用SetMenu函数设置
  • 加载菜单资源
HMENU LoadMenu{
	HINSTANCE hInstance;
	LPCTSTR lpMenuName;
}

WM_COMMAND

在这里插入图片描述

void OnCommand(HWND hWnd,WPARAM wParam){
	switch(LOWORD(wParam)){
		case ID_NEW:
		MessageBox(hWnd,"新建被点击","Infor",MB_OK);
		break;
		case ID_EXIT:
		MessageBox(hWnd,"推出被点击","Infor",MB_OK);
		break;
		
	}
}

上下文菜单

显示上下文菜单

BOOL TrackPopupMenu{
	HMENU hMenu,//菜单句柄
	UINT uFlags, //显示方式
	int x; //水平位置,屏幕坐标系
	int y,//垂直位置,屏幕坐标系
	int nReserved, //保留,必须0
	HWND hWnd,//处理菜单消息的窗口句柄
	CONST RECT* prcRect//NULL ,忽略
	
};TrackPopupMenu是阻塞函数

WM_RBUTTONUP

鼠标右键弹起消息为窗口坐标系坐标,要使用需将其转换成屏幕坐标系坐标ClientToScreen

WM_CONTEXTMENU

  • wParam:右键点击窗口句柄
  • lParam:LOWORD X坐标 ,屏幕坐标系 HIWORD Y坐标系,屏幕坐标系

WM_CONTEXTMENU消息是在WM_RBUTTONUP消息之后产生。

图标资源

  • 添加资源:注意图标的大小,一个图标文件中,可以有多个不同大小的图标
  • 加载:HICON LoadIcon(HINSTANCE hInstance,LPCSTR lpIconName);成功返回句柄
  • 设置:注册窗口类

光标资源

  • 添加光标的资源:光标的大小默认是32*32像素,每个光标有HotSpot,是当前鼠标的热点
  • 加载资源
HCURSOR LoadCursor(
	HINSTANCE hInstance,
	LPCTSTR lpCursorName
);
  • 设置资源

在注册窗口时,设置光标,使用SetCursor设置光标

HCURSR SetCursor(HCURSOR hCursor);
  • WM_SETCURSOR 消息参数
    • wPARAM 当前使用的光标句柄
    • lPARAM --LOWORD 当前区域的代码(hit-Test Code) HITCLIENT/HTCAPTION HIWORD-当前鼠标消息ID

开发项的讲解

#include"widget.h"
#include<QApplication>
int main(int argc,char * argv[]){
	QApplication a(argc,argv);//应用程序类(整个后台管理的命脉,处理应用程序的初始化和结束,事件处理调度,注意不管有多少个窗口,一个QApplication类就可)
	Widget w;//示例化对象,调用构造函数
	w.show();//显示图像界面
	return a.exec();//主事件循环,在exec函数中,qt函数并处理用户和系统的事件并将它们传递给适当的窗口部件
}

代码书写在哪里

.pro:用于生成可执行文件
main.cpp 主函数
widget.cpp 类的函数
一般情况,窗口的属性和添加控件的操作都会在类的构造函数中书写
优点:可以让主程序中多余的代码,程序阅读也方便

创建按钮

步骤1:包含头文件(.cpp)及模块(.pro)

#include<QPushButton>
QT += widgets

步骤2:调用类的构造函数创建按钮

QPushButton* btn = new QPushButton;

步骤3:显示按钮

btn->show();
btn->setParent(this);

按钮的属性设置

btn->setText("第一个按钮");
btn->move(100,100);
btn->setFixedSize(400,400);

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Unity】RPG2D龙城纷争(一)搭建项目、导入框架、前期开发准备

更新日期&#xff1a;2024年6月12日。 项目源码&#xff1a;在第四章发布 免责声明&#xff1a;【RPG2D龙城纷争】使用的图片、音频等所有素材均有可能来自互联网&#xff0c;本专栏所有文章仅做学习和教程目的&#xff0c;不会将任何素材用于任何商业用途。 索引 【系列简介】…

winget install 命令快速安装git到Windows系统

打开命令提示符或PowerShell: 使用快捷键Win X&#xff0c;然后选择“Windows PowerShell”或“命令提示符”。你也可以直接在开始菜单中搜索“cmd”或“PowerShell”。 运行winget命令安装Git: 在命令提示符或PowerShell中&#xff0c;输入以下命令并按回车&#xff1a; win…

Allegro光绘Gerber文件、IPC网表、坐标文件、装配PDF文件导出打包

Allegro光绘Gerber文件、IPC网表、坐标文件、装配PDF文件导出打包 一、Gerber文件层叠与参数设置二、装配图文件设置导出三、光绘参数设置四、Gerber孔符图、钻孔表及钻孔文件输出五、输出Gerber文件六、输出IPC网表七、导出坐标文件八、文件打包 一、Gerber文件层叠与参数设置…

服务攻防-数据库安全(数据库与漏洞利用)

1.安全服务的渗透过程 1.1 判断服务 如果要进行安全服务的渗透&#xff0c;我们先需要知道这个服务是否开启了&#xff0c;在数据库这个部分我们的判断方法主要有以下三种&#xff1a; - 扫描端口&#xff1a;对于不同的数据库来说&#xff0c;使用的端口也是不一样的&#x…

智慧金融新视野:银行数据中心可视化大屏的崛起

在数字化浪潮的推动下&#xff0c;银行业正迎来一场前所未有的变革。在这场变革中&#xff0c;银行数据中心可视化大屏以其独特的魅力&#xff0c;为银行的数据分析和决策提供强有力的支持。 随着金融科技的不断发展&#xff0c;银行对于数据处理和分析的需求日益增长。银行数据…

umi 获取umirc下router配置的name

解决 import { useRouteProps } from umijs/maxexport default function Page() {const routeProps useRouteProps()console.log(routeProps)// use routeProps.custom_key }参数如下图 文档 https://umijs.org/docs/api/api#userouteprops

Latex | 数学公式

Latex 最近在学习使用 LaTeX 来敲公式&#xff0c;写材料。说实话&#xff0c;这个工具在写公式方面&#xff0c;确实堪称神器&#xff01;不只是我&#xff0c;连爱因斯坦要是看到它&#xff0c;估计都会点个赞。 在这里&#xff0c;我也得给大家分享一个宝藏网址&#xff1…

关闭windows11的Defender病毒防护

windows11自带的Defender病毒防护并不是每个人都需要&#xff0c;有些人需要关掉它。网上一搜&#xff0c;出现的都在说在安全中心关闭&#xff0c;但这样关闭后依旧随时都在防护着&#xff0c;有些小软件一运行就会给删掉。 以下的方法也是在网上搜索的&#xff0c;但行之有效…

3-哈希表-71-三数之和-LeetCode15

3-哈希表-71-三数之和-LeetCode15 参考&#xff1a;代码随想录 LeetCode: 题目序号15 更多内容欢迎关注我&#xff08;持续更新中&#xff0c;欢迎Star✨&#xff09; Github&#xff1a;CodeZeng1998/Java-Developer-Work-Note 技术公众号&#xff1a;CodeZeng1998&#xff…

2024年6月15日(星期六)骑行老厂村

2024年6月15日 (星期六) 骑行老厂村&#xff08;新路&#xff09;&#xff0c;早8:30到9:00&#xff0c; 大观公园门囗集合&#xff0c;9:30准时出发【因迟到者&#xff0c;骑行速度快者&#xff0c;可自行追赶偶遇。】 偶遇地点:大观公园门囗集合 &#xff0c;家住东&#xf…

15.RedHat认证-Ansible自动化运维(上)

15.RedHat认证-Ansible自动化运维(上) RHCE8-RH294 Ansible自动化&#xff08;Ansible版本是2.8.2&#xff09; Ansible介绍 1.Ansible是什么&#xff1f; Ansible是一个简单的强大的无代理的自动化运维工具&#xff08;Ansible是自动化运维工具&#xff09;Ansible特点 简…

八字综合测算网整站源码程序/黄历/灵签/排盘/算命/生肖星座/日历网/周公解梦

八字综合测算网整站源码程序/黄历/灵签/排盘/算命/生肖星座/日历网/周公解梦 演示地址&#xff1a; https://s24.gvyun.com/ 手机端地址&#xff1a; https://ms24.gvyun.com/ 网站功能分类&#xff1a; 八字&#xff1a;八字测算&#xff1b;日干论命&#xff1b;称骨论命…

争议不断:金额到底是用Long还是BigDecimal?

先问个问题&#xff0c;在开发过程中你是选择用Long还是BigDecimal来处理金额&#xff1f; 浮点数陷阱 为什么排除float和double 浮点数无法精确表示许多十进制数。 我们希望输出0.3&#xff0c;但由于浮点数的表示问题&#xff0c;实际结果却是0.30000000000000004&#xff…

Python强化学习(Reinforcement Learning, RL)库之gymnasium使用详解

概要 在强化学习(Reinforcement Learning, RL)领域中,环境(Environment)是进行算法训练和测试的关键部分。gymnasium 库是一个广泛使用的工具库,提供了多种标准化的 RL 环境,供研究人员和开发者使用。通过 gymnasium,用户可以方便地创建、管理和使用各种 RL 环境,帮助…

代码随想录算法训练营第四十三天 | 01背包问题理论基础、01背包问题滚动数组、416. 分割等和子集

背包问题其实有很多种&#xff0c;01背包是最基础也是最经典的&#xff0c;软工计科学生一定要掌握的。 01背包问题 代码随想录 视频讲解&#xff1a;带你学透0-1背包问题&#xff01;| 关于背包问题&#xff0c;你不清楚的地方&#xff0c;这里都讲了&#xff01;| 动态规划经…

如何将jpg图像添加文字并转换成无压缩的dicom图像

操作系统ubuntu 20 安装imagemagick sudo apt install imagemagick 安装dcmtk sudo apt install dcmtk 脚本如下 #!/bin/bash# Font font"/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"# Font size fontsize30# Font color fontcolor"red" conver…

《web应用技术》第十一次作业

1、验证过滤器进行权限验证的原理。 代码展示&#xff1a; Slf4j WebFilter(urlPatterns "/*") public class LoginCheckFilter implements Filter { Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) thro…

数控机床采集网关的应用-天拓四方

随着工业4.0时代的到来&#xff0c;智能制造成为制造业转型升级的重要方向。数控机床作为制造业的核心设备&#xff0c;其数据采集与监控对于提升生产效率、优化生产流程具有重要意义。本案例将介绍数控机床采集网关的应用&#xff0c;通过该网关实现数控机床数据的实时采集、传…

道闸系统怎么录入车牌,停车场道闸车牌输入方法有哪些?

现在智慧停车场管理系统越来越受到重视&#xff0c;停车场道闸系统作为其中的核心组成部分&#xff0c;通过车牌识别技术实现了车辆的快速、准确管理&#xff0c;但在道闸系统初期也存在手动需要录入车牌的工作。本文将详细介绍道闸系统录入车牌的步骤和方法&#xff0c;帮助管…

论文写作革新:AI如何简化你的研究流程?

不知道大家有没有发现&#xff0c;随着人工智能技术的快速发展&#xff0c;AI工具正逐渐渗透到我们日常生活的各个方面&#xff0c;极大地提高了我们的工作和学习效率。无论是AI写作、AI绘画、AI思维导图&#xff0c;还是AI幻灯片制作&#xff0c;这些工具已成为我们不可或缺的…