MFC深入浅出之四列表框、下拉框、滑块、旋转控件、列表控件

列表框

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改
在这里插入图片描述

void CMFCApplication2Dlg::OnBnClickedButton2()
{
	// TODO: 在此添加控件通知处理程序代码
	//获取编辑区内容
	UpdateData(TRUE);
	if (m_str.GetLength()==0)
	{
		MessageBox(TEXT("内容不能为空"));
		return;
	}
	//给列表添加内容
	m_listBox.AddString(m_str);
	m_str.Empty();
	//把内容更新到编辑区
	UpdateData(FALSE);

}


void CMFCApplication2Dlg::OnBnClickedButton3()
{
	// TODO: 在此添加控件通知处理程序代码
	//获取选中行
	int i = m_listBox.GetCurSel();
	//删除选中行
	m_listBox.DeleteString(i);
}


void CMFCApplication2Dlg::OnLbnSelchangeList1()
{
	// TODO: 在此添加控件通知处理程序代码
	//获取选中行
	int i = m_listBox.GetCurSel();
	//获得指定内容
	m_listBox.GetText(i, m_str);
	//显示
	UpdateData(FALSE);
}


void CMFCApplication2Dlg::OnBnClickedButton4()
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData(TRUE);
	if (m_str.GetLength() == 0)
	{
		MessageBox(TEXT("内容不能为空..."));
		return;
	}
	//获得选中行
	int i = m_listBox.GetCurSel();
	
	//删除选中行 
	m_listBox.DeleteString(i);
	//选中位置插入新的内容
	m_listBox.InsertString(i, m_str);
	//将编辑框设置为空
	m_str = TEXT("");
	UpdateData(FALSE);
}

组合框(下拉框)用于登陆界面的制作

在这里插入图片描述
在这里插入图片描述
可执行代码:

m_combo1.SetCurSel(1);  
	//显示选项
	CString str;
	m_combo1.GetLBText(0, str);
	MessageBox(str);
	//添加选项
	m_combo1.AddString(TEXT("奶茶"));

滑块

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加滚动条和编辑框,点击滚动条属性,在WM_HSCROLL中添加处理事件
在这里插入图片描述
为编辑框添加变量
在这里插入图片描述
为滚动条添加变量
在这里插入图片描述
可执行代码:

//滑块处理事件
void CMFCApplication2Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	if (pScrollBar == &m_sb)
	{
		int tempos;
		switch (nSBCode) //判断滚动条的哪一部分
		{
		case SB_THUMBPOSITION:  //滑块位置
		{
			m_sb.SetScrollPos(nPos);
			m_pos = nPos;
			UpdateData(FALSE);
		
			break;
		}
		case SB_LINELEFT: //向左的箭头
		{
			//获取滑块的位置
			tempos = m_sb.GetScrollPos();
			tempos = tempos - 1;
			if (tempos < 0)
			{
				tempos = 0;
			}
			m_sb.SetScrollPos(tempos);
			m_pos = tempos;
			//显示
			UpdateData(FALSE);
		}
			break;
		case SB_LINERIGHT:  //向右的箭头
		{
			//获取滑块的位置
			tempos = m_sb.GetScrollPos();
			tempos = tempos + 1;
			if (tempos > 100)
			{
				tempos = 100;
			}
			m_sb.SetScrollPos(tempos);
			m_pos = tempos;
			//显示
			UpdateData(FALSE);
		}
			break;
		case SB_PAGELEFT:  //滑块和箭头之间左边
		{
			//获取滑块的位置
			tempos = m_sb.GetScrollPos();
			tempos = tempos - 10;
			if (tempos <0)
			{
				tempos = 0;
			}
			m_sb.SetScrollPos(tempos);
			m_pos = tempos;
			//显示
			UpdateData(FALSE);
		}
			break;
		case SB_PAGERIGHT:  //滑块和箭头之间右边
		{
			//获取滑块的位置
			tempos = m_sb.GetScrollPos();
			tempos = tempos + 10;
			if (tempos > 100)
			{
				tempos = 100;
			}
			m_sb.SetScrollPos(tempos);
			m_pos = tempos;
			//显示
			UpdateData(FALSE);
		}
			break;
		default:
			break;
		}
	}
	CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
}

旋转控件

在这里插入图片描述
添加控件
在这里插入图片描述
Ctrl+D,设置控件顺序旋转控件要比编辑框控件大1,且编辑框控件不能为0
在这里插入图片描述
设置旋转控件的属性
在这里插入图片描述

列表控件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

//列表框

	//设置风格样式
	//m_list.GetExtendedStyle()  获得当前样式
	//LVS_EX_GRIDLINES  网格样式
	//LVS_EX_FULLROWSELECT  全选中
	m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
	//插入标题
	CString head[] = { TEXT("姓名"),TEXT("年龄"),TEXT("性别") };
	//插入列
	m_list.InsertColumn(0, head[0], LVCFMT_LEFT, 50);
	m_list.InsertColumn(1, head[1], LVCFMT_LEFT, 50);
	m_list.InsertColumn(2, head[2], LVCFMT_LEFT, 50);
	for (int i = 0; i < 10; i++)
	{
		CString str;
		str.Format(TEXT("mike%d"), i + 1);

		//确定行
		m_list.InsertItem(i, str);
		//设置列
		int j = 0;
		j++;
		m_list.SetItemText(i, j, TEXT("19"));
		j++;
		m_list.SetItemText(i, j, TEXT("男"));
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值