请问各位如何用sendmessage中的findstring来防止向combobox添加相同的项目(50分)

  • 主题发起人 主题发起人 aa9
  • 开始时间 开始时间
combobox1.Items.IndexOf(str)=-1<br>看str有没存在<br>这样不好吗?
 
&nbsp; 这样当然可以但我想知道<br>&nbsp; &nbsp;sendmessage(combobox1.handle,lb_findstring,0,'aa');<br>&nbsp; &nbsp;//aa是我想找的string<br>&nbsp; &nbsp;//照win32sdk中的意思 lb_findstring的lParam是不为空的string<br>&nbsp; &nbsp;//但运行说 最后一个参数类型错误,我想知道究竞错在哪而已
 
if sendmessage( &nbsp;combobox1.handle, cb_findstring, -1, lparam( lpcstr('aaa') ) &nbsp;) = CB_ERR then<br>&nbsp; showmessage('specified string not found !');<br>最后一个参数为指向字符串的地址 !<br>
 
to aa9:<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>str:string;<br>num:integer;<br>begin<br>str:=edit1.Text;<br>num:=sendmessage( combobox1.handle, cb_findstring, -1,Cardinal(str));<br>edit2.text:=inttostr(num);<br>if num=-1 then<br>begin<br>showmessage('没找到!');<br>end;<br>end;<br>可以给分了吧!
 
刘李子厉害
 
多人接受答案了。
 
后退
顶部