Tester20001000 2018-05-14 05:41 采纳率: 40%
浏览 484
已结题

PostMessage后CView类中DefWindowProc传参的问题

各位大神,
PostMessage(AfxGetMainWnd()->GetSafeHwnd(), notiCode, ctrlId, 0);执行后,
CXXXView::DefWindowProc中的message为什么不是notiCode的值呢?
CYYY::OnCommand 为公共的代码,对这个代码就不能做修改的,此段代码在dlg里面是正常运行的,不知道CView类和对话框类在这方面有什么区别?
帮忙解决一下

[使用编译器VS2010]

[代码段1]BOOL CYYY::OnCommand(WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
UINT notiCode = HIWORD(wParam);
UINT ctrlId = LOWORD(wParam);
switch (notiCode) {
case BN_CLICKED:
// case CBN_SELENDOK:
{
::PostMessage(AfxGetMainWnd()->GetSafeHwnd(), notiCode, ctrlId, 0);
}
return TRUE;
}
return TRUE;
return CListCtrlCustom::OnCommand(wParam, lParam);
}
[代码段2]LRESULT CXXXView::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
//return CDialog::DefWindowProc(message, wParam, lParam);
// TODO: Add your specialized code here and/or call the base class
if (BN_CLICKED == message) {
int i;
return TRUE; // mark
}
return CDialog::DefWindowProc(message, wParam, lParam);
}

  • 写回答

1条回答 默认 最新

  • itgather 2018-05-14 06:53
    关注

    PostMessage(AfxGetMainWnd()->GetSafeHwnd(),WM_COMMAND,MAKEWPARAM(ctrlId,BN_CLICKED),0); 试看看这样发送消息

    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置