MFC控件使用方法

MFC控件使用方法

ID:37711813

大小:24.28 KB

页数:9页

时间:2019-05-29

MFC控件使用方法_第1页
MFC控件使用方法_第2页
MFC控件使用方法_第3页
MFC控件使用方法_第4页
MFC控件使用方法_第5页
资源描述:

《MFC控件使用方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

2、_XX)->SetFont(pFont);EditControl:设置文本:SetDlgItemText(IDC_XX,L"iuewurebfdjf");获取所有输入:建立类向导创建一个成员变量(假设是shuru1,shuru2……)类型选value,变量类型任选。UpdateData(true);GetDlgItem(IDC_XX)->SetWindowText(shuru1);第一句更新所有建立了变量的对话框组件,获取输入的值。第二句将前面的IDC_XX的静态文本内容改为shuru1输入的内容。若类型选用control:1.设置只读属性:shuru1.SetReadOnl

3、y(true);2.判断edit中光标状态并得到选中内容(richedit同样适用)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);}其中nS

4、tart和nEnd分别表示光标的起始和终止位置,从0开始。strTemp.Format方法用于格式化字符串。AfxMessageBox(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

5、.ReplaceSel(str);4.随输入自动滚动到最后一行(richedit同样适用)shuru1.PostMessage(WM_VSCROLL,SB_BOTTOM,0);注:作密码使用,设置密码掩码字符用SetPasswordChar('*')方法。5.如何限制edit输入指定字符创建一个CEdit的子类,自动化,并创建子类的WM_CHAR类型的消息:voidCyxEdit::OnChar(UINTnChar,UINTnRepCnt,UINTnFlags){//TODO:在此添加消息处理程序代码和/或调用默认值if((nChar>='0'&&nChar<='9')

6、

7、(

8、nChar>='a'&&nChar<='f')

9、

10、(nChar>='A'&&nChar<='F')

11、

12、nChar==VK_BACK

13、

14、nChar==VK_DELETE)//msdn的virtualkey{CEdit::OnChar(nChar,nRepCnt,nFlags);}}如果在对话框程序中不能正常接收消息,则还需要重载虚函数PreTranslateMessage:BOOLCMFCApplication3Dlg::PreTranslateMessage(MSG*pMsg){//TODO:在此添加专用代码和/或调用基类SendMessage(pMsg->message,p

15、Msg->wParam,pMsg->lParam);returnCDialogEx::PreTranslateMessage(pMsg);//或return0;}这样才能正常接收VM_CHAR消息。6.如何使用richedit添加AfxInitRichEdit();CxxxApp::InitInstance(){AfxInitRichEdit();.............}注意:如果不添加该方法,可能会造成对话框无法生成或启动,程序闪退等现象。7.改变richedit指定区域的颜色及字体CHARFOR

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。