一般在点击了ComboBox后,会弹出一个列表框.
我现在向在点击ComboBox后直接关闭下拉框, 或者不要弹出列表框, 不知道如何实现.

解决方案 »

  1.   

    发送WM_COMMAND
    消息为:CBN_CLOSEUP
    应该是:SendMessage(hWnd,WM_COMMAND,MAKEWPARAM(0,CBN_CLOSEUP),(LPARAM)h_ComBo);
      

  2.   

    CComboBox::ShowDropDown http://msdn.microsoft.com/en-us/library/561a0xe5(VS.80).aspx
      

  3.   


    编译的是:
    错误 1 error C2440: 'type cast' : cannot convert from 'CComboBox' to 'LPARAM' e:\test\combobox\combobox\comboboxdlg.cpp 198
    错误 2 error C2660: 'CWnd::PostMessageW' : function does not take 4 arguments e:\test\combobox\combobox\comboboxdlg.cpp 198
      

  4.   

    我在CBN_DROPDOWN中使用m_cmb.ShowDropDown(FALSE) 没效果
      

  5.   

    改为
    SendMessage(hWnd,WM_COMMAND,MAKEWPARAM(0,CBN_CLOSEUP),(LPARAM)h_ComBo.GetSafeHwnd());
      

  6.   

    改为
    SendMessage(hWnd,WM_COMMAND,MAKEWPARAM(0,CBN_CLOSEUP),(LPARAM)h_ComBo.GetSafeHwnd());