Myo*_*tis 5 c++ winapi visual-studio-2010
我有两个控件的对话框:树视图和列表框.我的对话框也有消息处理程序.
case WM_NOTIFY:
{
switch(LOWORD(wParam))
{
case IDC_LIST1: //we NEVER comes here
if(((LPNMHDR)lParam)->code == NM_CLICK)
{
//do some work;
return (INT_PTR)TRUE;
}
break;
case IDC_TREE1:
if(((LPNMHDR)lParam)->code == NM_DBLCLK)
{
//do some work;
return (INT_PTR)TRUE;
}
break;
}
}
break;
Run Code Online (Sandbox Code Playgroud)
所以,我无法理解为什么来自树盒的通知成功,但来自列表框的通知永远不会出现,尽管事实上在列表框的属性'控制通知值设置为TRUE.谢谢.
Ray*_*hen 11
我们来看看文档.
LBS_NOTIFY
每当用户单击列表框项目(LBN_SELCHANGE),双击项目(LBN_DBLCLK)或取消选择(LBN_SELCANCEL)时,列表框就会向父窗口发送通知代码.
通知应用程序列表框中的选择因用户输入而发生更改.列表框的父窗口通过WM_COMMAND消息接收此通知代码.
通知应用程序用户双击列表框中的项目.列表框的父窗口通过WM_COMMAND消息接收此通知代码.
通知应用程序用户已取消列表框中的选择.列表框的父窗口通过WM_COMMAND消息接收此通知代码.
结论:列表框用于WM_COMMAND通知父级,而不是WM_NOTIFY.
| 归档时间: |
|
| 查看次数: |
2797 次 |
| 最近记录: |