MFC/C++学习系列之简单记录13

MFC/C++学习系列之简单记录13

  • 前言
  • memset
  • List Control
    • 代码
    • 注意
  • 总结

前言

今天记录一下memset和List control 的使用吧!


memset

memset通常在初始化变量或清空内存区域的时候使用,可以对变量设定特定的值。

使用:

  • 头文件:

    C++:#include <cstring>

    C:#include <string.h>

  • 初始化:

cpp 复制代码
int arr[20];
memset(arr, 0, sizeof(arr)); // 将数组初始化为0
  • 清空内存:
cpp 复制代码
int myObject;
memset(&myObject, 0, sizeof(int)); // 清空MyClass对象的内存

清空内存需要注意,只能清空基本类型和POD类型,不能对复杂对象来初始化。对话框数据、控件数据都可以使用来进行初始化。

List Control

列表控件在之前介绍了MSFlexGrid表格的使用,但是MSFlexGrid控件在一些高版本的软件平台中找不到控件,可以尝试用List Control来进行数据输出显示。在添加控件后,需要记得添加控制变量!

代码

cpp 复制代码
	m_list1.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
	
	m_list1.InsertColumn(0, _T("姓名"), LVCFMT_LEFT, 100, 0);
	m_list1.InsertColumn(1, _T("年龄"),  LVCFMT_CENTER, 80, 1);
	m_list1.InsertColumn(2, _T("性别"), LVCFMT_LEFT, 100, 2);

	m_list1.InsertItem(0, _T("小无"));
	m_list1.SetItemText(0, 1, _T("12"));
	m_list1.SetItemText(0, 2, _T("男"));
	m_list1.InsertItem(1, _T("小理"));
	m_list1.SetItemText(1, 1, _T("11"));
	m_list1.SetItemText(1, 2, _T("男"));
	m_list1.InsertItem(2, _T("小取"));
	m_list1.SetItemText(2, 1, _T("13"));
	m_list1.SetItemText(2, 2, _T("男"));
	m_list1.InsertItem(3, _T("小闹"));
	m_list1.SetItemText(3, 1, _T("12"));
	m_list1.SetItemText(3, 2, _T("男"));
  • SetExtendedStyle:设置了列表控件的扩展样式。
    LVS_EX_FULLROWSELECT 表示当用户点击列表中的任何部分时,整行都会被选中。LVS_EX_GRIDLINES 表示列表控件会显示网格线。
  • InsertColumn:插入列。可以设置文本对齐方式、列宽、列索引。
  • InsertItem:列表控件插入了一个项目,可以设置项目文本。
  • SetItemText:指定列表控件某位置进行文本设置。

注意

在list control使用中,如果出现不是表格的形式,而是一片空白。需要设置View。

上面的视图选择的是ICON,对应的结果如右图。下面将视图的选择改为Report,结果和我们预期的一致。


总结

本文主要介绍了memset的使用及使用的注意情况,同时介绍了List control 的使用!

相关推荐
西哥写代码3 天前
基于dcmtk的dicom工具 第十二章 响应鼠标消息实现图像的调窗、缩放、移动
c++·mfc·dicom·dcmtk·vs2017
西哥写代码4 天前
基于dcmtk的dicom工具 第十章 读取dicom文件图像数据并显示
c++·mfc·dcmtk·vs2017
R-G-B8 天前
【10】MFC入门到精通——MFC 创建向导对话框、属性页类、属性表类、代码
c++·mfc·创建向导对话框·创建属性页类·创建属性表类
今天又在学代码写BUG口牙8 天前
MFC应用程序,工作线程学习记录
c++·mfc·1024程序员节
滴_咕噜咕噜10 天前
【MFC】sqlite3数据库类导入MFC项目调用
sqlite·mfc
R-G-B10 天前
【23】MFC入门到精通——MFC资源视图 报错“在另一个编辑器中打开” ,MFC Dialog窗口消失 资源视图“在另一个编译器中打开”
c++·编辑器·mfc·“在另一个编辑器中打开”·mfc dialog窗口消失
滴_咕噜咕噜11 天前
【MFC】数据库操作:数据库动态生成
数据库·c++·mfc
R-G-B11 天前
【25】MFC入门到精通——MFC静态文本框 中字符串 连续输出 不覆盖先前的文本 换行输出
c++·mfc·mfc静态文本框输出字符串·mfc静态文本框连续输出字符串·mfc静态文本框换行输出字符串
ajassi200011 天前
开源 C++ QT QML 开发(二十三)程序发布
c++·qt·mfc
R-G-B11 天前
【21】MFC入门到精通——MFC 调试及运行状态下,使用printf() 或者 cout 打印输出信息
c++·mfc·mfc调试及运行状态下打印输出·mfc 打印输出printf·mfc打印输出cout 信息