mfc对话框程序中的各组件常用方法

mfc对话框程序中的各组件常用方法

ID:32585508

大小:64.29 KB

页数:8页

时间:2019-02-13

mfc对话框程序中的各组件常用方法_第1页
mfc对话框程序中的各组件常用方法_第2页
mfc对话框程序中的各组件常用方法_第3页
mfc对话框程序中的各组件常用方法_第4页
mfc对话框程序中的各组件常用方法_第5页
资源描述:

《mfc对话框程序中的各组件常用方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、MFC对话框程序中的各组件常用方法:StaticText:将ID号改成唯一的一个,如:IDC_XX,然后进一次类向导点确定产生这个ID,之后更改Caption属性:GetDlgItem(IDC_XX)->SetWindowText(LndsgdhfgdffdH);设置字体:CFont*pFont=newCFont;pFont->CreatePointFont(120,_T(”华文行楷”));GetDlgItem(IDC_XX)->SetFont(pFont);EditControl:设置文本:SetDlgItemText(IDC_XX,L,'iuewurebfdjf

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

3、;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方法用于格式化字符串。AfxMessageB

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

5、age(WM_VSCROLL,SB_BOTTOM,0);注:作密码使用,设置密码掩码字符用SetPasswordChaif*。方法。5•如何限制edit输入指定字符创建一个CEdit的子类,自动化,并创建子类的WM.CHAR类型的消息:voidCyxEdit::OnChar(UINTnChar,UINTnRepCnt,UINTnFlags){//TODO:在此添加消息处理程序代码和/或调用默认值if((nChar>=*0&&nCharv=9)

6、

7、(nChar>=&&nChar<=*f)

8、

9、(nChar>=A&&nChar<=fF)

10、

11、nChar==VK_BACK

12、

13、

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

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

16、CFM.COLOR

17、CFM_FA

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

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

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