当前位置:编程学习 > C/C++ >>

用MFC的Edit控件显示日志

1、添加控件,设置控件属性:勾选Multiline、Want return 、Read-only
2、class wizard 添加控件成员变量 CEdit m_logctrl
3、添加日志:添加CString成员 CString m_Log
在事件响应函数中,添加日志的代码,并将添加到日志末尾最新的内容在控件的底部更新显示:
[cpp] 
UpdateData(TRUE);  
m_log += "操作演示开始";  
m_log += "\r\n";  
m_logctrl.SetWindowText(m_log);  
//m_logctrl.SetScrollPos(SB_VERT,m_logctrl.GetLineCount(),TRUE);  
m_logctrl.LineScroll(m_logctrl.GetLineCount());  
UpdateData(FALSE);  
4、注意事项:
①CString类型的m_log不能直接用class wizard 或者直接改ddx代码关联到日志的CEdit控件,不然会出现滚动条设置到底部后又一闪到顶部
②不能用注释行的m_logctrl.SetScrollPos(SB_VERT,m_logctrl.GetLineCount(),TRUE);设置滚动条的位置。此方易做图导致滚动条虽然到最低端了,但是控件的内容并没有到最低端,仍停留在原位置
③使用"\r\n"回车换行,而不能直接用"\n"
④在用m_log和m_logctrl关联一个edit控件时,在UpdateData(TRUE)之前,不论m_log做了何种修改,m_log都将会重新置为控件内真正包含的内容。UpdateData(TRUE)用于从控件中同步内容到程序;UpdateData(FALSE)用于从程序中同步内容到控件。
 
补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,