★★combobox控件没有只读的属性,如何防止输入字符及更改其中的内容呢?
combobox控件没有只读的属性,我想让它的内容只能在下拉列表中选,为了防止输入字符及更改其中的内容,我设它的onkeypress为
procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
  key:=#0;
end;
可是按鼠标右键的时候会弹出右键菜单,可以将combobox中的内容剪切掉,于是我又加了个popupmemu控件屏蔽掉了windows的右键菜单,可是,如果在combobox上双击的话,或是它获得焦点的时候(combobox中的内容被选中)按back space键仍能删除其中的内容。另外在任何时候按delete键都可以删除combobox中的内容。虽然可以通过判断:if combobox1.text=''  then combobox1.text:='默认的内容'; 来防止非法操作,但总是感觉这不是正确的方法,有没有什么办法使它有只读的效果,但是可以从下拉列表中选择内容呢?
请顺便说一下它的原理好吗?谢谢了!