基本控件类
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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,自动排序的,一般不用。
列表框不可以在属性中设置列表的内容,必须通过控件变量调用函数来初始