实际上是两个问题,combo box中:1)如何在运行时动态设置列的宽度(表中的内容要能保持),我想在改变对话框大小时,改变表中某一两列的宽度,最大限度地利用空间,如何实现?
2)手工拉动列头改改变某一列宽度的动作如何截获?非常感谢!

解决方案 »

  1.   

    CComboBox or  CListCtrl(report style) ?
      

  2.   

    ListCtrl可以设置Header来控制列的宽度.
      

  3.   

    不好意思,应该是List Box,请转到新贴:http://topic.csdn.net/u/20110731/22/96b82ca5-b683-4300-ba5a-05321e7b9edc.html
      

  4.   

    CListBox or CListCtrl ??
      

  5.   

    更正一下,List Control,不是List Box。
      

  6.   

    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);;
    }