MFC 常用界面总结之二 CSliderCtrl CListBox

CListBox


该控件应用很简单,初始化直接一个函数搞定,就是有一些风格问题什么的需要自己琢磨下


m_listadvanced.ShowWindow(SW_SHOW);    //别忘了在创建完成地方设置隐藏
	//m_listadvanced.SetItemHeight(0,100);
	m_listadvanced.AddString(_T("TextFile"));
	m_listadvanced.AddString(_T("Picture"));
	m_listadvanced.AddString(_T("Video"));
	m_listadvanced.AddString(_T("GIF"));
	m_listadvanced.AddString(_T("RTF"));
	m_listadvanced.SetTopIndex(0);

下面介绍下选择具体项目事件

int index=0;
index=m_listadvanced.GetCurSel();
m_listadvanced.GetText(index,info);   //获取到对应字符串

这样我们就获取了点击时候所对应的索引并得到内容


如果需要重置内容也是一个函数搞定

m_listadvanced.ResetContent();


定位光标至指定索引

m_listadvanced.SetCurSel(index);

CSliderCtrl

滑动条控件是一个很奇怪的控件,没有对应的移动消息响应函数,通过HResult的方法可以自行百度,这里我用了个较为容易理解的方法实现了进度条事件


首先是初始化

m_bright.SetRange(0,100);

m_bright.SetLineSize(5);  //设置滑动以5为间隔


posit=m_bright.GetPos();    //通过获取滑动条位置初始化


m_bri=&m_bright;

我通过新建一个现场来不停循环比对 posit 函数 与 获取的 GetPos 来判定是否需要响应更改


DWORD WINAPI func4 (LPVOID lpParam)
{

	while(1)
	{
		int degree=m_bri->GetPos();

		if(posit!=degree)   //如若滑动条发生改变则进行响应
		{
			char *ip=new char [20];    //用来接收列表处获取的IP与板卡ID信息
			char *id=new char [20];  

			int col=0;

			col = m_dlist->GetSelectionMark() ; //先点击列表事件检测

			id = trans2c(&m_dlist->GetItemText(col, 0));
			ip = trans2c(&m_dlist->GetItemText(col, 1));

			DLL_Net_AdjustBrightness(ip,31299,degree,0);

			posit=degree;      //将新的滑动条参数赋予 posit 
		}
	}

	return 0;
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值