win32强化练习4.8_TreeView快速应用(处理消息)
来源:互联网 发布:南阳网络推广哪家专业 编辑:程序博客网 时间:2024/06/05 00:26
创建完TreeView控件后,通过SendMessage(),来增加、删除、安排各个项目;每个消息都有一个或多个相应的宏来代替直接发送消息。
TreeView的样式:创建窗口时直接设置,或者通过SetWindowLong或GetWindowLong来设置和获得样式 - 略
TreeView的通知消息(事件发生)(树型视图发送给父窗口的通知消息以TVN_打头(Notify)。 树型视图接收到的消息以TVM_打头(Message):
-- wParam ==控件的ID。因为该值不是唯一的,故我们不用它。我们使用NMHDR结构体
-- lParam == 指向NMHDR结构体的指针
我们也不去说常用的控件消息了,因为有点多,直接上练习(树型视图控件将发送WM_NOTIFY消息给它的父窗口,而并不是WM_COMMAND):1. 单击 NM_CLICK
2. 双击 NM_DBLCLK
接上一节已经建立好的TreeView程序,先处理一下单击的弹窗测试:case WM_NOTIFY:{NMHDR* phdr = (NMHDR *)lParam;switch(phdr->code){case NM_CLICK: //单击事件MessageBox(0,"click","",0);break;}}break;然后解决一下ID的问题,这是因为如果我建立了不止一个树控件,那么不判断ID的话所有的树控件都会响应单击弹窗,这是我们不想要的!
case NM_CLICK: //单击事件if (LOWORD(wParam) == 10037)MessageBox(0,"click 1","",0);if (LOWORD(wParam) == 10038)MessageBox(0,"click 2","",0);break;
先要知道点在了哪个Item的上面,这里的每一项都是HTREEITEM的句柄控制的,因此先要拿到它的句柄
1.1 我们曲线救国,先通过HitTest取到HTREEITEM hItem的句柄
TVHITTESTINFO ht;POINT pp;GetCursorPos(&pp);ScreenToClient(hWndTree, &pp); //必须转换成TreeView窗口的坐标,注意不是hwnd的窗口ht.flags = TVHT_ONITEMLABEL;ht.pt = pp;HTREEITEM hItem1 = TreeView_HitTest(hWndTree,&ht);1.2 然后利用结构体TVITEM Item;从结构体中取出文本
CHAR buf[1024]= {0};TVITEM Item;Item.pszText = buf;//文本存放 Item.mask = TVIF_TEXT;Item.cchTextMax = 1024;Item.hItem = hItem1;//HTREEITEM的句柄放进去TreeView_GetItem(hTreeView, (LPARAM)&Item);//得到TVITEMMessageBox(0,Item.pszText,"",0);
0 0
- win32强化练习4.8_TreeView快速应用(处理消息)
- win32强化练习4.7_快速建立TreeView
- win32强化练习4.9_快速建立ListView
- win32强化练习3.5_弹球游戏(键盘+定时器)
- win32强化练习5.1_动画秒表(位图初步)
- win32强化练习3.6_贪吃蛇半部
- win32强化练习3.7_拖动窗口
- win32强化练习4.0_资源相关练习简介
- win32控件消息处理
- win32控件消息处理
- win32强化练习3.3_定时器与弹球
- win32强化练习4.1_更改别人的菜单
- win32强化练习4.4_状态栏、坐标与时钟
- win32强化练习4.5_标准工具栏的使用
- 接口强化练习(Java)
- Win32消息处理API---GetMessage
- Win32消息处理API---PeekMessage
- Win32消息处理API---WaitMessage
- php文件下载的一些浅谈
- __attribute__ 之weak,alias属性 .
- 【MongoDb入门】基础入门
- 记android学习之路----ContentProvider
- xxx
- win32强化练习4.8_TreeView快速应用(处理消息)
- Eclipse for php-- git commit问题
- java线程池详解
- 位运算习题
- 【MongoDb入门】细说增删查改
- 另一个时空永续
- cocos2dx 版本的对应关系整理并附下载地址
- EXCEL大数据量导出的解决方案
- Servlet的生命周期