博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
win32 treeview
阅读量:5142 次
发布时间:2019-06-13

本文共 1736 字,大约阅读时间需要 5 分钟。

// 1.create treeview    DWORD dwStryle = WS_VISIBLE | WS_CHILD | TVS_HASLINES|TVS_SHOWSELALWAYS/*|TVS_LINESATROOT*/;// remove root-line style     HWND hTree = CreateWindow(WC_TREEVIEW,L"",dwStryle,0,0,0,0,hParent,(HMENU)IDC_CS_TREE,hInst,NULL);    // 2. create Imagelist     HIMAGELIST hi;    hi = ImageList_Create(24,24,ILC_COLOR24|ILC_MASK,1,3); // 创建像素为24*24 颜色深度为多彩24,因为图片不透明所以使用mask,初始化1,最大3    HBITMAP hBmp = LoadBitmap(hInst,MAKEINTRESOURCE(IDB_BMP_TREE)); // 载入bitmap图片    ImageList_AddMasked(hi,hBmp,RGB(0,0,0));                    // 将图片加入imagelist中 (我在添加中发现了一个问题,当时我的图片是23*24的结果就是天不上,将图片修改为24*24就OK了    int iImageCount = ImageList_GetImageCount(hi);                // 可以获取到列表图片个数,添加完后可以比较下结果    // 3. set imagelist to tree    TreeView_SetImageList(hTree,hi,TVSIL_NORMAL);    // 4. insert item     TVINSERTSTRUCT ti= {
0}; ti.item.mask=TVIF_TEXT|TCIF_IMAGE|TVIF_SELECTEDIMAGE; ti.hParent=NULL; ti.hInsertAfter=TVI_ROOT; ti.item.iSelectedImage= ti.item.iImage=0; ti.item.pszText=L"test";

以上就是创建过程。

消息处理,其中要处理WM_NOTIFY消息

LRESULT cs_OnNotify(HWND hwnd,int idfrm,NMHDR* pnmhdr){    if (idfrm == IDC_CS_TREE)    {        if ( pnmhdr->code == TVN_SELCHANGED )        {            WCHAR szText[MAX_PATH];            HTREEITEM hSelected ;            TVITEM tvi = {
0}; tvi.mask = TVIF_TEXT; tvi.pszText = szText; tvi.cchTextMax = MAX_PATH; hSelected = TreeView_GetNextItem(hTree,hSelected,TVGN_CARET); tvi.hItem = hSelected; TreeView_GetItem(hTree,&tvi); SetWindowText(hwnd,szText); } } return FALSE ;}

 

以上是我用到的选择某Item时,获取text并将窗体text改变。

可以根据相像自己改动下

转载于:https://www.cnblogs.com/M4ster/p/win32_treeView.html

你可能感兴趣的文章
【转】MySQL Event
查看>>
[转]html5监听任何App自带返回键javascript事件
查看>>
mongodb数据备份与还原
查看>>
通俗理解LDA主题模型
查看>>
回射服务器-多路复用 select 01 (阻塞)
查看>>
分享吉林大学机械科学与工程学院,zhao jun 博士的Halcon学习过程及知识分享
查看>>
BitmapData.noise示例
查看>>
肤色阈值分割
查看>>
Android中的菜单
查看>>
【最短路】Vijos P1046 观光旅游
查看>>
Android学习总结——开篇
查看>>
iOS 基础知识
查看>>
PHP 重新格式化var_dump/print_r打印的数组
查看>>
C++11:POD数据类型
查看>>
Delphi中Json格式读写
查看>>
请不要忘记带着梦想时常沐浴阳光
查看>>
交易与风险
查看>>
Hibernate: Could not find a getter for iUserId in class com.Hibernate.pojo.User异常
查看>>
windows环境下搭建RocketMQ
查看>>
CSS--基础
查看>>