我想使用Sendmessage(hComboboxex, cbem_insertitem, 0, longint(pchar(pItem)));将一个Item加入到一个扩展combobox,但delphi编译不通过,不认识cbem_insertitem消息,有谁处理过吗?
我使用的是Delphi6

解决方案 »

  1.   

    SendMessage(ComboBox.Handle,CB_ADDSTRING,0,integer(TextEdit.Text));
      

  2.   

    编译通过了,但运行结果就是不对,ComboboxEx控件里无法加入ITEM
      

  3.   

    uses CommCtrl;var Item:TComboBoxExItem;
    begin
      Item.mask:=CBEIF_TEXT;
      Item.iItem:=0;
      Item.pszText:='abcd';
      SendMessage(ComboBoxEx1.Handle,CBEM_INSERTITEM,0,Integer(@Item));
    end;
      

  4.   

    liangqingzhi(老之) ,你的方法我试过了,但是很奇怪的是,添加完成后,ComboBoxEx1.Items.Count返回结果是0,同时,用鼠标选取刚刚添加的项时,报下标越界错误,也就是说,用sendmessage(ComboBoxEx1.Handle,CBEM_INSERTITEM,0,Integer(@Item));方法没有真正实现加Item进入ComboBoxEx1中。是不是还有什么地方要设置?
    我真正要实现的是控制另外一个exe程序里的comboboxEx,现在是同一个Application里都通不过:(
      

  5.   

    参考msdn上的c++例子:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/comboex/comboex.asp
      

  6.   

    从sendmessage返回值来看,往comboboxex里加入item是成功的,但Delphi不认加入的Item。
      

  7.   

    有谁用delphi这么做过?指点一下啊!
      

  8.   

    liangqingzhi(老之), delphi的comboboxex好象不是标准的windows控件,所以发windows消息给它就不管用。你有什么解决办法吗?