MFC对话框的DIalogProc无法接受到子窗口的WM_COMMAND消息

TheNewIpad 2018-07-06 08:48:18
我自己写了一个程序,UI布局是propertyPage对话框中有一个ListControl, 点击不同的表格,在表格内会出现按钮或者编辑框。按钮或者编辑框的父窗口设置为ListControl。

现在我创建按钮或者编辑框成功,但是当点击按钮时,加端点跟进发现,Dialogproc(应该是窗口的响应函数)中在WM_COMMAND 的CliCK分支中根本无法触发端点。如下是代码,哪位大侠给个建议呗。


switch(uMsg)
{

case WM_COMMAND:
{
switch(HIWORD(wParam))
{
case CBN_SELCHANGE:
{
switch(LOWORD(wParam))
{
case IDC_COMBO_PROP:
{
OnComboBoxChanged(bHandled);
break;
}
case IDC_COMBO_VISIBILITYLEVEL:
{
OnVisibilityLevelChanged(bHandled);
break;
}
case IDC_LIST_CATEGORY:
{
// 根本不执行这个调用啊
OnClickedListBox(bHandled);
break;
}
default:
break;
}
...全文
286 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_40893631 2020-01-07
  • 打赏
  • 举报
回复
您好,有个问题想请教您一下,但那个贴子因为时间久了不能回复,所以只能发这儿了,请见谅!是有一个关于栈指针是增大还是减少的问题,您当时回贴说在intel平台是减小的,其他平台不知道。我想问在intel平台的栈指针通常是满指针还是空指针?就是SP所指的是实际栈顶数据还是为空?谢谢!
schlafenhamster 2018-07-06
  • 打赏
  • 举报
回复
从CListCtrl派生 一个 CYourListCtrl ,在 CYourListCtrl 中 处理按钮
TheNewIpad 2018-07-06
  • 打赏
  • 举报
回复
引用 6 楼 schlafenhamster 的回复:
消息 是 发送到 父窗口的 ! 设置button的父类是ListCOntrol ,消息到 ListCtrl (要 派生 )
大体要怎么处理呢。
schlafenhamster 2018-07-06
  • 打赏
  • 举报
回复
消息 是 发送到 父窗口的 !
设置button的父类是ListCOntrol ,消息到 ListCtrl (要 派生 )
TheNewIpad 2018-07-06
  • 打赏
  • 举报
回复
这个Button是我拖拽到UI窗口上的。 如果我设置button的父类是ListCOntrol,就收不到消息,如果设设置Button的父窗口是这个窗口本身,就可以接受到
TheNewIpad 2018-07-06
  • 打赏
  • 举报
回复
引用 2 楼 youyingbo 的回复:
你创建的什么类型工程?这段代码在哪个函数里?
这个是DirectSHow的一个工程,代码需要基于CbasePropertyPage实现UI,没有MFC的那些消息映射宏之类的东西。 这个代码是重写了CBasePropertyPage::OnReciveMessage消息。 DialogProc会调用我重写的这个函数。
赵4老师 2018-07-06
  • 打赏
  • 举报
回复
MSDN98_1.ISO http://pan.baidu.com/s/1dDF41ix, MSDN98_2.ISO http://pan.baidu.com/s/1bnGo0Vl

MSDN98\SAMPLES\VC98\MFC\*.*
tiger波波 2018-07-06
  • 打赏
  • 举报
回复
你创建的什么类型工程?这段代码在哪个函数里?
TheNewIpad 2018-07-06
  • 打赏
  • 举报
回复
点击按钮,根本接收不到WM_COMMAND消息,代码看起来有歧义哈
schlafenhamster 2018-07-06
  • 打赏
  • 举报
回复
“给Listcontrol制定了一个消息处理函数给搞定了。”
这个叫 “子类化”
TheNewIpad 2018-07-06
  • 打赏
  • 举报
回复
你们说的我都没有实现,从ListCOntrol派生的,自身没有消息处理函数。 由于个人知识面问题,也没办法加消息处理函数。 另外我的是按钮点击消息,按钮的消息是给父类的,所以我想法是setwindowslong,给Listcontrol制定了一个消息处理函数给搞定了。 依然感谢各位帮助。
zgl7903 2018-07-06
  • 打赏
  • 举报
回复
动态建按钮或者编辑框, 消息会发给其父窗口(Create时指定的),
另外按钮是BN_CLICKED事件

switch(HIWORD(wParam))
{
case BN_CLICKED:
{
switch(LOWORD(wParam))
{
case xxxx:
{
OnClickedxxxxx;
break;
}

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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