惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
Y
Y Combinator Blog
博客园 - 【当耐特】
V
Visual Studio Blog
GbyAI
GbyAI
V
V2EX
P
Proofpoint News Feed
Microsoft Azure Blog
Microsoft Azure Blog
Microsoft Security Blog
Microsoft Security Blog
D
DataBreaches.Net
Hugging Face - Blog
Hugging Face - Blog
A
About on SuperTechFans
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
N
Netflix TechBlog - Medium
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
量子位
MongoDB | Blog
MongoDB | Blog
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件

博客园 - StationaryTraveller

如何查找微软VS软件中的图标 SQLite 的自增(AUTOINCREMENT)强制要求列的数据类型必须是INTEGER Qt动态获取翻译文本 Windows判断某窗口是否被其他窗口完全覆盖 MFC实现一个通用模态进度条窗口 如何批量修改“后期生成事件”为“预生成事件” Window剪切板 C语言根据函数指针偏移实现函数动态调用 Qt程序系统文本翻译 SVN创建分支 Qt多版本如何共存 Qt6编译的程序在某些win10系统报错 电脑忘机了用户名密码怎么办 Qt事件过滤器实现空闲检测 CMFCToolTipCtrl的AddTool导致内存增加 MFC中CBitmap、CBrush、CFont、CPalette、CPen、CRgn删除GDI对象问题 实现从QListWidgett拖拽项到QTableWidget Windows系统下通过命令行获取进程指标 命令模式实现撤销和重做机制 避免溢出求平均值的算法 字节流转16进制字符串 PImpl:Pointer to Implementation C++单例
MFC对话框中如何给一个控件发送消息
StationaryTraveller · 2025-09-26 · via 博客园 - StationaryTraveller
SendMessage(WM_COMMAND, MAKEWPARAM(IDC_BUTTON_UPDATECRC, BN_CLICKED), (LPARAM)GetDlgItem(IDC_BUTTON_UPDATECRC)->m_hWnd); 

这是一句典型的MFC(Microsoft Foundation Classes)中用于发送Windows消息的代码。让我详细解释一下:

代码功能

这句代码的作用是模拟用户点击按钮,向指定的按钮控件发送一个"被点击"的消息。

参数解析

1. WM_COMMAND

  • 这是Windows的命令消息,用于通知父窗口某个控件发生了事件

2. MAKEWPARAM(IDC_BUTTON_UPDATECRC, BN_CLICKED)

  • MAKEWPARAM 宏将两个16位值组合成一个32位的WPARAM参数

  • IDC_BUTTON_UPDATECRC:按钮的资源ID

  • BN_CLICKED:按钮被点击的通知代码

3. (LPARAM)GetDlgItem(IDC_BUTTON_UPDATECRC)->m_hWnd

  • 获取按钮控件的窗口句柄

  • 转换为LPARAM类型作为消息的第三个参数

等效操作

这句代码相当于:

使用场景

这种技术常用于:

  • 程序初始化时自动执行某个按钮的功能

  • 根据某些条件自动触发按钮操作

  • 测试按钮功能

注意事项

  • 这种方式会同步执行按钮的点击处理函数

  • 如果按钮处理函数中有耗时操作,会阻塞当前线程

  • 确保按钮和其父窗口已经正确创建和初始化