CEdit换行和GetLine乱码
来源:互联网 发布:matlab软件介绍 编辑:程序博客网 时间:2024/06/05 15:38
CEdit换行和GetLine乱码
- CEdit换行:
继承自CEdit的类中处理PreTranslateMessage可换行,类似于:
BOOL CNewEdit::PreTranslateMessage(MSG* pMsg) { if (pMsg->message == WM_KEYDOWN) { if (pMsg->wParam == VK_RETURN) { if (GetFocus() == this)//焦点在当前控件时发送一个'\n'消息 { SendMessage(WM_CHAR, '\n', 1); return TRUE; } } } return CEdit::PreTranslateMessage(pMsg);}
创建时需要指定ES_MULTILINE和ES_WANTRETURN 风格:
m_newEdit.Create(WS_CHILD|WS_VISIBLE|ES_MULTILINE|ES_LEFT|WS_BORDER|ES_WANTRETURN ,m_rcRect,pWnd,1);
- CEdit::GetLine乱码:
CEdit::GetLine获取某一行的数据时有时候得到的是乱码,
TEXTMETRIC tm; dcMem.GetTextMetrics(&tm);//获取字体信息 int nTxtHieht = (tm.tmHeight /*+ tm.tmExternalLeading*/); int i, nLineCount = pCurText->get_m_newEdit().GetLineCount();//行数量 CString strText, strLine; TCHAR lineTextBuf[2048] = {0}; int nCy = rcPos.top; for (i = 0; i < nLineCount; i++, nCy += nTxtHieht)//多行 { int lineIndex = pCurText->get_m_newEdit().LineIndex(i);//Index错误时返回-1 if (lineIndex == -1)//index error continue; int lineLen = pCurText->get_m_newEdit().LineLength(lineIndex);//Index错误时返回0 if (lineLen == 0)//zero length continue; memset(lineTextBuf, 0, 2048); int lineBufLen = pCurText->get_m_newEdit().GetLine(i, lineTextBuf, 2048);//返回值是真正复制的长度,但是不会复制结尾符 if (lineBufLen == 0)//buflen continue; lineTextBuf[lineBufLen] = 0;//GetLine函数不会加上结尾符,需要自己加上 The copied line does not contain a null-termination character.//https://msdn.microsoft.com/en-us/library/7775836w(v=vs.100).aspx strText = lineTextBuf; dcMem.TextOut(rcPos.left, nCy, strText); }
阅读全文
0 0
- CEdit换行和GetLine乱码
- CEdit的"\r\n"不换行和自动换行问题
- CEdit::GetLine 在Win7上返回字符串乱码问题的解决方案 CEdit::GetLine (MFC, VC++6) returns extra characters in Windows
- [MFC][CEdit][基本函数]CEdit::GetLine与CEdit::LineIndex
- 在CEdit中换行
- CEdit控件中换行
- CEdit换行输入
- CEdit中输出换行
- MFC中CEdit多行情况下,调用GetLine()时,发现老是后面跟有乱码【转载】
- cin 输入空格符和 getline() 忽略开头换行符
- CEdit控件自动换行显示
- MFC CEDIT自动换行设置
- getline和cin.getline
- getline()忽略开头换行符
- MFC中CEdit控件的换行输入
- MFC中CEdit控件的换行输入
- MFC中CEdit控件的换行输入
- MFC中CEdit控件的换行输入
- mysql 创建数据库和表的相关操作
- 2017年11月21日学习总结__关于函数的定义的说明以及递归函数
- 编写函数,判断year是否为闰年,若是则返回1,否则返回0
- 查询历史表和当前出现的问题
- 171121 Differences between the L1-norm and the L2-norm
- CEdit换行和GetLine乱码
- 自学与复习设计模式笔记(2)单例模式
- 对象跟字符串相互转换
- Hadoop完全分布式安装Kafka
- Dagger2解耦简易版
- 浅谈HTML
- Linux下tomcat配置图片访问路径
- 使用Java制作图文验证码
- 工作笔记--UI部分