目前位置: VCer资源中心 >>> VCer知道

[本帖已阅读1026次 分值0 回复0次] 张贴资源 发回信箱 控制面板

菜鸟请教有关消息传递的一个问题

提供者:lucy 张贴时间:2007-03-09 15:33:36.0 出处:newsmth.net 作者:不祥

菜鸟请教有关消息传递的一个问题(2007-03-09 15:33:36.0)


lucy


 
级别: VCer小兵
头衔: VCer会员

经验: 10
作品: 92
分会: 华北分会
注册: 2007-03-09 10:35:00.0
登录: 2007-05-31 14:40:23.0

标  题: [合集] 菜鸟请教有关消息传递的一个问题。

发信站: 水木社区 (Fri May 13 21:50:01 2005), 站内

☆─────────────────────────────────────☆ 

  pomuyu (pomuyu) 于  (Fri May 13 19:34:18 2005)  提到:

编程环境:VC++.NET & Win2K sp4

欲实现的功能:同一对话框内有两按钮A 和B。B的BN_CLICKED响应中实现更改自身caption

等功能。现在想要在点击按钮A时执行与点击B同样的功能(包括B的caption的改变),不知

能否用消息传递的方法实现。

在网上看到一篇相关文章,是在VC 6.0中使用SendMessage发送自定义消息.大意如下

*******************

1.定义消息,在.h中

  #define mymessage WM_USER+0X33

2.进行消息映射,在.cpp文件中

    ON_MESSAGE(mymessage,handle)

3.增加处理函数(在.cpp中增加成员函数)

  int CMessage4Dlg::handle(WPARAM wP, LPARAM lP)

  {

      AfxMessageBox("hehe,receive a message",MB_OK,NULL);

      return 0;

  }

4.散发消息

  void CMessage4Dlg::OnButton1()

  {

      SendMessage(mymessage,0,0);

  }

*******************

经测试成功。但模仿此方法时在A的OnBnClicked函数中调用

SendMessage(IDC_BUTTON_B,0,0);  编译通过却没有达到效果,不知问题出在哪里?

本人刚接触VC,对一些基本知识也是一知半解,请各位大虾多多指教。

☆─────────────────────────────────────☆ 

  LoveYuShan (雨珊) 于  (Fri May 13 19:45:55 2005)  提到:

你是想点击A按钮,这时要达到和点击B一样的效果?

☆─────────────────────────────────────☆ 

  LoveYuShan (雨珊) 于  (Fri May 13 19:47:52 2005)  提到:

PostMessage(WM_COMMAND,MAKELONG(IDD_要激发的按钮,BN_CLICKED));

☆─────────────────────────────────────☆ 

  pomuyu (pomuyu) 于  (Fri May 13 19:49:27 2005)  提到:

是啊。其实还是想了解一下消息传递的概念,不明白为什么自定义的可以,系统消息就不行

~  ,请指教。多谢!

☆─────────────────────────────────────☆ 

  LoveYuShan (雨珊) 于  (Fri May 13 19:57:52 2005)  提到:

6730的代码你看看,应该可以.我现在没有测试条件,所以不知道记的是否准确

☆─────────────────────────────────────☆ 

  pomuyu (pomuyu) 于  (Fri May 13 20:02:37 2005)  提到:

谢谢,已经可以了。 呵呵 是IDC_...

要学的真是太多了,先拜个师吧,以后还要麻烦的啊~~

注:转载文章需注明来源:VCer.net 文章地址:http://vcer.net/1173425616703.html

  如果你觉得VCer.net不错,而且你愿意为VCer.net捐赠一元钱,那么点击后面的捐赠按钮吧:) vcer.net捐赠

[回复该贴] [加入个人书签]
[投票结果]

A: 评分 10 0% (0 票)
B: 评分 5 0% (0 票)
C: 评分 0 0% (0 票)
D: 评分 -5 0% (0 票)
E: 评分 -10 0% (0 票)