可不可以让Combobox, listbox enabled, 但不能修改(30分)

  • 主题发起人 主题发起人 bookworm
  • 开始时间 开始时间
ComboBox.Style:=csDropDownList
 
Combobox, enabled, 但不会被修改
 
implementation
var str:string;

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
str:=combobox1.text;
end;

procedure TForm1.ComboBox1Click(Sender: TObject);
begin
str:=combobox1.text;
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
combobox1.text:=str;
end;

哈哈,又得分啦。
 
bookworm: 什么意思?
 
combobox.readonly:=true;
listbox.readonly:=true;
 
athlon_chen的方法简单明了,比较好
 
combobox,listbox没有readonly属性.
我是这样处理的:
在onkeypress中写;
key:=#0;
或:
ComboBox.Style:=csDropDownList
但第一种方法不能防止cut,copy,paste
 
防止cut, copy, paste
可以试试:
加入一个PopupMenu,如:PopupMenu1
什么项目都没有,空的。
把combobox的PopupMenu属性置为PopupMenu1.
这样只能防止右键,不能防止CTRL+C,CTRL+V,CTRL+P。
可以用你的OnKeyPress截获这三键,然后直接返回就可以了。
 
但是这些方法一做都做死了。我要在以后改变combobox 的属性。比如说,Navigator New Click 后Combobox 就可以修改了。(我
的修改是指combobox的text不能换,不是指不能由键盘输入,但是可以从list里选择。〕
 
不怕烦的话,加两个标志位
 
什么是标志位?用英文好吗?
 
bookworm:
你的意思是:能拉下、能选择、但不能修改是吗?
把ComboBox1的Style属性设为 csDropDownList 或
csOwnerDrawFixed 或
csOwnerDrawVariable
都可以达到要求。快试试吧!


 
同意黄耀彰。
 
同意黄耀彰。最简单就是这样子的拉。这个问题对于ListBox没意义。
 
   agree with 黄耀彰,分分吧
 
多人接受答案了。
 
如果在不让用户从键盘输入的前提下,可以在程序中赋值就更好了!
 

Similar threads

回复
0
查看
885
不得闲
D
回复
0
查看
822
DelphiTeacher的专栏
D
D
回复
0
查看
765
DelphiTeacher的专栏
D
后退
顶部