达人们帮帮忙,关于对话框间传递消息的问题!谢谢!!!
正在做一个ADO的数据库操作系统。当时做的时候是基于对话框的,程序是由许多个对话框组成的。
现在我想在一个对话框里向另一个对话框发送自定义的一个消息来刷新数据库列表,可是当我使用SendMessage(pWnd,WM_UPDATEDB,0,0)函数向句柄为pWnd的窗口发送消息时编译器报错说我参数过多。
我查阅MSDN发现CWnd::SendMessage()的参数只有3个而 CWindow::SendMessage()的参数可以有目标窗口句柄,而我的对话框都是CWnd的派生类。
请问我这个情况应该怎么解决?
高手请指点,在此拜谢!!!
问题点数:20、回复次数:6Top
1 楼i_noname(晚九朝五)回复于 2005-08-02 11:40:41 得分 10
你在对话框中直接写SendMessage调用的当然是CWnd::SendMessage(),因为对话框就是继承CWnd的。
试试调用时写CWindow::SendMessage()或::SendMessage吧Top
2 楼losemaple(Losemaple)回复于 2005-08-02 11:48:58 得分 0
"
error C2653: 'CWindow' : is not a class or namespace name
error C2660: 'SendMessageA' : function does not take 4 parameters
Error executing cl.exe.
"
好象还是不行。。。。继续期待解决中,还是要感谢楼上!!!
Top
3 楼losemaple(Losemaple)回复于 2005-08-02 11:51:01 得分 0
== ,
用::SendMessage()时编译没有出错,但运行时出现错误对话框!Top
4 楼boyplayee()回复于 2005-08-02 11:54:00 得分 0
MARK,帮你顶Top
5 楼up_down(Compiling...work.cxx Linking...wage.lib - 0 error()回复于 2005-08-02 12:07:42 得分 10
对话框如果是CWnd的派生类,确认窗口创建之后(HWND有效)再发送::SendMessage(hwnd,....),
hwnd为窗口句柄,试一试。Top
6 楼losemaple(Losemaple)回复于 2005-08-02 22:11:11 得分 0
谢谢楼上两位,分已给出!!Top




