• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >汇编语言 > 汇编教程之树型视图控件

汇编教程之树型视图控件

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2017-06-28

匿名通过本文主要向大家介绍了树视图控件,列表视图控件,cad视图控件,视图控件,天正视图控件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
</div>

本课中,我们将学习如何使用树型视图控件。另外还要学习如何在树型视图中完成拖-拉动作,以及如何使用图象列表。

理论:

树型视图是一种特别的窗口,我们可以使用它一目了然地表示某种层次关系。譬如象在资源管理器中左边窗口中的就是树型视图。您可以调用CreateWindowEx来创建树型视图,传递一个类名“"SysTreeView32"”,或者您也可以把它放到一个对话框中去。不要忘了在您的代码中加入InitCommonControls函数。

树型视图有几种特有的风格。下面是几种经常使用的。

TVS_HASBUTTONS == 在父项目中显示(+)或(-)。用户可以通过点击该符号来展开或收起该父项目下的子项目。如果想在根目录下也有这个符号必须指定TVS_LINESATROOT风格。

TVS_HASLINES == 在层次中用线条来连接各个项目名称。

TVS_LINESATROOT == 在根目录下的项目也用线连接。如果没有指定TVS_HASLINES风格,该风格也就会被忽略。

像其它的通用控件一样,树型视图用消息来完成通信。父窗口发送一系列的消息给树型视图,而树型视图发送"notification"消息给它的父窗口。在这方面,树型视图和其它的通用控制没什么两样。

当有事件发生时,树型视图发送一个WM_NOTIFY消息个父窗口,并在消息中附带传递一些附加信息。

WM_NOTIFY

wParam ==控件的ID。因为该值不是唯一的,故我们不用它。我们使用NMHDR结构体中的hwndFrom或IDFrom成员变量。

lParam == 指向NMHDR结构体的指针。有一些控件可能传递一个指向更大一点的结构体的指针。但该结构体必须保证它的第一个成员变量是一个NMHDR型的变量。这样,您在处理lParam变量时,至少可以得到一个NMHDR型的变量。

下面我们来看NMHDR:

NMHDR struct DWORD

hwndFrom DWORD ?

idFrom DWORD ?

code DWORD ?

NMHDR ends

hwndFrom是发送WM_NOTIFY消息的控件的窗口句柄。

idFrom是发送WM_NOTIFY消息的控件的ID。

code是控件发送给父窗口的数据。

树型视图发送给父窗口的通知消息以TVN_打头。 树型视图接收到的消息以TVM_打头,譬如:TVM_CREATEDRAGIMAGE。 树型视图发送TVN_XXX消息时在code变量中放入NMHDR型变量。父窗口发送TVM_消息来控制树型视图。

在树型视图中加入项目

在创建完树型视图后可以通过发送TVM_INSERTITEM消息往其中加入项目了。

TVM_INSERTITEM

wParam = 0;

lParam = 指向结构体TV_INSERTSTRUCT的指针;

您应当知道一些关于树型视图中的项目之间关系的一些术语。 一个项目可能是一个父亲、儿子或两者都是。父项目下含有子项目,而该父项目又有可能是其它项目的子项目。一个没有父项目的项目叫根项目。在树型视图中可能有多个根项目。现在我们来看看TV_INSERTSTRUCT结构体:

TV_INSERTSTRUCT STRUCT DWORD
hParent DWORD ?
hInsertAfter DWORD ?
ITEMTYPE <>
TV_INSERTSTRUCT ENDS
hParent = 父项目的句柄。如果该值为TVI_ROOT value或NULL,该项目插在树型视图的根部。
hInsertAfter = 应该插入在起后面的项目的句柄或下面的值:
TVI_FIRST ==> 插在列表的头部。
TVI_LAST ==> 插在列表的尾部。
TVI_SORT ==> 按字母顺序插入。
ITEMTYPE UNION
itemex TVITEMEX <>
item TVITEM <>
ITEMTYPE ENDS
我们仅使用TVITEM。
TV_ITEM STRUCT DWORD
imask DWORD ?
hItem DWORD ?
state DWORD ?
stateMask DWORD ?
pszText DWORD ?
cchTextMax DWORD ?
iImage DWORD ?
iSelectedImage DWORD ?
cChildren DWORD ?
lParam DWORD ?
TV_ITEM ENDS

 2 3 4 5  下一页</div> </div> </div> </div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 汇编教程之树型视图控件
  • 汇编教程之树型视图控件

相关文章

  • 2017-06-285个DOS专用文件的6种io重定向(实现管道原理)
  • 2017-06-28汇编源代码之一个旋转的3D箱子(动画)
  • 2017-06-28汇编语言的艺术-观念正误(一)
  • 2017-06-17串行通信口I/O
  • 2017-06-28汇编教程之处理鼠标按键消息
  • 2017-06-28动态VXD学习
  • 2017-06-17分支程序设计
  • 2017-06-17通用数据传送指令
  • 2017-06-17乘运算指令
  • 2017-06-28汇编语言程序设计(五)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Game Faster V1.0
    • 80x86微处理器
    • 循环指令
    • 存储单元的地址和内容
    • (汇编源代码 )侦测CPU型号
    • 堆栈操作指令
    • 汇编源码系列之getsect
    • 汇编语言的基本知识
    • 汇编语言程序设计(二)
    • 存储器和端口

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有