如何记住表格列宽,供下次调用,来提升用户操作体验?

如何让系统记住用户每次拖动表格后的列宽,下次表格初始化就可以直接用该列宽,来显示表格的每一个列。每个用户的使用习惯不一样,和使用的功能不一样,即使是同一套系统,只要用户不同,就有可能需要不同的列宽。比如,某些用户需要特别关注备注信息,就需要直接把备注列拉的宽一些。某些用户关注的品名,就需要把品名拉到合适的位置。

 我们需要在拖动表格列宽的操作中,记住拖动后的当前列的宽,核心代码是这样的:

void MyCListCtrl::OnHdnItemchanged(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMHEADER phdr = reinterpret_cast<LPNMHEADER>(pNMHDR);

	//获取表头控件
	CHeaderCtrl* pHead = GetHeaderCtrl();
	
	//获取表头列信息
	HDITEM hdItem;
	ZeroMemory(&hdItem,sizeof(hdItem));
	hdItem.mask=HDI_FORMAT | HDI_WIDTH;    
	pHead->GetItem(phdr->iItem,&hdItem);

	//获取列宽
	CString dh_table_col,col_width;
	dh_table_col.Format(_T("T%d_%d_%d_%s"),parent_id,list_id,phdr->iItem+1,((CMainApp *)::AfxGetApp())->m_uid);
	col_width.Format(_T("%d"),hdItem.cxy);
	//保存列宽
	HxFile::WriteIni(_T("cfg.ini"),_T("TABLECOLS"),dh_table_col,col_width);
	

	//刷新表格
	CRect rc_all;
	this->GetClientRect(&rc_all);
	this->InvalidateRect(&rc_all);

	*pResult = 0;
}

该功能,提升了用户的操作体验,帮用户节省了操作时间。当然当前大多数ERP软件,都有这个功能。

 Demo下载:智优迷你E3_ERP系统 - 华讯智优

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值