收藏 分享(赏)

vc++mfc控件知识点.doc

上传人:cjc2202537 文档编号:1411934 上传时间:2018-07-14 格式:DOC 页数:15 大小:113.50KB
下载 相关 举报
vc++mfc控件知识点.doc_第1页
第1页 / 共15页
vc++mfc控件知识点.doc_第2页
第2页 / 共15页
vc++mfc控件知识点.doc_第3页
第3页 / 共15页
vc++mfc控件知识点.doc_第4页
第4页 / 共15页
vc++mfc控件知识点.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、1 按钮控件 .12.复选框控件 .23.进度条控件 .34.编辑框控件 .45图像控件 .56 列表框控件 .67列表(视图)控件 .78图像列表控件 ImageList .89颜色对话框 .910树视图控件 .1011标签控件 TapControl .1112 滑块控件 .1214 字体对话框 .1315 静态文本控件 .1416 组合框控件(ComboBox ) .151 按钮控件1.1 如何使用按钮控件方法是双击编辑对话框按钮图标,之后就进入了这个按钮单击的处理函数,在这里,你可以添加按钮单击后要做的事是什么.1.2 如何让按钮显示图标样式首先进入 ResourceView 里,然后右

2、击 Icon 选择插入,之后选择你要的图标,假设这个图标的 ID 名为 IDI_ICON2,那么下一步,就是进入对话类中的 OnPaint()函数,并在 else里面添加如下语句:m_Quit.SetIcon(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON2);注:m_Quit 为要显示图标按钮的关联类;还要说明的是,必须把按钮属性样式里把图标的构给打上才行,要不然是无法显示图标的。13 如何让按钮显示文本信息先要在对话框添加一个 CToolTipCtrl 类的对象,如:CToolTipCtrl m_ToolTip;然后在 On

3、InitDialog 添加以下语句:m_ToolTip.Create(this);m_ToolTip.AddTool(/m_Confirm 为要显示文本按钮关联的类对象然后在类视图窗口中右击对话框类,在弹出的菜单中选择 Add Virtual Funtion,然后再双击PreTranslateMessage;添加右边窗口中去,这样便增加了一个方法,在此方法中添加以下语句m_ToolTip.RelayEvent(pMsg);既可;2.复选框控件2.1 如何使用复选框控件复选框控件是有一个 X 的图标,比如是三个复选框吧,首先各为三个复选框关联一个控件类,比如是 m_Vip,m_Manager,m

4、_Commoner;那么调用 m_Vip.GetCheck();返回的是一个整数,如果返回值等于 BST_CHECKED;那么此类关联的复选框控件就被选中了。如果要获取此类关联控件的文本信息就用 m_Vip.GetWindowText(Modal);其中 Modal 是一个 CString 类的对象,跟 Edit 是差不多的,存储有信息。3.进度条控件3.1 如何使用进度条控件先为控件关联一个类,如 m_Progress;那么先要为进度条的控件设定一个范围,比如设定099999;就用 SetRange32()函数。如:m_Progress.SetRange32(0,99999);这样,当调用m

5、_Progress.SetPos(50000);时,进度条就会显示在一半左右。要显示就是不停的调用。编辑显示,似乎要 SetWindowText,UpdateData 不行。也好像只是静态控件才可以显示;4.编辑框控件4.1 编辑框数据的输出与获取编辑框数据的输出与获取有两种方法,第一种,为编辑框关联一个 CONTROL 类型的类,假如是 m_OutResult,那么要获取数据,就先定义一个 CString 类的对象,假如为 m_Data;那么m_OutResult.GetWindowText(m_Data);此时,m_Data 就存储有编辑框里的内容。输出就用SetWindowText 函数

6、,如 CString m_Data=”abcdefg”;m_OutResult.SetWindowText(m_Data);或者把括号里的 m_Data 换成“abcdefg”;第二种方法是直接为编辑框关联一个 VALUE 的类型,有 CString,double,int 等等类型,假如为 CString 类型,名也为 OutResult;此时如果要获取该编辑框信息就调用UpdateData(FALSE);调用之后,OutResult 就存储有编辑框里的信息了。如果要输出的话;比如要输出”abcdefg”;那么就是下面语句:OutResult=”abcdefg”;UpdateData(TRUE

7、);这样就更新数据到编辑框里了,可以推断,如果编辑框里只是 int 类型,那么就选 int;而 double 就是 double;42 如何进行换行输出右击编辑框,选择属性,然后在样式里把多行的勾给打上,这样,只要输出字符串里有rn,就可以了,也就是说,只要遇到这两具转义字符,就进行换行。43 如何响应编辑输入数字消息就是如果在编辑输入值,就会立即执行相应的函数,方法,是添加这个编辑控件 ID 的 OnChange 消息函数编辑框字体和颜色的设置设置字体首先添加一个编辑控件,关为其关联一个对象如:m_Content;然后在对话框定义一个类字体对象如:CFont m_EditFont;这样在对话

8、框初始部分添加以下语句:m_EditFont.CreateFont(24,20,0,0,400,0,0,0,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,600,DEFAULT_PITCH,“宋体“);m_Content.SetFont(关于函数参数的意思,在 VC+编译器里,输入参数的时候,会有提示的。好好研究一下;162 设置颜色添加一个对话框 WM_CTLCOLOR 消息处理函数,然后就在这个函数里添加以下语句:if(nCtlColor=CTLCOLOR_EDIT)pDC-SetTextColor(RGB(255,0,0);

9、就可以了,我想你应该明白语句的意思;5图像控件51 如何使用图像控件先得插入一个位图文件,似乎只支持 256 色及其以下的图片,方法是:切换到RESOURCEVIEW 窗口右击 ICON 选择插入再选择 BITMAP 接着按引入。按了之后,就多出了个 BITMAP 文件,看一下你插入位图的 ID,之后再到对话框中,右击图像框,选择属性。在类型选项框里选择位图,再在下面那个图像选项框选择要显示位图的 ID,就行了。52 如何动态加载位图先为图像控件关联一个类,图像控件属性对话框里的类型选择位图。注:由于默认是静态ID 所以得改一个 ID 名才行,类名为 m_Bmp;之后在按钮单击事件加入以下语句

10、:CFileDialog flDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,“位图|*.bmp|“);/文件对话框类对象if(flDlg.DoModal()=IDOK)/显示文件对话框CString szBmpName;szBmpName=flDlg.GetPathName();/获取选择路径名,如位图,文本。HBITMAP hOldBmp=m_Bmp.SetBitmap(HBITMAP)LoadImage(NULL,szBmpName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);/加载位图文件Delet

11、eObject(hOldBmp);/释放位图文件资源6 列表框控件61 如何使用列表框控件要往列表框控件添加内容有两个函数一个是 AddString();另一个是 InsertString();第一个函数只有一个参数,而第二个有两个。首先要为列表框控件关联一个 control 类,这里我们取名为 m_DataList;如果我要控件框显示内容为数学,语文,英语,那么就是m_DataList.AddString(“数学”);m_DataList.AddString(“语文”);m_DataList.AddString(“英语”);那么这时候从上到下的排列没有按照语句的先后进行排列,如果要想按照语句

12、的先后顺序进行排列的话,则只要进入控件的属性,选择样式,把分类的勾给去掉,就可以了。如果我想再加一个内容呢,并要排在第二位,要怎么做呢?那就得用第二个函数呢,比如我要加一个程序,则 m_DataList.InsertString(2,”程序”); 就可以了。那么要如何获得用户选择的内容呢,这里获取方法,跟组合框一样,用 Index=GetCurSel();返回用户当前选择内容的索引,然后调用 m_ListBox.GetText(Index,csSubject);/获得索引的内容,第二个参数为 CString我们发现,上面的这种只可以单选。如果有多选要怎么做呢?又有两种方法。第一种,把 m_Da

13、taList 改为 CCheckListBox 类的对象。然后再在控件的属性对话框中把所有者绘制选择固定,把下面那个有字符串的勾给打上。而第二种就更简单了,只要把属性对话框的 选择 选上 多个 就行,这里要注意了,下面那个所有绘制要选 NO。但要如何获得哪些内容被选定呢?似乎列表不像复选框,可以为每一个内容关联一个类,所以,要想获取选择了哪此内容必须得知道有多少个内容,这里用 GetCount();函数就可以了,函数返回的是一个整型值。如:int ListCount=m_DataList.GetCount();for(i=0;iFillRect(CRect(0,0,50,20),10树视图控件

14、101 如何使用树图控件先为视图关联一个类,名为 m_OrgInfo;再在对话框增加一个图像列表控件的对象成员。如:CImageList m_ImageList; 然后再在 OnInitDialog 函数插入以下语句:m_ImageList.Create(24,24,ILC_COLOR24|ILC_MASK,1,1);m_ImageList.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON1);m_ImageList.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(I

15、DI_ICON2);m_ImageList.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON3);m_OrgInfo.SetImageList(HTREEITEM hProvince=m_OrgInfo.InsertItem(“吉林省“,0,0);/0,0 根结点HTREEITEM hTown=m_OrgInfo.InsertItem(“松原市“,1,1,hProvince);/*1 ,1 子结点,第二,属于 hProvince;*/m_OrgInfo.InsertItem(“白城市 “,1,1,hProvince);/同上m_OrgInfo.InsertItem(“怀化市 “,2,2,hTown);/2.2 子结点,第三,属于 hTownm_OrgInfo.InsertItem(“湖南省 “,0,0);/根结点

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报