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

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
云风的 BLOG
云风的 BLOG
Google DeepMind News
Google DeepMind News
美团技术团队
J
Java Code Geeks
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog
宝玉的分享
宝玉的分享
博客园 - Franky
Y
Y Combinator Blog
爱范儿
爱范儿
H
Help Net Security
腾讯CDC
G
Google Developers Blog
B
Blog RSS Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
V
Visual Studio Blog
The GitHub Blog
The GitHub Blog
博客园_首页
C
Check Point Blog
博客园 - 三生石上(FineUI控件)

博客园 - 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类型作为消息的第三个参数

等效操作

这句代码相当于:

使用场景

这种技术常用于:

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

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

  • 测试按钮功能

注意事项

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

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

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