我实现它既不可写,又要有text
我尝试加入
procedure Tform.button1click(sender:object);
begin
combobox1.itemindex:=0;
end;
但是不成功,在线等
我尝试加入
procedure Tform.button1click(sender:object);
begin
combobox1.itemindex:=0;
end;
但是不成功,在线等
解决方案 »
- 关于edit焦点的问题
- Parent这个是哪个控件的属性?
- 一个fastreport初学者的几个小问题~
- 高手帮忙,如何自动根据页面大小动态调整报表控件的大小?(象word一样)
- 有谁知道数据连接*.udl和adoconnection的连接?
- Unit循环引用该如何解决?
- 加急!!!谁发给我一个EXCEL的图标啊?50小分相送。
- 如何在Edit中控制只能输入IP地址形式的字符串???
- 急! DELPHI执行oracle sql老提示: 非单组分组函数
- 如何实现重做、撤销?
- dbgrideh单元格的内容改变事件?
- 我想学Delphi的Win32开发,以前是用VB的,不知Delphi的智能感知有没有,好不好用??
我的赋值语句combobox1.Style:=csOwnerDrawVariable;就失效了我想又可以显示text的属性,又不能随便被改,包括用下拉的选择都不可以的那种
combobox1.Enabled := false;
然后根据Itemindex来选择值
begin
key:=#0;
end;
或者
可以在Combobox的外面再加一个略小一点的Edit,设置一下它的属性,然后在Combobox取得焦点时显示,
var
h : HWND;
begin
h := findwindowex(combobox1.Handle, 0, nil, nil);
if h > 0 then
SendMessage(h, EM_SETREADONLY, 1, 0);
end;//还要处理退格键,因为它被combobox拦截了
procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if Ord(key) = 8 then key := #0;
end;
var
h : HWND;
begin
h := findwindowex(combobox1.Handle, 0, nil, nil);
if h > 0 then
SendMessage(h, EM_SETREADONLY, 1, 0);
end; 我之前试过这样是不行的,如果能通过消息设,ComboBox就会直接封装个属性给你了。
将控件失效的方法固然可以让combobox只读...但那样就失去了combobox的选择意义了...还不如用edit
将控件失效的方法固然可以让combobox只读...但那样就失去了combobox的选择意义了...还不如用edit
----------------------------------------------------------------------------------
同意LS!
将控件失效的方法固然可以让combobox只读...但那样就失去了combobox的选择意义了...还不如用edit
-----------------------------------------------------------------------------------
这个方法固然是可以用鼠标选择,但是无法用程序赋初始值的
begin
if key<>#0 then
key:=#0;
end;
可以控制键盘的输入//如果不是空的,就不让输入,,,
begin
key:=#0;
end;-----------------------------------------------------------------------------
同意