请教如何用sendmessage函数在两个无模式对话框中传递数据。

xinyu_h 2006-02-13 07:20:31
我用消息机制在两个无模式对话框中传递数据,可是没有成功,消息根本就没有触发,我是这样做的
在一个无模式对话框的源文件中加入
::SendMessage(WM_DLG_NOTIFY,(WPARAM) inmybuf);

在另一个无模式对话框的源文件和头文件中中加入
LONG CMain::OnDlgNotifyMsg(WPARAM wP, LPARAM lP)
{

return 0;

}
BEGIN_MESSAGE_MAP(CMain, CDialog)
//{{AFX_MSG_MAP(CMain)
// NOTE: the ClassWizard will add message map macros here
//}}AFX_MSG_MAP
ON_MESSAGE(WM_DLG_NOTIFY,OnDlgNotifyMsg)
END_MESSAGE_MAP()

afx_msg LONG OnDlgNotifyMsg(WPARAM wP, LPARAM lP)
DECLARE_MESSAGE_MAP()

这样触发不了
请大家帮忙
...全文
195 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hxh76ahei 2006-02-17
  • 打赏
  • 举报
回复
俗一点的用hWnd = Findwindow(NULL,yourdialog's caption);
::Sendmessage(hWnd,message,wparam,lparam);就行了。还可以在参数中挂个内存数据结构。
KevinCEC 2006-02-17
  • 打赏
  • 举报
回复
在对话框内部函数,send是没有四项参数,默认发给自己对话框的
不知道怎么发给别人
xqk 2006-02-13
  • 打赏
  • 举报
回复
API的

::SendMessage

不是四个参数吗? 你怎么写的? 第一个是窗口句柄,第二个是消息名...
DentistryDoctor 2006-02-13
  • 打赏
  • 举报
回复
::SendMessage第一个参数传目标窗口的句柄!
afx_msg LONG OnDlgNotifyMsg(WPARAM wP, LPARAM lP)
=>
afx_msg LRESULT OnDlgNotifyMsg(WPARAM wP, LPARAM lP)
cnwolf 2006-02-13
  • 打赏
  • 举报
回复
记录无模式对话框的句柄,通过句柄调用sendmessage

sendmessage默认应该发给自己了
xinyu_h 2006-02-13
  • 打赏
  • 举报
回复
对了,我还在开头定义了
#define WM_DLG_NOTIFY WM_USER+1001

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧