基本控件类
- 格式:doc
- 大小:71.00 KB
- 文档页数:7
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详解原⽂转载于: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; // 所得所在的独⽴窗⼝当然,如果窗⼝本⾝就是独⽴窗⼝,那么得到的就是⾃⼰。
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,测量图。
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 是列表框的样式。
第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应用程序进行交互:一个样式一致的用户界面对象——菜单栏。
VB常用控件介绍VB(Virtual Basic)是一种面向对象的编程语言,常用于开发各种图形用户界面(GUI)应用程序。
在VB中,控件是构成用户界面的基本元素,通过控件可以实现用户与程序的交互。
下面是一些常用的VB控件的介绍。
1. 按钮控件(Button):按钮是VB中最常用的控件之一,用于触发一些事件或执行一些动作。
通过设置按钮的文字、大小、位置和事件处理程序,可以实现各种用户交互功能。
3. 文本框控件(TextBox):文本框用于接收用户的输入,并可以将输入的文本保存到变量中。
可以设置文本框的大小、位置、边框样式等属性,并可以通过事件处理程序响应用户输入的变化。
4. 列表框控件(ListBox):列表框用于显示一组选项,并允许用户从中选择一个或多个选项。
可以通过添加和移除选项,以及设置列表框的大小、位置、滚动条等属性来定制列表框的外观和功能。
6. 复选框控件(CheckBox):复选框用于表示一个状态,可以被选中或取消选中。
常用于表示一个二进制选项,比如启用/禁用一些功能。
可以设置复选框的大小、位置、文本等属性,并可以通过事件处理程序获取用户的选择。
7. 单选按钮控件(RadioButton):单选按钮用于表示一组互斥的选项,用户只能选择其中的一个。
常用于表示一个多项选择,比如选择性别。
可以设置单选按钮的大小、位置、文本等属性,并可以通过事件处理程序获取用户的选择。
8. 进度条控件(ProgressBar):进度条用于显示任务的进度,可以根据任务的完成情况来改变进度条的长度和显示。
可以通过设置进度条的最小值、最大值、当前值等属性,以及处理进度改变的事件来定制进度条的功能。
9. 图像框控件(PictureBox):图像框用于显示图像或图表,可以加载本地或网络上的图像文件,并可以设置图像框的大小、位置等属性。
可以通过处理鼠标点击、鼠标移动等事件来实现与图像相关的交互功能。
10. 文件对话框控件(FileDialog):文件对话框用于让用户选择文件或保存文件,可以通过设置对话框的类型、过滤条件、默认目录等属性来限制用户的选择范围,并可以通过事件处理程序获取用户选择的文件路径。
VB基本控件的属性,方法经及事件所有控件都具有的属性:1、Name: 表示在代码中用来标识一个控件的名字。
2、Enabled: 表示一个控件是否可以响应一个事件,即该控件可不可用。
值为true: 可以响应;值为false: 不可以看见。
3、Visible: 表示一个控件是否可见。
值为true:可以看见;值为false: 不可以看见。
所有控件都有具有的事件:1、KeyDown : 当用户按下键盘上一个键时发生的。
2、KeyUp : 在用户松开键盘上按下的键时发生的。
3、KeyPress : 在Key Down和Key Up事件之间发生。
4、MouseDown : 在鼠标被按下时触发的。
5、MouseUp :在用户松开鼠标键时发生的。
6、Click :在用户单击鼠标左键时发生的。
7、DblClick :在用户双击鼠标时发生的。
一、窗体(Form)属性:1、Caption: 表示窗体标题栏的文字。
2、BorderStyle: 一般情况下为默认值,若更改为下列值:1)值为0:没有窗体标题栏2)值为1:窗体运行之后不能改变大小3、WindowState: 设置窗体的大小。
3)值为0:窗体正常大小4)值为1:窗体最小化值为2:窗体最大化4、BackColor: 表示窗体的背景颜色事件:1、Initialize(初始化事件): 在窗体加载和显示之前触发,这个事件只触一次。
2、Load(加载事件): 用来完成窗体显示之前需要完成的动作。
3、Activate/Deactivate (激活/非激活事件):是用户在同一个应用程序的两个或多个窗体之间移动时触发的。
4、QueryUnload(条件卸载事件): 决定窗体是如何关闭的。
触发QueryUnload事件时Unload 的参数和因素有:1)Vb FormControlMenu值为0 :选中窗体控件菜单中的Close命令。
2)Vb FormCode值为1 :从代码中调用Unload 语句。
extjs基本控件1.Ext xtype类型Ext xtype类型xtypeClass------------- ------------------box Ext.BoxCom ponen t 具有边框属性的组件button Ext.Button按钮colorp alett e Ext.ColorP alett e 调色板compon ent pon ent组件contai ner Ext.Contai ner容器cycle Ext.CycleB uttondatavi ew Ext.DataVi ew 数据显示视图datepi cker Ext.DatePi cker日期选择面板editor Ext.Editor编辑器editor grid Ext.grid.Editor GridP anel可编辑的表格grid Ext.grid.GridPa nel 表格paging Ext.Paging Toolb ar 工具栏中的间隔panelExt.Panel面板progre ss Ext.Progre ssBar进度条splitb utton Ext.SplitB utton可分裂的按钮tabpan el Ext.TabPan el选项面板treepa nel Ext.tree.TreePa nel 树viewpo rt Ext.ViewPo rt 视图window Ext.Window窗口工具栏组件有---------------------------------------toolba r Ext.Toolba r工具栏tbbutt on Ext.Toolba r.Button按钮tbfill Ext.Toolba r.Fill文件tbitem Ext.Toolba r.Item工具条项目tbsepa rator Ext.Toolba r.Separa tor工具栏分隔符tbspac er Ext.Toolba r.Spacer工具栏空白tbspli t Ext.Toolba r.SplitB utton工具栏分隔按钮tbtext Ext.Toolba r.TextIt em工具栏文本项表单及字段组件包含:---------------------------------------form Ext.FormPa nel Form面板checkb ox Ext.form.Checkb ox checkb ox录入框comboboB ox combo选择项datefi eld Ext.form.DateFi eld日期选择项fieldExt.form.Field表单字段fields et Ext.form.FieldS et表单字段组hidden Ext.form.Hidden表单隐藏域htmled itor Ext.form.HtmlEd itorhtml编辑器number field Ext.form.Number Field数字编辑器radio Ext.form.Radio单选按钮textar ea Ext.form.TextAr ea区域文本框textfi eld Ext.form.TextFi eld表单文本框timefi eld Ext.form.TimeFi eld时间录入项trigge r Ext.form.Trigge rFiel d触发录入项如果要使输入域为密码类型可以使用inputT ype: 'passwo rd'如果:{xtype:'textfi eld',inputT ype: 'passwo rd',fieldL abel:'密码',name: 'PASSWO RD',allowB lank:false,anchor:'95%'}2.Ext.form.TextFi eld组件//这里是把Te xtFie ld很重要的属性列出来实际在应用的时候不需要将每个属性都列出也许只需要一个属性就够了。
vfp中的控件的名词解释Visual FoxPro(VFP)是一种流行的面向对象的数据库管理系统,它提供了丰富的功能和控件,用于开发各种Windows应用程序。
控件是VFP中的重要组成部分,它们可以帮助开发人员创建直观、可交互的界面,并实现各种功能。
I. 基本控件1. 文本框(Textbox)文本框是常见的控件之一,用于接收和显示文本或数字。
开发人员可以设置文本框的属性,例如字体、颜色、对齐方式等。
文本框可以用于输入用户信息、显示计算结果等。
2. 按钮(Button)按钮是用于触发特定操作的控件,如保存、删除、打印等。
通过按钮的点击事件,开发人员可以编写相关的代码来执行相应的操作。
按钮通常具有自定义的标签文本,便于用户理解和操作。
3. 复选框(Checkbox)复选框用于选择一个或多个选项,多用于设置一组选项中的多个状态。
开发人员可以设置复选框的默认选中状态,并在代码中访问和处理用户选择的状态。
4. 单选按钮(Radio Button)单选按钮类似于复选框,但只能选择一个选项。
通常,单选按钮用于在一组互斥的选项之间进行选择。
通过设置单选按钮的默认选中状态和相关事件处理,开发人员可以实现不同选项的交互。
II. 数据输入控件1. 列表框(Listbox)列表框用于显示选项列表,并允许用户从中选择一项或多项。
开发人员可以自定义列表框的选项内容,并通过代码进行选择项的读取和处理。
2. 组合框(Combobox)组合框结合了文本框和列表框的功能,用户可以选择预定义的选项,也可以自由输入。
组合框常用于需要用户输入或选择预定义选项的场景。
3. 日历控件(Calendar)日历控件用于选择日期,并提供了用户友好的界面来显示、选择和操作日期。
开发人员可以根据需要设置日历控件的样式和功能。
III. 数据显示控件1. 标签(Label)标签用于显示静态文本,通常用于标识其他控件或提供相关的说明信息。
开发人员可以设置标签的字体、颜色和位置等属性,以便于用户理解和处理。
关于我个人对控件的几点总结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),子项只显示正文.在控件的顶端还可以显示一个列表头用来说明各列的类型.列表视图的报告格式很适合显示报表(如数据库报表).∙大家可以自己试试看,就知道每一种的不同了。