XP sp3  VC6.0我想实现一个功能,就是ComboBox控件的只读功能,类似Edit只读状态,
查了资料,需要用到COMBOBOXINFO和GetComboBoxInfo。
我在用的时候老师报一下错误:
error C2065: 'COMBOBOXINFO' : undeclared identifier
error C2146: syntax error : missing ';' before identifier 'cbi'
error C2065: 'cbi' : undeclared identifier
error C2059: syntax error : '{'
error C2143: syntax error : missing ';' before '{'
error C2143: syntax error : missing ';' before '}'
error C2039: 'GetComboBoxInfo' : is not a member of '`global namespace''
error C2065: 'GetComboBoxInfo' : undeclared identifier
error C2228: left of '.hwndItem' must have class/struct/union type我在 stdafx.h头文件里加了一下内容:
#include <winuser.h>
#include <windows.h>#if(WINVER >= 0x0500)   
BOOL GetComboBoxInfo(PCOMBOBOXINFO pcbi) const;   
#endif// WINVER >= 0x050
但是仍旧报以上错误!论坛里的@DentistryDoctor大大说:“需要在StdAfx.h中重新定义WINVER,使它的值> =0x0500”
但是我看到winuser.h头文件已经定义这个宏,如下:
#ifndef WINVER
#define WINVER  0x0500     /* version 5.0 */
#endif /* !WINVER */真的不知道该怎么办求帮助啊………… 

解决方案 »

  1.   

    创建的时候,设置CBS_DROPDOWNLIST属性
      

  2.   

    囧,你选择Drop list属性就好了,默认是Dropdown属性
      

  3.   


    那个 大概 是我没表达清楚,我想说的是就算我选了下拉框里面的新值,Edit框里面还是原来的值(不改变Edit框里的值),就是说Edit框里的值不能被更新。
      

  4.   

    你可以响应CBN_SELENDOK消息,在该消息响应函数中PostMessage一个自定义的消息,然后设置回原来的文本内容即可。