资源描述:
《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