VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 259|回复: 1

VC++高级班之窗口篇-[5]Windows消息的发送

[复制链接]
01_avatar_middle
online_admins admin 发表于 2018-2-26 00:13:38 | 显示全部楼层 |阅读模式
------------------------------------------ Begin ----------------------------------------
①、Windows 标准消息的发送
Windows 系统的标准消息有很多,一般是以 WM_ 开头的,比如:WM_KEYDOWN、WM_MOUSEMOVE 等等!
这里我们选几个常用的并且有代表性的给大家进行讲解!
===================================================
②、按钮左键单击消息的发送:同样适用于 CheckBox、RadioBox
  1. HWND hDlgWnd = ::FindWindow(_T("#32770"), _T("MsgTest"));
  2. if (hDlgWnd){
  3.         ::ShowWindow(hDlgWnd, SW_NORMAL);
  4.         ::SetForegroundWindow(hDlgWnd);
  5.         HWND hBtn = ::GetDlgItem(hDlgWnd, 0x3E8);
  6.         ::SendMessage(hBtn, BM_CLICK, 0, 0);
  7. }
复制代码

MSDN搜索关键字:Button Messages
===================================================
③、下拉选择框控件消息的发送:
//插入字符串:
  1. HWND hDlgWnd = ::FindWindow(_T("#32770"), _T("MsgTest"));
  2. if (hDlgWnd){
  3.         ::ShowWindow(hDlgWnd, SW_NORMAL);
  4.         ::SetForegroundWindow(hDlgWnd);
  5.         HWND hComboBox = ::GetDlgItem(hDlgWnd, 0x3EA);
  6.         ::SendMessage(hComboBox, CB_INSERTSTRING, -1, (LPARAM)_T("CcTry.CoM"));
  7.         ::SendMessage(hComboBox, CB_SETCURSEL, 5, 0);
  8. }
复制代码

===================================================
④、给对话框发送鼠标右键消息,看现象并讲解 SendMessage 与 PostMessage 的区别:
  1. HWND hDlgWnd = ::FindWindow(_T("#32770"), _T("MsgTest"));
  2. if (hDlgWnd){
  3.         ::PostMessage(hDlgWnd, WM_RBUTTONDOWN, MK_RBUTTON, MAKELPARAM(20, 20));
  4.         ::PostMessage(hDlgWnd, WM_RBUTTONUP, 0, MAKELPARAM(20, 20));
  5. }
复制代码

===================================================
⑤、跟进MFC的类的成员函数,获取其实现方式:
MFC 有一点好处就是所有的源代码都能看到,可以看看其内部究竟是如何封装的,以及都调用了哪些SDK函数!
对 SDK 编程也是有很多值得学习的地方的,比如封装的思想、调用 API 函数的方式等等!

1、部分MFC成员函数:CComboBox::InsertString、CListCtrl::DeleteItem 等等!
2、CWnd::ModifyStyleEx
------------------------------------- End -------------------------------------------

相关课程演示细节还请观看视频教程!
本套教程由VC驿站原创,提供视频教程+售后答疑服务!
教程介绍及详情请见:http://www.cctry.com/static/vip/index.html
VC驿站Vip会员详情请见:http://www.cctry.com/static/vip/index.html




上一篇:VC++高级班之窗口篇-[4]让程序只运行一个实例
下一篇:VC++高级班之窗口篇-[6]打造自己的“按钮激活专家”

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-10-20 15:43

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表