combo box中如何动态设置列头的宽度(要能保持内容)及检测宽度被手工改变? 实际上是两个问题,combo box中:1)如何在运行时动态设置列的宽度(表中的内容要能保持),我想在改变对话框大小时,改变表中某一两列的宽度,最大限度地利用空间,如何实现?2)手工拉动列头改改变某一列宽度的动作如何截获?非常感谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CComboBox or CListCtrl(report style) ? ListCtrl可以设置Header来控制列的宽度. 不好意思,应该是List Box,请转到新贴:http://topic.csdn.net/u/20110731/22/96b82ca5-b683-4300-ba5a-05321e7b9edc.html CListBox or CListCtrl ?? 更正一下,List Control,不是List Box。 1. CListCtrl::SetColumnWidth();2. 父窗口类中添加虚函数OnNotify,过滤HDN_ITEMCHANGING通知BOOL CDDlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) { // TODO: Add your specialized code here and/or call the base class LPNMHEADER phdn = (LPNMHEADER)lParam; if(HDN_ITEMCHANGINGA == phdn->hdr.code || HDN_ITEMCHANGINGW == phdn->hdr.code) { CString str; str.Format(_T("%d"), phdn->iItem); AfxMessageBox(str); } return CDialog::OnNotify(wParam, lParam, pResult);;} 如何把bmp一条扫描线一条扫描线的画出来~ VAssistX用着用着有些数据类型失效了怎么办? CrtDBG report,看一下 怎么会这样呢? 求助,打印现有Dialog上的图像 一名c++的狂热者硅谷归来谈Java 如何在formview中切换模版? 一个关于程序有效期的问题 如何将一个进程内的组件改成进程外的呢?需要有什么步骤呢? 这个谁看过!!! 第三方dll能编译进ActiveX吗? List Box 中如何动态设置列头的宽度(要能保持内容)及检测宽度被手工改变?
2. 父窗口类中添加虚函数OnNotify,过滤HDN_ITEMCHANGING通知BOOL CDDlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
// TODO: Add your specialized code here and/or call the base class
LPNMHEADER phdn = (LPNMHEADER)lParam;
if(HDN_ITEMCHANGINGA == phdn->hdr.code || HDN_ITEMCHANGINGW == phdn->hdr.code)
{
CString str;
str.Format(_T("%d"), phdn->iItem);
AfxMessageBox(str);
} return CDialog::OnNotify(wParam, lParam, pResult);;
}