首页 >> 大全

在SDK中使用TreeView控件

2023-11-10 大全 22 作者:考证青年

为什么80%的码农都做不了架构师?>>>

在SDK中使用控件非常的麻烦,不像VB之类的编辑工具,直接设置控件属性就能很方便的控制控件。平时用得最多的控件包括按钮、、 、Edit、Image List等,学了一个多月SDK,发现只会用按钮和Edit控件,其它的控件一点儿都不会用,所以决定拿些时间来熟悉这些常用控件,首先准备熟悉的是 控件。 一、 不管是作用控件还是控件,都得用到几个结构体,如果对这些结构体不了解,那在使用控件时就糊理糊涂的,胡乱修改结构体的值,设置不出想要的结果,也不知改哪里,结果出来了也不知怎么出来的。不知为什么,今晚状态特别好,心很静,前几天熟悉控件的使用时,直接从 MSDN上把代码复制下来,也没心思去读代码,搞了半天也显示不出想要的结果,有句话说得很对,心态决定成败。 使用控件会用到、二个结构体,熟悉了这二个结构体,控制就基本不成问题了。 1.结构体 该结构体是用来设置节点信息的,比如节点的名称、节点名称占用的长度、指定能使用的结构体成员以及节点状态等信息。

先来看看结构体的定义: { UINT mask; hItem; UINT state; UINT ; ; int ; int ; int ; int ; ; } , *; mask 是指定能使用的结构体成员,比如将mask的值设置为“ | ”,那么就只能使用结构体中的和state成员,当然,mask成员无论在什么时候都是可用的。 hItem 选择该节点的句柄,搞了半天才明白这个成员的作用,既然是句柄,那就得先获取句柄,然后才能使用句柄。在创建第一个节点时,是不用设置这个成员的。有了第一个节点后,可以通过多种途径来获取一个节点的句柄,如函数、 函数、函数等,都可以获取节点的句柄,获取节点的句柄后,就可以对该节点进行控制了。

state 这个是用来设置节点状态的,这个成员的设置貌似挺复杂的,一个节点到底有多少种状态,没搞清。好像应该大概可能是16种状态。好好的研究了一下,发现state成员是一个UINT类型,也就是 int数据类型,是16位的,也就是说每1位是一种状态,刚好有16种状态。0-7位是普通节点的状态,8-11是覆盖图像索引,啥意思?没看懂!12-15位是图像索引,我估摸着,8-11和12-15应该是节点图片的几种状态,操,转了一圈又转回去了。到是0-7位的节点状态比较好理解,整理如下: -节点名称加粗 - 将选择的节点作为复制和粘贴的目标 - 将选择的节点作为拖拽目标,用于拖动节点的 - 展开该节点下的子节点 -搞不懂?????? -展开部分节点 -节点处于选择状态 还有三个 -覆盖图像索引的掩码,不太懂 -图像索引掩码,还是不太懂 -同 这数来数去,怎么只有10种状态,还有6种呢? 的作用类似于mask,是用于指定有效的节点状态,例如要使用和两种状态,就必须在中指定这两种状态,也就是说state和中的设置得一样。

节点名称。 节点名称长度。 节点在非选中状态下的图像索引,好像是通过来建立图像索引。 节点在选中状态下的图像索引 表示树控件项是否有相关的子结点的标志位。此成员可以是以下值之一: 0 —— 表示此项没有子结点。 1 —— 表示此此项有一个或多个子结点。 —— 父窗口会始终跟踪确定此项是否有子结点。此时,如果树控件需要显示项时,它会给父窗口发送通知消息,决定此项是否有子结点。如果树控件含有风格,则它使用此成员来决定是否显示按钮以表明存在子结点。也可以使用此成员来强制树控件显示按钮,尽管没有在此项之下插入任何子结点。这样可以最小化由于在此项之下插入了子结点所占用的控件内存。 同控件相关的32位值。是些啥值?不知道 到此虽然对结构还有些不清不楚,但对于一般的节点控制应该没啥问题了。 2.结构体 结构体是对单个的、独立的节点信息进行设置,而则是对要添加节点的所有属性进行设置,也包括 结构体,比如节点添加到的哪个位置、以及父节点的句柄,其结构体的定义中下: { ; ; #if ( >= ) union { ; item; } ; #else item; #endif } , *; 一共个四个成员 父节点句柄 在哪个节点前插入 item 一个结构体 以上这两个结构体,除了中的少数几个成员的作用还弄不清外,其余的都了解个七七八八了。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了