我使用CreateWindowEx创建一个“ComboBox”成功添加项目后,下拉框老显示为一条黑线,去网上找,他们说是直接拉,但是我是API创建的,怎么拉~~~~~~~~
求各位大哥给个答案。

解决方案 »

  1.   


            //m_cmbTest是CComboBox类型的成员变量
             //创建
    m_cmbTest.Create(WS_CHILD|WS_VISIBLE|CBS_DROPDOWNLIST, CRect(20, 20, 120, 60), this, 12345);
            //添加值
    m_cmbTest.AddString("Test 1");
    m_cmbTest.AddString("Hello");
    m_cmbTest.AddString("JF haha");
            //设置控件被下拉后的矩形范围,lz根据需要自己设置啦
    m_cmbTest.MoveWindow(20, 20, 120, 120);
      

  2.   

    那样只能把CComboBox拉大了,下拉同样是一条黑线
      

  3.   

    你是不是马甲啊?好像在一张帖子里面见过你,好多WaistCoat+数字的号
      

  4.   

    vb2010你贴的是MFC的啊~~~~~能否放出SDK的啊?
      

  5.   

    知道了怎么搞下拉框大小了,MoveWindow函数,但是我就奇怪了,MoveWindow不是针对控件句柄进行移动么,而ComboBox的下拉框是ComboxLBox,为什么我传ComboBox的句柄使用MoveWindow移动ComboBox后,ComboLBox的大小就会被改变了?
      

  6.   

    我晕,我知道了,原来ComboBox的长度是自动设置的,CreateWindowEx函数的nHeight其实就是设定下拉框大小的。。这个nHeight参数无法设定ComboBox的大小,因为ComboBox的nHeight是自动改变的
      

  7.   

    哎  我的Win32 、 API、 MFC都是自学的
    至今都不清楚这三者和SDK有什么区别