我在做窗口最大化中用SetWindowPos来设置控件的大小和位置,因为设置完后combobox控件没有下拉框,所以将SetWindowPos最后一个参数风格设置成SWP_NOSIZE,只改变combobox的位置不改变它的大小,下拉框出来了但是选项的内容显示不出来,实际上已经选上了,但是就是没有显示在combobox控件的文本框中,哪位高手指点下

解决方案 »

  1.   

    就是因为下拉高度太小所以将SetWindowPos的最后一个参数改成SWP_NOSIZE,这样下拉框出来了,但是控件上不显示数据。
      

  2.   

    放combobox控件的时候调整好下拉框大小,然后用SetWindowPos调整位置。
      

  3.   

    已经调整好下拉框的大小了,用完SetWindowPos后下拉框也是正常的,现在的问题是选择完选项后显示不了我选的内容
      

  4.   


    SetWindowPos具体代码贴下。
      

  5.   

    ::SetWindowPos( t->next->h,
                   0,
          ( int )( ( t->next->r.left-ppp) * xx-Left*xx),
          ( int )( ( t->next->r.top) * yy-Top*yy),
          ( int )( ( t->next->r.right - t->next->r.left ) * xx ),
          ( int )( ( t->next->r.bottom - t->next->r.top ) * yy ),
          SWP_NOSIZE);
      

  6.   

    BOOL SetWindowPos( 
      HWND hWnd, 
      HWND hWndInsertAfter, 
      int X, 
      int Y, 
      int cx, 
      int cy, 
      UINT uFlags 
    );SWP_NOSIZE的话cx,cy都设成0就可以了。combobox控件有添加什么事件么?
      

  7.   

    要移动窗口用MoveWindow()不更好吗?
      

  8.   

    一般都是movewindow,不会出现这种现象。