MFC控件使用方法

上传人:桔**** 文档编号:401156043 上传时间:2023-12-24 格式:DOC 页数:9 大小:59KB
返回 下载 相关 举报
MFC控件使用方法_第1页
第1页 / 共9页
MFC控件使用方法_第2页
第2页 / 共9页
MFC控件使用方法_第3页
第3页 / 共9页
MFC控件使用方法_第4页
第4页 / 共9页
MFC控件使用方法_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《MFC控件使用方法》由会员分享,可在线阅读,更多相关《MFC控件使用方法(9页珍藏版)》请在金锄头文库上搜索。

1、VC2012MFC分类:VC控件2013-02-1616:3294人阅读评论(0)收藏举报一下控件的用法全部在VC2012下调试通过,特发文收藏(部分内容来自或参考自网络):StatiCText:将ID号改成唯一的一个口:IDC_XX,然后进一次类向导点确定产生这个ID,之后更改Caption属性:GetDlgItem(IDC_XX)-SetWindowText(Ldsgdhfgdffd);设置字体:CFont*pFont=newCFont;pFont-CreatePointFont(120,_T(”华文行楷);GetDlgItem(IDC_XX)-SetFont(pFont);EditCon

2、trol:设置文本:SetDlgItemText(IDC_XX,Liuewurebfdjf);获取所有输入:建立类向导创建一个成员变量(假设是shuru1,shuru2)类型选value,变量类型任选。UpdateData(true);GetDlgItem(IDC_XX)-SetWindowText(shuru1);第一句更新所有建立了变量的对话框组件,获取输入的值。第二句将前面的IDC_XX的静态文本内容改为shuru1输入的内容。若类型选用Control:1. 设置只读属性:shuru1.SetReadOnly(true);2. 判断edit中光标状态并得到选中内容(richedit同样适

3、用)intnStart,nEnd;CStringstrTemp;shuru1.GetSel(nStart,nEnd);if(nStart=nEnd)strTemp.Format(_T(光标在%d),nStart);AfxMessageBox(strTemp);else得到edit选中的内容shuru1.GetWindowText(strTemp);strTemp=strTemp.Mid(nStart,nEnd-nStart);AfxMessageBox(strTemp);其中nStart和nEnd分别表示光标的起始和终止位置,从0开始。strTemp.Format方法用于格式化字符串AfxMe

4、ssageBox(strTemp)显示一个提示对话框,其内容是字符串strTemp。strTemp=strTemp.Mid(nStart,nEnd-nStart)返回一个被截取的字符串,从nStart开始,长度为nEnd-nStart。如果nStart=nEnd说明没有选择文本。注:SetSel(0,-1)表示全选;SetSel(-1,i)表示删除所选。3. 在edit的末尾添加字段:CStringstr;shuru1.SetSel(-1,-1);shuru1.ReplaceSel(str);4. 随输入自动滚动到最后一行(richedit同样适用)shuru1.PostMessage(WM_

5、VSCROLL,SB_BOTTOM,0);注:作密码使用,设置密码掩码字符用SetPasswordChar(*)方法。5如何限制edit输入指定字符创建一个CEdit的子类,自动化,并创建子类的WM_CHAR类型的消息:voidCyxEdit:OnChar(UINTnChar,UINTnRepCnt,UINTnFlags)/TODO:在此添加消息处理程序代码和/或调用默认值if(nChar=0&nChar=a&nChar=A&nCharmessage,pMsg-wParam,pMsg-lParam);returnCDialogEx:PreTranslateMessage(pMsg);/或ret

6、urn0;这样才能正常接收VM_CHAR消息。6.如何使用richedit添加AfxInitRichEdit();CxxxApp:InitInstance()AfxInitRichEdit();注意:如果不添加该方法,可能会造成对话框无法生成或启动,程序闪退等现象。7. 改变richedit指定区域的颜色及字体CHARFORMATcf;ZeroMemory(&cf,sizeof(CHARFORMAT);cf.cbSize=sizeof(CHARFORMAT);cf.dwMask=CFM_BOLD|CFM_COLOR|CFM_FACE|CFM_ITALIC|CFM_SIZE|CFM_UNDERL

7、INE;cf.dwEffects=0;cf.yHeight=12*12;/文字高度cf.crTextColor=RGB(200,100,255);/文字颜色*cf.szFaceName=*_T(隶书);设置字体待定shuru2.SetSel(1,5);/设置处理区域shuru2.SetSelectionCharFormat(cf);8. 设置行间距(只适用于richedit2.0)PARAFORMAT2pf2;pf2.cbSize=sizeof(PARAFORMAT2);pf2.dwMask=PFM_LINESPACING|PFM_SPACEAFTER;pf2.dyLineSpacing=20

8、0;pf2.bLineSpacingRule=4;shuru2.SetParaFormat(pf2);ComboBoxContorl:1. 在编辑状态下点那个控件的向下的三角形,就出冒出来一个可以调高度的东东。将高度调高,否则在执行时会不能显示下拉选项。2. 为combobox添加选项,在编辑状态下选combobox控件的属性,选Data标签,在编辑框中添加选项,选项间用;分割。3. ComboBox.SetCurSel(0)用来设置下拉菜单初始值。4. 常用方法有:xuanzel.ResetContent();清除所有内容xuanzel.AddString(Lfdfjkfdj);添加一项内容

9、xuanze1.GetCurSel();获取选择的行数xuanze1.SetCurSel(1);设置所选行xuanze1.GetWindowTextW(strTemp);/获取文本xuanze1.GetCount();获取总行数xuanze1.DeleteString(1);删除某行xuanze1.lnsertString(1,Ldskjjfjfkds);将行插入到指定位置RadioButton:1. 使用多组:在对话框编辑界面按下Ctrl+D,将单选框按想要的顺序点击,然后把每一组的第一个单选框的Group属性设为true。2. 获取选择状态:每组的第一个单选框ID可以设置一个变量。选择in

10、t型,然后给每个单选框都设置一个BN_CLlCKED事件,在其中改变这组单选框的变量:voidCMFCApplication3Dlg:OnClickedRadio1()danxuan1=1;voidCMFCApplication3Dlg:OnBnClickedRadio2()danxuan1=2;voidCMFCApplication3Dlg:OnBnClickedRadio3()danxuan1=3;3. 快速获取选择的位置(特别是一组中有很多单选框的时候):danxuan2=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO3);该函数返回从单选框IDC_

11、RADIO1到IDC_RADIO3中被选上的ID号,使用时须确保他们在一个组里。注意这里返回的是ID号,即假如IDC_RADIO3所代表的那个单选框被选上了,那么返回的是数字(具体多少看宏定义),所以检查的时候也要判断是否和IDC_RADIO3相等。CheckBox:关联一个BOOL类型的变量MFCEditBrowse:获取文件路径:GetDlgItemTextW(IDC_MFCEDITBROWSE1,strTemp);MFCDateTimePicker:1设置时间控件变量shijian,然后创建一个CTime变量存储时间,并将其转换为字符串。CTimetime;shijian.GetTime

12、(time);CStringstrTime;strTime=time.Format(%Y-%m-%d);/获取到的为日期如:2010-03-05strTime=time.Format(%H:%M:%S);/获取到的为时间如:16:27:332. 获取当前时间并将其转换为字符串:CDateTimeCtrlm_DateItmeCtrl_Time;m_DateItmeCtrl_Time.SetFormat(_T(yyyy-MM-ddHH:mm:ss);CTimeTimeTemp=TimeTemp.GetCurrentTime();m_DateItmeCtrl_Time.SetTime(&TimeTe

13、mp);CStringstrTime;COleDateTimedtTime;strTime=dtTime.Format(_T(%Y-%m-%d%H:%M:%S);3. 将CString转换为COIeDateTime类型:CStringstrTime=_T(2009-08-1111:22:33);COIeVariantVariantTime;VariantTime=strTime;VariantTime.ChangeType(VT_DATE);COIeDateTimeDataTime=VariantTime;shijian.SetTime(DataTime);4. 注意SetTime方法的参数须

14、为指针。设置控件时间为当前时间:shijian.SetTime(&CTime:GetCurrentTime();注:如果该控件的格式是日期,你依然可以通过该控件获取时间,得到的将是当前的时间和该控件设置的日期。(格式为时间时同理。)SIiderControI:1. 常用方法:huakuai.SetRange(0,100);设置范围。另有SetRangeMin和SetRangeMax可分别设置,此项最好在初始化时设置huakuai.SetLineSize(20);按下键盘的上下键或左右键滑动的间隔huakuai.SetPageSize(3);/鼠标点击滑块两侧滑动的间隔huakuai.SetPos(20);设置滑块位置huakuai.SetTicFreq(10);设置刻度频度(仅仅是刻度的频度,不影响最小刻度)。另外,SetTic函数可以在指定的位置设置刻度,而ClearTic函数则清除所有的刻度2. 添加事件:滑块可以用父窗体中的WM_HSCROLL消息(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号