动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ C/C++教程 ]的信息

本月文章推荐
.在C++程序中添加逻辑流程控制.
.Snake.Net中的线性表.
.C程序设计语言概论.
.C++:最强大的.NET语言之对象构造.
.Bjarne:为何析构函数默认不是vir.
.C/C++作用域引申出的编码规范.
.用托管C++监视Windows事件日志.
.用纯粹的C++编写COM组件.
.关于C++异常处理的心得体会.
.跨平台开发.
.C语言中的面向对象(3)-类模拟的.
.C语言EXPORT_SYMBOL_(INTERNAL a.
.雕虫小计—颜色渐变的进度条.
.如何学好C.
.C语言初学者入门讲座 第十二讲 结.
.Windows Sockets:带存档的套接字.
.在VBA中调用AUTOCAD打印文件.
.对一个问题的突破!.
.Windows Sockets:转换字符串.
.I/O端口读写的实现.

C++ Builder 初学问与答(六)

发表日期:2008-3-8 |


  6.图形列表组件TreeView
  45)问:有时侯,我希望实现类似资源治理器对文件夹治理的显示方式,和对文件的治理显示方式,在C++Builder中应该怎么办?   答:在C++Builder中可以直接使用图形列表组件来实现,它包括TreeView、ListView以及Outline组件。其中Outline组件实际上是基于Windows 3.1环境的组件,而且无论从功能还是使用的角度来看,它都无法与TreeView相比,因此完全可以用TreeView组件代替Outline。所以我将主要介绍前面两种组件。这两个组件都在页Win32中。


C++ Builder 初学问与答(六)
  46)问:TreeView组件是一个怎样的组件?   答:TreeView组件比较复杂,所以我们首先简单地介绍一下这个组件的基本使用情况,然后再深入讨论。   TreeView组件采用了树形结构,最典型的例子就是Windows 95的资源治理器,它用树形结构显示磁盘上的文件夹和文件。因此TreeView组件能够清楚地显示层次关系。   47)问:请给我演示一下怎样在设计状态编辑TreeView好吗?   答:首先在窗体上放置一个TreeView组件,然后在对象编辑器中单击属性Items中的省略号按钮,就会打开一个项目编辑器。 C++ Builder 初学问与答(六)   TreeView组件的项目编辑器是一个在设计时专门增加、删除节点和为节点赋予图标的工具。从屏幕上可以看到,项目编辑器由项目组框和项目属性组框组成。项目组框由一个项目列表框、按钮New Item、按钮New SubItem、按钮Delete和按钮Load组成。当你刚打开项目编辑器时,项目列表框是空的,New SubItem和Delete按钮处于失效状态。   项目属性组框由编辑框Text、编辑框Image Index、编辑框Selected Index和编辑框State Index组成。   项目组框可以创建和删除节点、子节点。假如要载入一个已经存在的TreeView节点,可以单击按钮Load。要创建一个新项目,单击New Item,然后在文本编辑框中输入新节点的标题。这时,New SubItem按钮由失效变为有效,答应你在节点下再嵌套子节点。假如项目列表框中显示了节点,那么Delete按钮也会变的有效。你只要在项目列表框中选中这个节点然后单击Delete按钮,就可以删除这个节点了。   要注重的是:假如删除的节点还包括子节点,那么子节点也会被同时删除。   项目属性组框主要是为当前选中的节点(或子节点)设置属性的。其中编辑框Text可以修改节点的标题。假如要在不是当前被选中的节点的左边显示图像,那么应该在编辑框Image Index中输入图像的索引号。要禁止显示图像可以把这个节点Image Index设置为缺省值-1。   假如要在被选中的节点的左边显示图像,应该在编辑框Selected Index中指定图像的索引号,索引号是从0开始的。要禁止显示图像可以把它设置为缺省值-1。   更多文章 更多内容请看C/C++技术专题专题,或   假如要在节点的左边多显示一个图像,可以在编辑框State Index中输入图像的索引号。这个索引号代表Tree View组件中的StateImages属性所表示的图像列表的索引。要禁止显示图像可以把这个项目设置为缺省值-1。
  注重:Image Index与 Selected Index 使用的是Images指定的ImageList;而State Index使用的是StateImages 指定的ImageList。   48)问:TreeView的属性太多了,我想问我一定要清楚哪些主要属性?   答: Items : 该属性包含TreeView组件中的所有节点,它是TtreeNodes的对象,在设计时,你可以使用项目编辑器来增加、删除和修改节点。在运行期间,可以通过Items属性访问每一个节点,并且也能够增加、删除和修改节点。而每一个节点又都是一个TtreeNode对象。   AutoEWXPand:布尔类型。为true时,则当前被选择的节点将自动扩展,没有被选择节点将自动折叠。缺省为false,这时扩展和折叠要用户自己指定。   DragMode:其声明为:_property TdragMode DragMode;这个属性用来设置树状视图的拖放模式。缺省为dmManual,用户要拖放节点需要调用BeginDrag才能拖放。若设置为 dmAutomatic,则树状视图将支持自动拖放,用户可以把一个节点拖到另一个位置。   Images:用来设定TreeView中的不同节点的图标。   StateImages:用不同的的图像来表示节点的不同状态。   在TreeView组件中,每个节点除了可以有一个文字标题外,还可以附加图标,这样可以使用户界面更加直观。这两个属性就包含着节点所使用的图标。   这两个属性都是TImageList的对象,所以假如要在TreeView组件中给节点添加图标,就必须使用图标列表组件给这两个属性赋值。假如在窗体中放置了图标列表组件,那么单击属性Images中的下拉按钮,就可以选取这个组件了。   ShowButtons属性值为True时表示凡是有子节点的节点将自动具有扩展按钮(即+号按钮)和折叠按钮(即减号按钮),单击它们就可以扩展和折叠节点。属性值为False时,不显示这两个按钮,缺省值为True。   ShowLines属性用来确定是否显示在节点和子节点之间的连线。缺省值为True。   ShowRoot属性用来确定与顶层节点连线是否显示。缺省值为True。   HideSelection属性用来确定当输入焦点从TreeView移动到其它控件上时,被选中的节点是否处于被选中状态。当属性值为True时,不再处于选中状态。缺省值为True。   Indent属性用来设置子节点与父节点之间缩进显示的距离。   ReadOnly用来确定用户是否可以直接修改节点的标题。当属性值为False时,表示可以修改。修改方法是,选中要修改的节点并单击进入编辑状态。缺省值为False。   SortType用来设置节点进行排序的方式。它有以下几种取值:   stNone:不排序(缺省值);   stData:当节点所关联的对象发生改变时重新排序;   stText:当节点的标签发生变化时重新排序;   stBoth:当节点所关联的对象或者节点的标签发生改变时重新排序。   以上排序原则为在同一层的节点以标签的字母顺序排序。   更多文章 更多内容请看C/C++技术专题专题,或   此外,还有一些运行时态属性。   TopItem:这个属性用来设置一个节点,这个节点将显示在树状视图的最上面。   RowSelcet:缺省为false。若设置为true,则表示当前选择的节点所在的整行都将加亮显示。当ShowLines设置为true时,这个属性无效。
  Selected:用来返回当前选择的节点。   49)问:属性Images和StateImages有什么区别呢?   答:每一个节点可以有两个附带的图标。一般情况下只需要显示一个图标,这时我们经常使用Images来指定图标,也就是说给属性Images赋予一个ImageList对象。假如某个节点要显示两个图标,那么还需要给属性StateImages赋予一个ImageList对象。然后给节点的属性StateIndex指定图标的索引号。具体的方法是在项目编辑器中,修改编辑框State Index的值。   其实在显示一个图标时,也可以使用属性StateImages。但是使用Images属性有一个优点,就是它可以为处于不同状态的节点指定不同的图标。例如在Windows 95的资源治理器中,被选中的节点显示一个打开的文件夹,而没有选中的节点显示一个关闭的文件夹。要实现这一点很简单,因为项目编辑器中的编辑框Image Index指定的图标在节点未选中时显示,而编辑框Seleted Index指定的图像在节点选中时显示。   50)问:请在前面设计的TreeView组件的基础上,给TreeView组件中的节点增加图标。好吗?   答:好的,首先在窗体上放置两个ImageList组件,这两个组件将具有缺省的名字ImageList1和ImageList2。   其次、编辑ImageList组件:ImageList组件实际上是一个图标列表,它可以包含大量的图标,这些图标的大小由属性Width和Height确定,缺省值都是16。   ImageList刚建立时不包含任何图标,你需要把已创建好的图标引入到ImageList中。这个工作可以通过ImageList编辑器完成。   用鼠标右键单击ImageList组件,在快捷菜单中选择ImageList Editor或双击一下该组件,就会出现下面这个编辑器。 C++ Builder 初学问与答(六)   单击Add按钮,在弹出的Add Images对话框中选择要引入的图像文件,图标就会出现在Images框内。从图中可以看出,引入的图标被自动赋予索引号。   为了使用上的方便,每一个图标都有一个编号,这个编号就是这个图标的索引号。假如要引用某个图标,只需要使用它的索引号就可以了。   要注重的是:这个编辑器会自动把引入的图像分解成16×16的图标,之所以尺寸为16×16是因为ImageList的属性Width和Height被设置成了16。假如图标的尺寸不一样,那么可以修改这两个属性,使其满足图标的要求。   更多文章 更多内容请看C/C++技术专题专题,或   然后、继续用项目编辑器给节点增加图标:我们已经在图标列表组件中加入了两个图标,其索引号分别为0和1,接着可以使用项目编辑器给节点增加图标。   再次打开项目编辑器,输入所有节点。
  修改节点的ImageIndex, SelectedIndex属性,      要注重的是,编辑框Image Index中的索引号是0,编辑框Selected Index中的索引号是1。也就是说,在选中或未选中状态下,该节点显示的图标不同。   修改所有节点的图标索引号,使包含子节点的节点有两种不同的图标,而不含子节点的节点只有一种图标,也就是编辑框Image Index和Selected Index的索引号相同。   最后,修改TreeView1组件的Images属性,从下拉列表中选择ImageList1组件。   从屏幕上可以看到,图标已经出现在控件里面了。   51)问:那怎样给节点增加第二个图标呢?   答:要给节点增加第二个图标,首先必须再创建一个图标列表组件,然后把这个图标列表赋值给TreeView组件的属性StateImages。当然还要给这个图标列表引入图标。   完成这些工作后,我们就可以进入项目编辑器,选中要增加第二个图标的节点,修改编辑框State Index中的索引号即可。   52)问:TreeView有哪些重要的函数呢?   答:AlphaSort:其声明为:bool _fastcall AlphaSort(void);这个函数用来对所有的节点按标签的字母顺序排序。若排序成功,则返回true。   FullCollapse:其声明为void _fastcall FullCollapse(void);这个函数的作用是折叠所有的节点,直到最顶层为止。   FullExpand:其声明为 void _fastcall FullExpand(void);这个函数的作用是展开所有的节点,直到最底层为止。若ShowButtons属性为true,则所有的“+”都会变成“-”。   GetHitTestInfoAt:其声明为THitTests _fastcall GetHitTestInfoAt(int X,int Y);这个函数返回指定点与树状视图之间的位置关系。这个点的位置由参数X、Y确定。THitTests是个集合,它可能包含下面的元素:   HtAbove:在树状视图的客户区上方;   HtBelow:在树状视图的客户区下方;   HtNowhere:在树状视图的客户区内但在最后一个节点下面;   HtOnItem:在某个节点的标签或者图标上;   HtOnButton:在某个节点的左边的图标上;   HtOnIcon:在某个节点的图标上;   HtOnIndent:在某个节点的缩进线上;   HtOnLabel:在某个节点的标签上;   htOnRight:在某个节点的右边;   htOnStateIcon:在某个节点的状态图标上;   htToLeft:在客户区的右边;   htToRight:在客户区的的左边。   GetNodeAt:其声明为TTreeNode*_fastcall GetNodeAt(int X,int Y);这个函数用来返回指定点所在的节点。参数X、Y为这个点的坐标。假如这个点没有节点,则返回NULL。

更多文章 更多内容请看C/C++技术专题专题,或
上一篇:C++ Builder 初学问与答(七) 人气:470
下一篇:C++ Builder 初学问与答(五) 人气:412
浏览全部C/C++的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-7 站长中国企业(公司)网站系统 v4.2
2008-9-7 PBDigg v2.0 Build 20080821
2008-9-7 玩玩小游戏FLASH系统 v2.1
2008-9-7 522QQ在线电视直播程序 v1.1
2008-9-7 Pcook cms 文章管理系统 (老Y CM
2008-9-7 仿代码小说小偷系统 v1.0
2008-9-7 百度一搜集成搜索管理系统
2008-9-7 小贤统计器 v1.0
2008-9-7 UCenter Home-中秋搏饼插件 v1.2
2008-9-7 iBlacklist通话黑名单汉化破解补
2008-9-7 EndlessWalls无尽壁纸 v1.0.4破解
2008-9-7 Dynolicious车载测量仪v1.1破解版
2008-9-7 iVoodoo巫毒娃娃1.0.1破解版
2008-9-7 iWallpape精品墙纸1.2破解版
2008-9-7 iChillout自然音效工具1.1破解版
2008-9-7 Todo计划提醒1.2破解版
2008-9-7 allRadio电台集合1.01破解版
2008-9-7 My Money个人理财1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵