标 题: [合集] 菜鸟请教有关消息传递的一个问题。
发信站: 水木社区 (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_...
要学的真是太多了,先拜个师吧,以后还要麻烦的啊~~