首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 求 点击子窗口 或 改变控制时 主窗口接收的消息 [已结帖,结帖人:bclife]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bclife
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-11-05 10:26:24 楼主
    急求用户点击TV、LV等子窗口控件的事件消息名
    33  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • pingzi_1119
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-05 13:15:491楼 得分:0
    我没有
    帮顶~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bclife
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-05 13:30:142楼 得分:0
    是我没说明白还是大家懒得答啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sc_valentine21
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-05 13:40:293楼 得分:0
    确实不清楚说的啥
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • vk2211
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-05 13:43:104楼 得分:0
    你说的是TreeView、ListView之类的吗?
    2003以上都可以看到所有的事件的,也都有相应的解释
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hqin6
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-05 13:44:155楼 得分:0
    up一下~~~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bclife
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-05 17:53:366楼 得分:0
    引用 4 楼 vk2211 的回复:
    你说的是TreeView、ListView之类的吗?
    2003以上都可以看到所有的事件的,也都有相应的解释

    我用纯SDK写的 只知道用WM_ 事件
    昨天查了半天书也没查到
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bclife
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-05 17:57:477楼 得分:0
    引用 3 楼 sc_valentine21 的回复:
    确实不清楚说的啥


    switch(message)
    {
    case WM_NCLBUTTONUP:
    case WM_NOTIFY :
    case WM_CREATE:
    case    WM_PAINT:
          case NM_CLICK:
    case WM_SIZE:

    我在主窗口里加了两个TreeView、ListView
    我想知道在用户点击或键盘控制这两个控件里的项目时message的值

    这个应该清楚了吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • redleaves
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-05 18:07:118楼 得分:8
    common ctrl的消息基本是通过WM_COMMAND和WM_NOTIFY来通知的...
    具体的内容还是看MSDN吧.MSDN的目录是 WIN32&COM > User Interface > Windows User Experience > Windows Shell > Windows Controls > Individual Control Information
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • redleaves
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-05 18:09:119楼 得分:0
    再教你个办法.如果不知道消息是什么,可以用SPY++来抓....
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bclife
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-05 19:06:5310楼 得分:0
    WM_NOTIFY的通知到底是什么啊 怎么获取的消息总是晚一步呢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bclife
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-05 19:07:5011楼 得分:0
    C/C++ code
    case WM_NOTIFY : { if (wParam == GetDlgCtrlID(subHWnd[1])) { LPNMHDR phdr = (LPNMHDR)lParam; if (phdr->code == NM_CLICK ) { hItem = TreeView_GetSelection(subHWnd[1]); LPTVITEM pitem; pitem = (LPTVITEM)malloc(sizeof(TVITEM)) ; pitem->hItem = hItem; pitem->mask = TVIF_TEXT; len = 128; pitem->pszText = new TCHAR[len]; pitem->cchTextMax = len; pitem->lParam = 0 ; if(TreeView_GetItem(subHWnd[1], pitem)) { if(pitem->lParam) { menuDataIndex_LV1 = getMemuTreePlane(menuDataMenuIndex_All[pitem->lParam], &len) ; if(len) { InsertListViewItems(subHWnd[3], len) ; // MessageBox(NULL, menuDataMenuIndex_All[pitem->lParam]->fileInfor->name, L"测试", MB_OK) ; } } } } } } return ListViewNotify(hWnd, lParam, LV_FILE_ID);

    总是在第二次点击后反映
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xiaoliang_c
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-06 09:21:0112楼 得分:0
    UP
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bclife
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-06 16:37:2813楼 得分:0
    搞定了 是自己的问题
    把 NM_CLICK 改为 NM_DBLCLK
    把 点击事件改为双击事件
    哎 笨了我

    只是现在还是不太理解 WM_NOTIFY 事件到底是什么意思 希望大家能给予解答
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • redleaves
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-06 16:49:2614楼 得分:25
    WM_NOTIFY是一个通用手段,所有的common ctrl在向父窗口做通知的时候,都是发这个消息.然后在wparam里放控件ID,lparam里放通知的内容.
    这没什么特别的意思.只是建立了一个特殊的通道,所有的通知都走这个通道而已.这样的好处是把ctrl的事件响应归为一类.可以进行统一处理.而且只占一个消息ID,免得以后消息不够用...
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved