首页 > TAG信息列表 > WPARAM

02.win32消息机制

win32消息机制 消息机制 windows操作系统最大的特色是良好的用户交互性,这种交互性通过优秀的图形界面来实现 Windows操作系统将用户对应用程序窗口的所有操作(键盘按键、鼠标点击、窗口最大最小化等等)转 化为Windows消息并分发给应用程序,应用程序对这些消息进行响应,从而实现用

画一个示波器界面,显示麦克风采集到的声音数据

用一个示波器的BMP图做背景,在上面画出麦克风采集到的数据. 只是数据看起好奇怪。似乎只有密度变化,没有幅度变化。 升级到VS2022了,字符串处理又有些不同了。似乎更严格了。     程序 Wave.cpp // WAVE.cpp : Defines the entry point for the application. // 画一个示波器界面

API创建窗口 按键 按钮 CreateWindowEx

一.控件概念 ·控件:特殊的一类”子”窗口,系统已经定义好了窗口类型. 创建方式和创建窗口类似,调用createWindows,每个控件都由ID ·父窗口直接通过sendmessage向控件发送消息. 控件事件发生后,会向所在的父窗口发送通知消息 ·注意:创建窗口时必须添加两

TreeView 和 Header 控件配合成表结构

1.利用TreeView和Header控件配合,对TreeView进行部分重绘,做成一个可以展开的表结构。 2.重绘要注意先后顺序。 效果如图。     程序如下: HeaderTest.cpp // HeaderTest.cpp : Defines the entry point for the application. // TreeView 和 Header 控件配合成表结构 // XGZ 202

用ListView 控件修改单元格数据,并update到SQLite数据库

用ListView控件显示SQlite数据,响应双击消息,在对应的单元格上放置Edit控件,编辑后回车,保存数据,更新Item中字符串,ESC取消数据。 保存时,利用备份的单元格数据和ListView Item显示的数据一起构建成 update语句,保存进数据库。    主要的代码: SQLView.h #pragma once #include "xmdiv

win32 getMessage 和 peekMessage的区别

QT在windows下的机制,是采用PeekMessage的策略,所以我就想,在没有事件产生时,会发生什么,按照微软文档的解释,getmessage在没有消息时,会被阻塞。如果peekmessage没有消息时,就返回。那它所处的while不就一直占用cpu? 测试一个例子,用了qt的机制: // 消息机制.cpp : 定义应用程序的入口点。

C# 编写 Windows 动态桌面软件实现(一)之桌面交互功能

DreamScene2 1.3 版本已经发布了,现在支持鼠标和桌面交互功能。这个功能不会影响性能,基本不占用 CPU。这个功能让我对 Windows 消息机制有了更深入的理解,在这篇博客中我会详细介绍实现方式。 欢迎 Star 和 Fork https://github.com/he55/DreamScene2 实现原理 使用 WIN32 API SetW

Win32-系统菜单-右键菜单-图标资源-光标资源-字符串资源-菜单资源-加速键资源-

系统菜单&右键菜单&图标资源&光标资源&字符串资源&菜单资源&加速键资源 // 系统菜单 // 系统菜单依次删除操作和点击按钮产生消息的事件 // SysMenu.cpp : Defines the entry point for the application. // #include "stdafx.h" #include "stdio.h" HINSTANCE g_hInst = NU

Win32对话框模板创建的窗口上响应键消息,Tab焦点切换消息,加速键消息

今天在学习的时候,发现对话框上不响应键盘消息,查了老半天,终于成功了,现分享出来,   1,首先要在消息循环的时候加如下代码. int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nShowCmd) { MyDialog *pDl

C++ 多线程_02为什么要使用多线程?

上一篇简单演示了多线程的基本用法,那为何要使用多线程呢? 一个非常常用的场景是,你有一个程序,点击某个按钮后,需要先执行一个非常耗时的任务,比如读取一个非常大的文本、下载一个非常大的文件,这个任务完成后再对它进行处理,比如计算什么的,最后把结果显示在界面上。 如果不使用多线程,那

MFC的CEdit控件中实现复制、粘贴、剪切等操作的快捷键

今天在一个MFC的GUI程序中实现了一个自定义的列表控件类(CListCtrl),在这个类里嵌入了一个CEdit类以便于编辑列表项,为了实现在编辑每个列表项时能支持快捷键,在派生的CEdit类加入下面这个函数: BOOL CCustomizedListCtrl::CListEditor::PreTranslateMessage(MSG* pMsg) { //

WM_NOTIFY

典型控件利用WM_COMMAND消息把通知送到父窗口。 大部分公用控件把通知封装在WM_NOTIFY消息中。WM_NOTIFY消息的wParam保存发送消息控件的子窗口ID,而IParam保存指向NMHDR结构或NMHDR超集结构的指针。 typedef struct tagNMHRR{ HWND hwndFrom; UINT idFrom;//与wParam相同

WinForm 打开指定网页,类似浏览器

  需求:一般用于考试,窗口打开默认最大化,禁用最小化,最大化,鼠标右键,双击窗口最小化等            读取指定地址跳转,指定标题等 技术:采用CefSharp  CefSharp简单来说就是一款.Net编写的浏览器包,方便你在Winform和WPF中内嵌的Chrome浏览器组件。 https://github.com/cefsharp/C

Windows编程——消息机制

文章目录 1. 消息机制 1.1 得到消息 1.2 发送消息 2. 基本消息 windows程序模块 系统命令消息 代码示例 1. 消息机制 windows操作系统最大的特色是良好的用户交互性,这种交互性通过优秀的图形界面来实现 Windows操作系统将用户对应用程序窗口的所有操作(键盘按键、鼠标点击、

仿MFC消息机制封装对话框窗口类

仿MFC消息机制封装对话框窗口类 这几天,又看了网上不少MFC的学习视频,学习了不少知识,对MFC消息机制有了不少的认识,于是便有了根据MFC消息机制再次封装一次对话框类, class QDialog:public QWnd { //.... } 继承QWnd类,想要用MFC消息机制就不能免要有一个父类,因为在查找消息时,

Win32 创建窗口翻车记录

今天创建窗口的时候,在捕获消息WM_CREATE的时候翻车了,找了好久都没找到,我换另一台电脑上又没出问题, 现分享下: LRESULT QWnd::WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { if (WM_CREATE == uMsg) { //就是这里,在创建的时候传进来一

Win32 动态库dll

这两天学习动态库的练习,分享下方法 实例.封装窗口类的两种状态. 1.自定义窗口类QWnd 2.资源模板窗口对话框类 下面是dll的头文件,类的声明 #pragma once #ifndef _CLASSDLL_H_ #define _CLASSDLL_H_ #include <windows.h> #include <assert.h> //定义导入与导出类的宏标识 //

Windows 编程[22] - 菜单选择与画刷修改

Windows 编程[22] - 菜单选择与画刷修改 提示: 1、CheckMenuItem 函数用来改变菜单项的选择状态; 2、SetClassLong 函数可以修改窗口类注册前登记的所有参数, 这里通过 GCL_HBRBACKGROUND 参数指示要修改画刷; 3、用 CreateSolidBrush 函数根据常量数组中的颜色建立实心画刷

Windows 编程[20] - 改变菜单项并换行

Windows 编程[20] - 改变菜单项并换行 本例效果图: 本例使用的资源文件(TestRes.rc):MyMenu1 MENUEX BEGIN MENUITEM "File" ,101 MENUITEM "Add" ,102 END 本例代码文件:program Project1; {$R 'TestRes.res' 'TestRes.rc'} uses Windows, Messag

Windows 编程[19] - 改变菜单项的状态: GetMenuState、EnableMenuItem

Windows 编程[19] - 改变菜单项的状态: GetMenuState、EnableMenuItem 本例效果图: 本例使用的资源文件(TestRes.rc):MyMenu1 MENUEX BEGIN MENUITEM "菜单" ,101 MENUITEM "改变我的禁止与非禁止状态" ,102 MENUITEM "改变" ,1

Windows 编程[18] - 更换菜单项: ModifyMenu

Windows 编程[18] - 更换菜单项: ModifyMenu 本例效果图: 本例使用的资源文件(TestRes.rc):MyMenu1 MENUEX BEGIN MENUITEM "Open" ,101 MENUITEM "Old" ,102 MENUITEM "Help" ,103 END 本例代码文件:program Project1; {$R 'TestRes.res' 

Windows 编程[17] - 更换菜单: LoadMenu、DestroyMenu、SetMenu

Windows 编程[17] - 更换菜单: LoadMenu、DestroyMenu、SetMenu 本例效果图: 本例在资源文件中备有两组菜单, 程序实现运行时切换. 本例使用的资源文件(TestRes.rc):MyMenu1 MENUEX BEGIN MENUITEM "Open" ,101 MENUITEM "Edit" ,102 MENUITEM "Help" ,103

Qt练习项目--鼠标连点器

前段时间为了挑战植物大战僵尸砸僵尸,写了个鼠标连点器效果如下: 程序中为了实现后台快捷键需要用到Hook,但本人并不了解相关知识,故参考了许多网上大神的hook代码,在此表示感谢! Hook代码段如下: int set_keyboard() { hook = SetWindowsHookExW(WH_KEYBOARD_LL, keyboardHook, G

win32 消息、事件、创建一个窗口

消息 消息记录了事件,消息就是对事件的描述 创建一个窗口实现代码 #include "StdAfx.h" #include "pr.h" LRESULT CALLBACK WindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevIns

c++主、子窗体关系的建立

1 主、子窗体关系的建立 1.1 概要: windows c++内的函数,一个是响应窗体的回调,一个是响应子窗体(弹窗)的回调函数 //主子窗体回调关系说明 //这个响应主窗体的回调 WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { ... // 这个About响应子窗体(DialogBox)