基本控件类

合集下载

30个WEB UI基本控件

30个WEB UI基本控件

30个WEB UI基本控件通过特里萨尼尔作为条例草案在先前的帖子中提到,我们不希望这个博客仅仅限制的原则和模式发现在书里。

为此,您可以看看我们的探索图书节。

这是一个为RIA的模式和设计原则三部分组成的系列的第二篇文章。

标准屏幕模式:12模式w/100例子基本控制:30为RIA设计和开发控制通常要求的功能部件:15的模式和范例每个设计师有他们的一套控制到一个有效的沟通界面依赖。

这是我的基本控制库。

不幸的是,没有单一的放射免疫法的框架内提供所有这些30。

所以,我的清单,其中包括提供每个控制框架。

此外,如果您有一个或更正,请给我发电子邮件,我将发布一个更新的框架/控制矩阵。

LivePipeUI,审查该框架包括:Flex的,拉兹洛,Silverlight和Ajax框架和工具包12:ExtJS 的,道场,锐,谷歌Web工具包,原型/ 和jQuery,MooTools的,MochaUI,SproutCore,资讯轧机,Backbase公司。

01。

自动推荐谷歌的自动完成技术支持:Flex的,拉兹洛,ExtJS的,道场,锐,谷歌Web工具包,原型/ 和jQuery,MooTools的,MochaUI,资讯密尔,Backbase公司,Silverlight的。

02。

旋转木马(如Coverflow变化)原型部件旋转木马旋转木马技术支持:锐,原型/ ,JQuery的,ITMill,Backbase公司,iCarouselCoverflow MediaEvent服务的Slideflow技术支持:Flex的,原型/ ,JQuery的,MooTools的,对Silverlight的RadControls03。

图表和图形图表图表的细节功能,如先进的盘旋,钻取,滚动窗口,切换意见...技术支持:Flex的,拉兹洛,道场,锐,谷歌Web工具包,原型/ ,JQuery 的(SWF文件/图表), MooTools的,MochaUI,Backbase公司,Silverlight的,AnyChart,登打士,JPowered,JFreeChart的,OpenFlashCharts,弗洛,Plotr,PlotKit,WebFX,AjaxMcGraph,测量图。

Qt基本控件-QWidget详解

Qt基本控件-QWidget详解

Qt基本控件-QWidget详解原⽂转载于:QWidget 类的构造函数如下:QWidget(QWidget *parent = 0, Qt::WindowFlags f = 0);其中参数 parent 指向⽗窗⼝,如果这个参数为 0,则窗⼝就成为⼀个顶级窗⼝参数 f 是构造窗⼝的标志,主要⽤于控制窗⼝的类型和外观等,有以下常⽤值。

1)Qt::FramelessWindowHint:没有边框的窗⼝。

2)Qt::WindowStaysOnTopHint:总是最上⾯的窗⼝。

3)Qt::CustomizeWindowHint:⾃定义窗⼝标题栏,以下标志必须与这个标志⼀起使⽤才有效,否则窗⼝将有默认的标题栏。

4)Qt::WindowTitleHint:显⽰窗⼝标题栏。

5)Qt::WindowSystemMenuHint:显⽰系统菜单。

6)Qt::WindowMinimizeButtonHint:显⽰最⼩化按钮。

7)Qt::WindowMaximizeButtonHint:显⽰最⼤化按钮。

8)Qt::WindowMinMaxbuttonHint:显⽰最⼩化按钮和最⼤化按钮。

9)Qt::WindowCloseButtonHint:显⽰关闭按钮。

独⽴窗⼝窗⼝构造的时候如果有 Qt::Window 标志,那么它就是⼀个独⽴窗⼝,否则就是⼀个依附于其他独⽴窗⼝的窗⼝部件。

顶级窗⼝⼀定是独⽴窗⼝,但独⽴窗⼝不⼀定是顶级的,它可以有⽗窗⼝,当⽗窗⼝被析构时它也会随之被析构。

独⽴窗⼝⼀般有⾃⼰的外边框和标题栏,可以有移动、改变⼤⼩等操作。

⼀个窗⼝是否为独⽴窗⼝可⽤下⾯的成员函数来判断:bool isWindow() const; // 判断是否为独⽴窗⼝下⾯这个函数可以得到窗⼝部件所在的独⽴窗⼝。

QWidget *window() const; // 所得所在的独⽴窗⼝当然,如果窗⼝本⾝就是独⽴窗⼝,那么得到的就是⾃⼰。

Windows 基本控件的使用

Windows 基本控件的使用
Visible:指示是否显示该控件。
WindowState:获取或设置窗体的窗口状态。
Maximized 最大化的窗口。 Minimized 最小化的窗口。 Normal 默认大小的窗口。
12
6.1.3窗体的常用事件和方法
1、窗体事件:响应窗体行为的动作。
1)Load
Load事件是在窗体被装入工作区时自动触发的事件
{ //实例化textBox
MytextBox = new TextBox(); //设置控件属性
this.MytextBox.Location = new System.Drawing.Point(109, 101);
= "textBox1"; this.MytextBox.Text = "我的文本框";
通常给属性变量和一般变量符初值。 2)Click Click事件是程序运行后用鼠标单击对象时触发的事件。 3)Closeing、Closed 关闭窗体时和关闭窗体后的事件。
private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (DialogResult.No == MessageBox.Show("是否关闭", "确认", MessageBoxButtons.YesNo)) e.Cancel = true; }
目】命令,在【新建项目】对话框的左栏 中选择【Visual C#】项目,在右栏【模板】 中选择【Windows应用程序】选项,在 【名称】文本框中输入“FirstWinApp”。 2)单击【确定】按钮,将生成新建的项目。
21
22
23

30个WEB UI基本控件

30个WEB UI基本控件

30个WEB UI基本控件通过特里萨尼尔作为条例草案在先前的帖子中提到,我们不希望这个博客仅仅限制的原则和模式发现在书里。

为此,您可以看看我们的探索图书节。

这是一个为RIA的模式和设计原则三部分组成的系列的第二篇文章。

标准屏幕模式:12模式w/100例子基本控制:30为RIA设计和开发控制通常要求的功能部件:15的模式和范例每个设计师有他们的一套控制到一个有效的沟通界面依赖。

这是我的基本控制库。

不幸的是,没有单一的放射免疫法的框架内提供所有这些30。

所以,我的清单,其中包括提供每个控制框架。

此外,如果您有一个或更正,请给我发电子邮件,我将发布一个更新的框架/控制矩阵。

LivePipeUI,审查该框架包括:Flex的,拉兹洛,Silverlight和Ajax框架和工具包12:ExtJS 的,道场,锐,谷歌Web工具包,原型/ 和jQuery,MooTools的,MochaUI,SproutCore,资讯轧机,Backbase公司。

01。

自动推荐谷歌的自动完成技术支持:Flex的,拉兹洛,ExtJS的,道场,锐,谷歌Web工具包,原型/ 和jQuery,MooTools的,MochaUI,资讯密尔,Backbase公司,Silverlight的。

02。

旋转木马(如Coverflow变化)原型部件旋转木马旋转木马技术支持:锐,原型/ ,JQuery的,ITMill,Backbase公司,iCarouselCoverflow MediaEvent服务的Slideflow技术支持:Flex的,原型/ ,JQuery的,MooTools的,对Silverlight的RadControls03。

图表和图形图表图表的细节功能,如先进的盘旋,钻取,滚动窗口,切换意见...技术支持:Flex的,拉兹洛,道场,锐,谷歌Web工具包,原型/ ,JQuery 的(SWF文件/图表), MooTools的,MochaUI,Backbase公司,Silverlight的,AnyChart,登打士,JPowered,JFreeChart的,OpenFlashCharts,弗洛,Plotr,PlotKit,WebFX,AjaxMcGraph,测量图。

第3章 基本Web服务器控件

第3章  基本Web服务器控件
n图像按钮控件
ImageButton控件与Button控件功能相似,只是 ImageButton控件可以在按钮上添加图片。ImageButton用 ImageUrl来指定图片的位置。按钮不再有名称,而是一副图 像,而Button按钮显示的是通过Text属性设置的文字。
CheckBox控件用于在Web窗体页上创建复选框,该复 选框允许用户在True或False状态之间切换。通过设置Text 属性,可以指定在控件中显示的标题,标题可显示在复选 框的右侧或左侧。设置TextAlign属性以指定标题显示在哪 一侧。
3.4
使用FileUpload控件实现文件上传
在常见的Web应用系统中,文件上传是经常会用到的。以 前整个上传过程都得靠开发人员编程实现。在.NET中,提供了 上传文件控件FileUpload,可以很方便地实现文件的上传。
3.2
按钮控件
Web服务器控件包括3种类型的按钮:标准命令按钮 (Button控件)、图形化按钮(ImageButton控件)和超级 链接样式按钮(LinkButton控件)。这3种按钮具有相同的 提交或链接功能,但具有不同的外观。
当用户单击按钮时,3种类型的按钮都会将窗体提交 给服务器。这些按钮还可引发自己的Click事件,可以为这 些事件编写事件处理程序。
基本web服务器控件aspnet提供了一系列服务器控件这些控件不仅增强了aspnet的功能同时将以往由开发人员完成的许多重复工作都交由控件去完成大大提高了开发人员的工作效率
第3章
基本Web服务器控件
提供了一系列服务器控件,这些控件不仅增强了 的功能,同时将以往由开发人员完成的许多重复工作都交由控件去完成, 大大提高了开发人员的工作效率。创建Web页面时,可使用的服务器控件 类型有HTML服务器控件、Web服务器控件和用户控件3种。其中,Web服 务器控件是的精华所在。Web服务器控件功能全面,极大地简化 和方便了开发人员的开发工作。本章将主要介绍Web服务器控件中的常用 控件。 本章学习的内容有: • • • 输入和输出的控件 按钮控件 单选按钮和复选框

MFC_基本控件使用

MFC_基本控件使用

MFC_基本控件使用MFC(Microsoft Foundation Classes)是一个用于基于 Windows 的应用程序开发的C++类库。

它提供了一套基本控件,使开发人员可以轻松地创建 Windows 应用程序的用户界面。

MFC提供了多种基本控件,用于显示和输入数据、与用户交互。

以下是一些最常见的基本控件及其用法:1. Button(按钮)控件Button 控件用于触发特定的操作或执行特定的功能。

创建 Button 控件的方法如下:```CButton myButton;myButton.Create("Click Me", WS_CHILD , WS_VISIBLE ,BS_PUSHBUTTON, CRect(10, 10, 100, 30), pParentWnd, ID_MYBUTTON);```其中,"Click Me" 是按钮的显示文本,WS_CHILD , WS_VISIBLE ,BS_PUSHBUTTON 是按钮的样式。

CRect(10, 10, 100, 30) 是按钮的大小和位置,pParentWnd 是按钮的父窗口,ID_MYBUTTON 是按钮的标识符。

Edit Control 控件用于接收用户输入的文本数据。

创建 Edit Control 控件的方法如下:```CEdit myEdit;myEdit.Create(WS_CHILD , WS_VISIBLE , WS_BORDER, CRect(10, 50, 300, 70), pParentWnd, ID_MYEDIT);```3. List Box(列表框)控件List Box 控件用于显示一个垂直列表,可以包含多个项。

创建 List Box 控件的方法如下:```CListBox myList;myList.Create(WS_CHILD , WS_VISIBLE , WS_BORDER ,LBS_NOTIFY, CRect(10, 90, 200, 200), pParentWnd, ID_MYLIST);```其中,WS_CHILD , WS_VISIBLE , WS_BORDER , LBS_NOTIFY 是列表框的样式。

控件简介介绍

控件简介介绍

实例五:复选框与单选框的应用与实现
总结词
复选框和单选框是常见的表单控件,用于在一组选项 中选择一个或多个。
详细描述
复选框允许用户在一组选项中选择多个选项,而单选 框则只允许选择一个选项。它们通常用于需要让用户 从多个选项中选择一个或多个的情况,如调查问卷、 投票等场景。在设计复选框和单选框时,需要考虑选 项的数量和展示方式、选择效果以及响应速度等,并 确保选择的稳定性和易用性。同时还需要考虑如何处 理多个选项的选择逻辑和数据绑定等问题。
操作与控制
用于执行特定的操作或控制任务。
控件的交互方式
点击
通过点击控件的元素(如标题、图标 等)进行交互。
拖拽
通过拖拽控件的元素进行位置移动或 选择。
滑动
通过滑动控件的元素进行滚动或浏览 。
输入
通过输入文本、数字等数据到控件中 进行交互。
03
CATALOGUE
常见控件类型及应用场景
文本框控件
总结词
组成
控件通常由图形元素、文本元素和交互元素等组成。图形元素包括背景色、边框 、图标等;文本元素包括文本框、标签等;交互元素包括按钮、复选框等。控件 的组成取决于其类型和用途,不同的控件可能有不同的组成元素。
控件的发展历程
早期控件
在计算机图形用户界面发展初期,控件就已经出现。早期的控件比较简单,例如命令按钮 、文本框等。这些控件的功能比较单一,只能实现简单的输入和输出功能。
字体规范
控件中的文本应该使用清晰易读的字体,考虑字体大小、颜色和行距等。
响应时间
控件的响应时间应该快速且流畅,避免用户等待和卡顿。
最佳实践
01
02
03
使用可访问性
控件应该适应不同的用户 能力和需求,如提供文本 和图像描述,支持键盘导 航等。

第09章 基本控件使用

第09章 基本控件使用

第9章基本控件使用9.1 编辑框类9.1.1 编辑框类的结构及方法编辑框控件看起来是个非常简单的矩形窗口,但它具有许多功能。

编辑框控件有两种形式:单行编辑框控件和多行编辑框控件。

MFC在类Cedit中提供标准的Windows编辑框控件服务,Cedit是CWnd类直接派生来的,它具有CWnd的所有功能,其在MFC类库中的层次位置如下图:象大多数包含标准Windows控件的MFC类一样,Cedit类的结构比较复杂。

当创建Cedit 类的对象时,MFC自动赋予该对象一个标准的Windows编辑框控件,它定义了CEdit对象,其中包括方法原型。

CEdit类的定义源代码如P206所示。

9.1.2 编辑框类的应用实例例题:使用MFC AppWizard创建如下图所示的基于对话窗的应用程序,实现算术运算的计算器功能。

1.使用AppWizard建立应用程序框架2.使用资源编辑器建立对话框void CCalculatorDlg::OnButton1(){char aa[10],bb[10];double a,b,c;char cBuffer[50];m_a.GetWindowText(aa,10);m_b.GetWindowText(bb,10);a=atof((LPCTSTR)aa);//将字符串aa转化成数值存入a中b=atof((LPCTSTR)bb);// L表示long指针,P表示指针,C表示常量,T表示Win32宏c=a+b;_gcvt(c,10,cBuffer);//将浮点数据c转换成字符串存入cBuffer数组中m_c.SetWindowText(cBuffer);//UpdateData(FALSE);}void CCalculatorDlg::OnButton2(){char aa[10],bb[10];double a,b,c;char cBuffer[50];m_a.GetWindowText(aa,10);m_b.GetWindowText(bb,10);a=atof((LPCTSTR)aa);//将字符串aa转化成数值存入a中b=atof((LPCTSTR)bb);// L表示long指针,P表示指针,C表示常量,T表示Win32宏c=a-b;_gcvt(c,10,cBuffer);//将浮点数据c转换成字符串存入cBuffer数组中m_c.SetWindowText(cBuffer);//UpdateData(FALSE);}void CCalculatorDlg::OnButton3(){char aa[10],bb[10];double a,b,c;char cBuffer[50];m_a.GetWindowText(aa,10);m_b.GetWindowText(bb,10);a=atof((LPCTSTR)aa);//将字符串aa转化成数值存入a中b=atof((LPCTSTR)bb);// L表示long指针,P表示指针,C表示常量,T表示Win32宏c=a*b;_gcvt(c,10,cBuffer);//将浮点数据c转换成字符串存入cBuffer数组中m_c.SetWindowText(cBuffer);//UpdateData(FALSE);}void CCalculatorDlg::OnButton4(){char aa[10],bb[10];double a,b,c;char cBuffer[50];m_a.GetWindowText(aa,10);m_b.GetWindowText(bb,10);a=atof((LPCTSTR)aa);//将字符串aa转化成数值存入a中b=atof((LPCTSTR)bb);// L表示long指针,P表示指针,C表示常量,T表示Win32宏c=a/b;_gcvt(c,10,cBuffer);//将浮点数据c转换成字符串存入cBuffer数组中m_c.SetWindowText(cBuffer);//UpdateData(FALSE);}void CCalculatorDlg::OnButton5(){m_a.SetSel(0,-1);m_a.ReplaceSel("");m_b.SetSel(0,-1);m_b.ReplaceSel("");m_c.SetSel(0,-1);m_c.ReplaceSel("");//UpdateData(FALSE);}void CCalculatorDlg::OnButton6(){OnOK();}9.2 菜单类9.2.1 菜单菜单允许用户用一种标准的方法与Windows应用程序进行交互:一个样式一致的用户界面对象——菜单栏。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于我个人对控件的几点总结1.静态图片:比较简单,只要在资源视图插入Bitmap,新建或导入图片,然后在静态图片的属性里选择type和image使之与图片关联即可。

2.编辑框:一般在其属性里设置ID就行,有关它的其余各种属性默认值就行。

编辑框有两种变量,一种是value(只能对编辑框的内容或值作用),一种是control(对它的各种属性都起作用)。

一、对于value类型,可以通过控件变量来改变编辑框的显现内容。

直接把值赋给变量,用UpdateData(false):将控件变量的值显示在控件中。

若是想把在编辑框的内容(自己键入的)传给变量,用UpdateData(true):将控件中显示的内容保存到对应的控件变量中(可以在关闭窗口前调用就可以)二、对于control类型:则有多个系统给的函数可以调用。

(1)消息处理函数(View->ClassWizard弹出的窗口,“Message Map”tab页可以设置生成消息处理函数):EN_CHABGE: 内容改变消息。

当编辑框的内容改变的时候,系统会调用此函数,可以自己在函数体内添加代码,达到自己的目的。

EN_SETFOCUS: 获取焦点消息。

当编辑框获得焦点(即鼠标单击到)系统会调用这个函数。

同样可以自己添加代码实现自己的目的。

(2)通过控件变量可以调用的类的成员函数(直接用就行,不用自己去设置生成)此类函数的大概功能可以通过函数名大概猜出来,因为他们是简单的英文组合而成的名字,大家看了就会明白。

A.SetWindowText(LPTSTR);设置编辑框文字,LPTSTR是字符串就可以B.GetWindowText(LPTSTR); 得到编辑框文字,LPTSTR是字符串就可以,把得到的内容复值到LPTSTR中去。

C.EnableWindow(BOOL);编辑框是否变灰。

false变灰不可用,true正常状态D.ShowWindow(int);编辑框是否可见,SW_SHOW可见,SW_HIDE隐藏E.int GetWindowTextLength( ) const;可用来获得窗口的标题或控件中的正文的长度。

F.int GetLineCount( ) const;,用于多行编辑框,用来获得正文的行数。

如果编辑框是空的,那么该函数的返回值是1。

具体的调用结果大家可以自己试试看,就明白了。

3.组框:基本没有什么,就是有那种形式,可以用而己,没有特别的地方4.按钮:属于CButton 类的。

在View->ClassWizard弹出的窗口,“Message Map”tab页可以设置生成消息处理函数,有两种。

BN_CLICKED单击后系统会调用这个函数,自己添加代码可以实现功能BN_DOUBLE_CLICKED双击后系统会调用此函数,自己可以在函数体中添加自己想要的双击按钮后想要的效果。

5.单选框:此按钮的属性要设置好,要不然会出现意想不到的错误在属性的general中的Group必须选中(一般都是几个单选钮一起出现的,只要第一个选择就好,后面的就不用了,同时只要第一个设置控件变量就行,选中第一个,变量值为0,选中第二个,变量值为1,依次类推)Group属性,用来指定一组控件,用户可以用箭头键在该组控件内移动。

在同一组内的单选按钮具有互斥的特性,即在这些单选按钮中只能有一个是选中的。

同时要想改变单选框的字面内容(如男,女等)在属性的Caption直接改就好了。

同样在View->ClassWizard弹出的窗口,“Message M ap”tab页可以设置生成消息处理函数,BN_CLICKED单击后系统会调用这个函数,自己添加代码可以实现功能。

同时通过控件变量可以调用一些函数void SetCheck( int nCheck );设置检查框或单选按钮的选择状态,其中nCheck 为true的话就代表选中,false的话就代表不被选中通过变量调用GetCheck()可以确认单选框是否被选中,选中返回值为true 通过变量调用GetWindowText(str),可以得到单选框内的文字,并保存在字符串str 中6.复选框:这种按钮的属性不用怎么改,一般用默认值就行。

复选框的名字在属性的Caption直接改就好了。

可以给每一个复选框设置一个控件变量,它的很多函数跟单选框的是一样的。

void SetCheck( int nCheck );设置复选框或单选按钮的选择状态,其中nCheck为true的话就代表选中,false的话就代表不被选中通过变量调用GetCheck()可以确认单选框是否被选中,选中返回值为true 通过变量调用GetWindowText(str),可以得到单选框内的文字,并保存在字符串str 中。

记得这些函数是通过变量来调用的,利用这几个函数复选框的常用功能就可以实现了。

7.组合框:有三种风格,在属性里面可以设置(在属性中有一个sort选项表示对组合框的内容自动进行排序的,可以根据需要而用,一般去掉)Simple:包含一个编辑框和总是显示的列表框。

Drop Down:仅当单击下滚箭头时才出现列表框。

Drop List(常用) 仅当单击下滚箭头时才出现列表框。

但是没有编辑功能,用户只能选择列表中已有的项。

(可以自己试一下就比较明白了)在属性中可以直接设置组合框的内容,在data中,记住换行要用ctrl+enter,不可以直接用enter.(1)组合框也有消息处理函数,设置方法与前面的控件一样。

CBN_SELCHANGE 如果选择项改变,系统调用函数;CBN_EDITCHANGE 如果编辑框种文字改变,系统调用函数;(2)通过控件变量调用的类的函数。

int GetCount(); 获取组合框中的项数void GetLBText( int nIndex, CString& rString) 获取组合框中指定位置的文字,第一个参数表示位置,第二个参数表示获得文字复值到第二个参数中去SetCurSel(int index); int GetCurSel(); 设置或获取当前选择项int AddString(LPCTSTR lpszString ) 添加文字项到最后int InsertString( int nIndex, LPCTSTR lpszString );在第几个位子插入文字int DeleteString( UINT nIndex ); /删除第几个位子的内容int FindString( int nStartAfter,LPCTSTR lpszString ) 第一个参数若为-1的话就从头开始搜索,第二个参数为要找的内容。

intFindStringExact(int nIndexStart, LPCTSTR lpszFind) 从组合框中查询指定字符串,两个函数类似的。

8.列表框:属性设置时同样有一个Sort,自动排序的,一般不用。

列表框不可以在属性中设置列表的内容,必须通过控件变量调用函数来初始化。

int AddString( LPCTSTR lpszItem ); 该函数用来往列表框中加入字符串,其中参数lpszItem指定了要添加的字符串(可以在对话框的初始化函数中进行列表框的初始化,但有一点UpdateData(false);//别忘了加上)int InsertString( int nIndex, LPCTSTR lpszItem );该函数用来在列表框中的指定位置插入字符串.参数nIndex给出了插入位置(索引),如果值为-1,则字符串将被添加到列表的末尾.参数lpszItem指定了要插入的字符串i nt DeleteString( UINT nIndex );该函数用于删除指定的列表项,其中参数nIndex指定了要删除项的索引.函数的返回值为剩下的表项数目void ResetContent( ); 该函数用于清除所有列表项int GetText( int nIndex, LPTSTR lpszBuffer ) const;void GetText( int nIndex, CString& rString ) const;用于获取指定列表项的字符串.参数nIndex指定了列表项的位置.参数lpszBuffer 指向一个接收字符串的缓冲区,即把得到的内容复值到lpszBuffe中int GetCurSel( ) const;该函数仅适用于单选择列表框,用来返回当前被选择项的位置int SetCurSel( int nSelect );该函数仅适用于单选择列表框,用来选择指定的列表项.该函数会滚动列表框以使选择项可见.参数nIndex指定了列表项的位置9.树形视图:一般属性设置只要改ID和就好,这三个选项是有关树的一些形状(一般都选),大家可以试试用于不用有什么不同。

树形视图有很多消息处理函数,比如⏹树形控件NM_CLICKEDNM_RCLICKEDNM_SETFOCUS⏹树结点TVN_SELCHANGEDTVN_ITEMEXPANDEDTVN_DELETEITEM但有一个比较常用,就是TVN_SELCHANGED,设置方法View->ClassWizard 弹出的窗口,“Message Map”tab页可以设置生成消息处理函数。

先掌握这个就可以(暂时)此函数在树的结点被单击后会被调用,比如ppt的例子,可以在树中选择名字,然后传给编辑框。

通控件变量可以调用此类的很多函数:(1)插入/删除结点HTREEITEM InsertItem(LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST );(HTREEITEM可以当成类名,声明对象时要用。

例如HTREEITEM root=m_tree1.InsertItem("此处直接写入字符串就可以,也可以是字符串数组”),m_tree1.InsertItem("张三",root),在root下面插入张三这个孩子,可以参考ppt的例子)BOOL DeleteItem( HTREEITEM hItem );BOOL DeleteAllItems( );(2)获取选中的结点HTREEITEM GetSelectitem();(很多函数可以就从它的名字猜出它的大概用法)(3)设置/获取已知结点的标题CString GetItemText(HTREEITEM hitem)BOOL SetItemText( HTREEITEM hItem, LPCTSTR lpszItem );例:HTREEITEM hitem = m_tree1.GetSelectedItem();m_edit = m_tree1.GetItemText(hitem);//把得到的内容给m_edit(4)获取结点之间的关系BOOL ItemHasChildren(HTREEITEM hItem);HTREEITEM GetChildItem(HTREEITEM hItem)HTREEITEM GetNextSiblingItem(HTREEITEM hItem)例:HTREEITEM hitem = m_tree1.GetSelectedItem();if (m_tree1.ItemHasChildren(hitem)){HTREEITEM hNext;HTREEITEM hChild= m_tree1.GetChildItem(hitem);while (hChild!= NULL){hNext = m_tree1.GetNextSiblingItem( hChild);m_tree1.DeleteItem(hChild);hChild = hNext;}}(5)结点展开/收缩BOOL Expand( HTREEITEM hItem, UINT nCode );ncode的取值:TVE_COLLAPSETVE_COLLAPSERESETTVE_EXPANDTVE_TOGGLE例:m_tree1.Expand(root,TVE_EXPAND);root为前面定义的一个根目录,表示树的结点展开(初始化)10.列表视图:有四种格式显示数据大图标格式(Large Icons).可逐行显示多列表项,图标的大小可由应用程序指定,通常是32×32像素,在图标的下面显示标题.∙小图标格式(Small Icons).可逐行显示多列表项,图标的大小可由应用程序指定,通常是16×16像素,在图标的右面显示标题.表项以行的方式组织.∙列表格式(List).与小图标格式类似.不同之处在于表项是逐列多列显示的.∙报告格式(Report或Details).每行仅显示一个表项,在标题的左边显示一个图标,表项可以不显示图标而只显示标题.表项的右边可以附加若干列子项(Subitem),子项只显示正文.在控件的顶端还可以显示一个列表头用来说明各列的类型.列表视图的报告格式很适合显示报表(如数据库报表).∙大家可以自己试试看,就知道每一种的不同了。

相关文档
最新文档