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++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿