// 要把CComboBox,即IDC_CBName的Style改为CBS_DROPDOWNLIST,
// 好像只有GetStyle(),没有SetStyle()
// 难道只能在创建CComboBox时设置Style吗?CComboBox m_cbName;

解决方案 »

  1.   

    有CWnd::ModifyStyle和CWnd::ModifyStyleEx
    不过有时候需要重新创建窗口
      

  2.   


    // 这样做对吗?CComboBox *pCmbText;pCmbText->ModifyStyle(0,CBS_DROPDOWNLIST); 
      

  3.   


    LONG lWindowLong=GetWindowLong(m_pCmbText.GetSafeHwnd(),GWL_EXSTYLE)|CBS_DROPDOWNLIST;
    SetWindowLong(m_pCmbText.GetSafeHwnd(),GWL_EXSTYLE,lWindowLong);
      

  4.   

    再不行的话,考虑自己用Create方法来动态创建
      

  5.   

        CRect rRect;
       //  UINT unID=IDC_WAVE_LIST;
         DWORD dwStyleEx = 0;
         CFont * pfont=NULL;
         pfont=m_combo.GetFont();
         dwStyleEx = m_combo.GetExStyle();
         //去除原来之CBS_SORT风格 ,加上了一堆风格
         dwStyleEx = dwStyleEx & ~CBS_SORT | WS_CHILD|WS_VISIBLE|CBS_DROPDOWNLIST|WS_VSCROLL;
         m_combo.GetWindowRect(&rRect);
         ScreenToClient(&rRect);
      //   unID=m_rGHS.GetDlgCtrlID();
         m_combo.DestroyWindow();
     rRect.bottom+=150;
         m_combo.Create(dwStyleEx, rRect, this, IDC_WAVE_LIST);
         m_combo.ShowWindow(SW_SHOW);
         m_combo.SetFont(pfont, TRUE);原文:
    http://blog.csdn.net/xiaolajiao8787/article/details/5810350