- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CEdit CRichEdit使用技巧??? ??? ??? ??? ??? ??? ??? ??? 【原】CEdit CRichEdit使用技巧作者:lixiaosan日期:04/07/2006注:??????? m_edit1代表ID为IDC_EDIT1的CEdit控件的control类型的变量??????? m_richedit1代表ID为IDC_RICHEDIT1的CRichEditCtrl控件的control类型的变量1.设置edit只读属性??? 方法一:??????????????? m_edit1.SetReadOnly(TRUE);??? 方法二:??????????????? ::SendMessage(m_edit1.m_hWnd, EM_SETREADONLY, TRUE, 0);2.判断edit中光标状态并得到选中内容(richedit同样适用)??????? intnStart, nEnd;??????? CStringstrTemp;??????? m_edit1.GetSel(nStart, nEnd);??????? if(nStart == nEnd)??????? {??????????? strTemp.Format(_T(光标在%d), nStart);??????????? AfxMessageBox(strTemp);??????? }??????? else??????? {??????????? //得到edit选中的内容???????????????? m_edit1.GetWindowText(strTemp);??????????? strTemp = strTemp.Mid(nStart) - strTemp.Mid(nEnd);??????????? AfxMessageBox(strTemp);???????? }??? 注:GetSel后,如果nStart和nEnd,表明光标处于某个位置(直观来看就是光标在闪动);???????????? 如果nStart和nEnd不相等,表明用户在edit中选中了一段内容。3.在edit最后添加字符串??????? CStringstr;??????? m_edit1.SetSel(-1, -1);??????? m_edit1.ReplaceSel(str);4.随输入自动滚动到最后一行(richedit同样适用)??? 方法一:(摘自msdn)??????? // The pointer to my edit.??????? extern CEdit* pmyEdit;??????? intnFirstVisible = pmyEdit-GetFirstVisibleLine();??????? // Scroll the edit control so that the first visible line??????? // is the first line of text.??????? if (nFirstVisible 0)??????? {??????????? pmyEdit-LineScroll(-nFirstVisible, 0);??????? }??? 方法二:??????? m_richedit.PostMessage(WM_VSCROLL, SB_BOTTOM, 0);5.如何限制edit输入指定字符?? 可以从CEdit派生一个类,添加WM_CHAR消息映射。下面一个例子实现了限定输入16进制字符的功能。?? void CMyHexEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)???? {???????? if ( (nChar = 0 nChar = 9) ||???? ???????? (nChar = a nChar = f) ||???? ???? ? ? (nChar = A nChar = F) ||???? ????????? nChar == VK_BACK ||??????????????? nChar == VK_DELETE)??? //msdn的virtual key?????? {???? ??????? CEdit::OnChar(nChar, nRepCnt, nFlags);???????? }??? ??? }6.如何使用richedit??? 添加AfxInitRichEdit();?????? CxxxApp::InitInstance()??????? {???????????? AfxInitRichEdit();????????? .............?????? }?? Afx
您可能关注的文档
- 勇进路路灯采购招标文件(含税).doc
- 11软工计算机网络试卷A卷答案-.doc
- 实验14 指针(3).doc
- CString工作原理.docx
- 【医学英语】中医术语3.docx
- 日语50基础音节.docx
- errpt 查看错误日志.docx
- 经营指标核算方法.docx
- 2013年完美世界校园招聘笔试题.docx
- 关于10人龙母攻略几个关键点.docx
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
- DB62T 4172-2020 玉米品种 酒623规范.pdf
- DB62T 4160-2020 在用真空绝热深冷压力容器综合性能在线检测方法.pdf
- DB62T 4164-2020 辣椒品种 酒椒1号.pdf
- DB62T 4133-2020 公路隧道地质超前预报机械能无损探测技术规程.pdf
文档评论(0)