MFC 多行文本显示心得
2024-08-30 06:36:19
最近在利用MFC做端口扫描器实验,其中涉及CString、char、int等之间的转换、文本框的多行显示问题、总是显示底层最新结果等问题,下面写一些我总结的相关方法。
一、CString 转 char *
void CS_to_ch(char mess[], CString str) { //CString to char
char *pbuff = (char *)str.GetBuffer(str.GetLength());
char one = pbuff[];
char two = pbuff[];
int i = ;
for (; i < str.GetLength(); i++) {
mess[i] = pbuff[i * ];
}
mess[i] = '\0';
}
这样就可将cstring转为char*
char* 转cstring 更为简单
char s[]="hello";
CString str = s;
int 转 cstring
int i = ;
CString str;
str.Format(_("%d"), i);
二、文本框的多行显示
文本框输出的方法有很多,这里介绍其中一种方法。
首先为我们的edit control关联变量,类型选择value,名称自取,假设为Cedit,首先接受一行输出:
Cedit =_T("hello");
UpdateData(FALSE);
_T()代表用unicode字符集编码,具体不做阐述。
如果多行输出,首先需要设置edit control的属性:
Multiline 设为 True;
Horizontal Scroll 和Vertical Scroll及Want return 均设为true;
然后,
Cedit ="hello";
Cedit =Cedit + "\r\n" +"world";
UpdateData(FALSE);
即可多行输出。
实现底部更新只需一行代码:(首先为edit control设置关联变量,类型为控件,名字自取,假设为m_edit)
UpdateData(FALSE);
m_edit.LineScroll(m_edit.GetLineCount() - , );
最新文章
- markdown简要说明显示样式
- C# 构建XML(简单示例)
- Lae程序员小漫画(三),仅供一乐
- xmpp整理笔记:用户网络连接及好友的管理
- 手机抓包-fiddler
- IOS socket开发基础
- linq lambda 分组后排序
- padding当高度用时出现的问题
- JVM运行和类加载过程
- Python内置函数(6)——round
- 实践详细篇-Windows下使用VS2015编译安装Caffe环境(CPU ONLY)
- Oracle DBA 必须掌握的 查询脚本:
- 立一个Flag吧
- WPF BackGroundWord 异步加载更新进度条示例
- Floyd最短路(带路径输出)
- 深入理解 MySQL ——锁、事务与并发控制
- webpack+avalon+mmState打包方案
- WordPress主题开发:网站搜索
- C语言 &#183; 交换Easy
- liunx trac 安装记录