CButton/CheckBox/RadioButton
// 整形转字符串
    str.Format(_T("上衣=%d\n裤子=%d\n帽子=%d\n"), m_cloths, m_plants, m_hats);RadioButton要把多个放在一组中使用,并且把第一个的group设置为true

EditControl, ListBox

点击时候
文本编辑框文本操作
// 获得文本框控件
	CEdit* edit=(CEdit*)GetDlgItem(IDC_EDIT1);
	edit->GetWindowText(text);
	edit->SetWindowText(_T(""));ListBox操作
 初始化时候
// 得到ListBox控件
    CListBox* list = (CListBox*)GetDlgItem(IDC_LIST1);
    // 添加项
    list->AddString(_T("上海"));
    list->AddString(_T("深圳"));
    list->AddString(_T("北京"));
    list->AddString(_T("长沙"));
    // 设置当前选择项 
    list->SetCurSel(0);点击时候
// 获取当前选择项编号
    int n = list->GetCurSel();
    // 获取当前选择项文本
    list->GetText(n, text);用于向里面添加数据
//list->AddString(text);ComboBox
Combobox与ListBox操作基本一致,只是界面显示小有区别,Combobox是下拉列表,默认不展开,只有下拉的时候才能看所有选项。
 在这里插入图片描述

下拉列表操作
 初始化时候
// 获取下拉列表控件
CComboBox* list = (CComboBox*)GetDlgItem(IDC_COMBO1);
// 添加选择项
list->AddString(_T("上海"));
list->AddString(_T("深圳"));
list->AddString(_T("北京"));
list->AddString(_T("长沙"));
// 设置当前选择项
list->SetCurSel(3);点击时候
// 获取当前选择项
int n = list->GetCurSel();
// 获取当前选择项文本
list->GetLBText(n, text);Progress

进度条操作(借助定时器)
 初始化时候
// 获取进度条
	CProgressCtrl* prog = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
	// 设置进度条范围
	prog->SetRange(0, 100);
    //定义定时器
    SetTimer(TIMER_RPOG, 100, NULL);ontime函数被触发
定时器超时响应函数
void Cdialog2Dlg::OnTimer(UINT_PTR nIDEvent)
{
    int num, low, high;
    CProgressCtrl* prog;
    switch (nIDEvent)
    {
    case TIMER_RPOG:
        // 得到进度条
        prog = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
        // 获取进度
        num = prog->GetPos();
        // 更新进度
        prog->SetPos(++num);
        // 获取进度条上下限
        prog->GetRange(low, high);
        if (num >= high)
        {
            // 进度条归零
            prog->SetPos(low);
        }
        break;
    default:
        break;
    }
    CDialogEx::OnTimer(nIDEvent);
}Picture
加载bitmap图像
 •准备1张bmp图片
 •作为资源导入项目,记住ID名称,以备后用
 •拖入图片组件到界面上
// 得到图片控件
CStatic* pic = (CStatic*)GetDlgItem(IDC_PIC);
// 设置控件风格
pic->ModifyStyle(0xf, SS_BITMAP | SS_CENTERIMAGE);
CBitmap bitmap;
// 加载bitmap图片
bitmap.LoadBitmap(IDB_BITMAP1);
// 控件设置Bitmap
pic->SetBitmap(bitmap);
bitmap.Detach();注意事项
解决办法一:不用成员变量的方式
这里的局部变量会在}之后就销毁
//准备Bitmap图片
	CBitmap bitmap;
	//加载Bitmap图片
	bitmap.LoadBitmap(IDB_BITMAP1);
	m_pic.SetBitmap(bitmap);
	bitmap.Detach();
解决办法二:用成员变量的方式
把bitmap这个变量变为成员变量
 用成员变量的方式
 .h文件
CBitmap m_bitmap;.cpp文件
//准备Bitmap图片
//CBitmap bitmap;
//加载Bitmap图片
m_bitmap.LoadBitmap(IDB_BITMAP1);
m_pic.SetBitmap(m_bitmap);
//bitmap.Detach();补充
与以下局部变量导致程序出错做对比
MFC—用局部变量的引用导致程序崩溃的解决办法
加载Png图片
 •准备1张png图片
 准备一个成员变量
CImage image;初始化时候加载出来
 双\是因为会转义
image.Load(_T("D:\\3.png"));onPaint()的else中写
CClientDC dc(this);
CRect rect;
CStatic* m_pic = (CStatic*)GetDlgItem(IDC_PIC);
m_pic.GetWindowRect(&rect);
ScreenToClient(&rect);
image.Draw(dc, rect);
List
CImageList m_imageList;初始化中
// 制作图像列表
    m_imgList.Create(32, 32, ILC_COLOR32 | ILC_MASK, 2, 10);
    for (int i = 0; i < 10; i++)
    {
        HICON icon = theApp.LoadIcon(IDI_ICON1 + i);
        m_imgList.Add(icon);
    }
    
    // 设置图像列表
    m_list.SetImageList(&m_imgList, LVSIL_NORMAL);
    // 表头,多少列
    m_list.InsertColumn(0, _T("ID"), LVCFMT_LEFT, 50);
    m_list.InsertColumn(1, _T("Name"), LVCFMT_LEFT, 100);
    m_list.InsertColumn(2, _T("Age"), LVCFMT_LEFT, 50);
    m_list.InsertColumn(3, _T("Address"), LVCFMT_LEFT, 400);
    int nItem;
    // 插入行,分2步,插入1个元素,得到ID
    nItem = m_list.InsertItem(0, _T("1"));
    // 根据ID,设置每1列的值
    m_list.SetItemText(nItem, 1, _T("Mark"));
    m_list.SetItemText(nItem, 2, _T("42"));
    m_list.SetItemText(nItem, 3, _T("Address 1"));
    nItem = m_list.InsertItem(1, _T("2"));
    m_list.SetItemText(nItem, 1, _T("Allan"));
    m_list.SetItemText(nItem, 2, _T("29"));
    m_list.SetItemText(nItem, 3, _T("Address 2"));Tree
// 修改风格
    m_webTree.ModifyStyle(0, TVS_HASLINES | TVS_HASBUTTONS |TVS_LINESATROOT);
    // 加载图片
    HICON hIcon = theApp.LoadIcon(IDI_ICON1);
    HICON hIcon2 = theApp.LoadIcon(IDI_ICON2);
    // 创建图片列表
    m_imageList.Create(32, 32, ILC_COLOR32|ILC_MASK,2, 2);
    // 往图片列表中加入图片
    m_imageList.Add(hIcon);
    m_imageList.Add(hIcon2);
    // 树控件设置图片列表
    m_webTree.SetImageList(&m_imageList,TVSIL_NORMAL);
    // 添加根节点
    hRoot = m_webTree.InsertItem(_T("生活用品"), 0, 0);
    // 二级结点
    hSon = m_webTree.InsertItem(_T("衣服"), 1, 1, hRoot, TVI_LAST);
    // 三级结点
    hGrandson = m_webTree.InsertItem(_T("男装"), 2, 2, hSon, TVI_LAST);
    hGrandson = m_webTree.InsertItem(_T("女装"), 2, 2, hSon, TVI_LAST);
    hGrandson = m_webTree.InsertItem(_T("童装"), 2, 2, hSon, TVI_LAST);                










