★★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:='默认的内容'; 来防止非法操作,但总是感觉这不是正确的方法,有没有什么办法使它有只读的效果,但是可以从下拉列表中选择内容呢?
请顺便说一下它的原理好吗?谢谢了!
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:='默认的内容'; 来防止非法操作,但总是感觉这不是正确的方法,有没有什么办法使它有只读的效果,但是可以从下拉列表中选择内容呢?
请顺便说一下它的原理好吗?谢谢了!
解决方案 »
- 求救!spcomm不能处理循环中较多数据的问题!
- 请问怎么用IDhttp登陆校内网(www.xiaonei.com)我目前的代码附上
- 系统时钟老是慢?
- 有个活需要几位懂Delphi的同志兼职
- 我如何判断listview是否有值.
- DELPHI怎么样得到星期几
- 关于获取BIOS ID的问题,高手帮忙!!!!!!!!!!!!!!!!!!
- !!! 类函数和self !!!
- delphi转换时间格式:2002-11-30 19:32:34 到20021130193234
- 如何保存用hook函数截获的键码?
- 小问题,刚学midas(在线)
- 我想把一个表里的‘男’‘女’人数统计出来,然后分别写到另一个表的两个字段里,怎么写?
Shift: TShiftState);
begin
abort;
end;
但要注意赋值时就只能用cbb.ItemIndex := cbb.Items.IndexOf('zhi');
key:=#0;csDropDownList最好了!