简单的问题,up有分! 请问怎么实现在combobox中键盘输入无效,除tab,回车等功能键外?小弟正在练习做个简单的控件(只读combobox)如果哪为能提供源代码50分酬谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在combobox的OnKeyPress事件中procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);begin if not (Key in [#8,#9,#13]) then Key := #0;end; to: sysu(死树) 我的意思不是说要在程序中实现,而是要在自定义控件代码中实现,好象要通过截取键盘消息,用钩子函数类的,小弟对这些不太懂,特请教 unit ComboBox1;interfaceuses Windows, Messages, SysUtils, Classes, Controls, StdCtrls;type TComboBox1 = class(TComboBox) private { Private declarations } FReadOnly: Boolean; procedure SetReadOnly(Value: Boolean); protected { Protected declarations } procedure CreateWnd; override; public { Public declarations } published { Published declarations } property ReadOnly: Boolean read FReadOnly write SetReadOnly default False; end;procedure Register;implementationprocedure TComboBox1.CreateWnd;begin inherited CreateWnd; if FEditHandle <> 0 then SendMessage(FEditHandle, EM_SETREADONLY, Ord(FReadOnly), 0);end;procedure TComboBox1.SetReadOnly(Value: Boolean);begin if FReadOnly <> Value then begin FReadOnly := Value; if FEditHandle <> 0 then SendMessage(FEditHandle, EM_SETREADONLY, Ord(Value), 0); end;end;procedure Register;begin RegisterComponents('Samples', [TComboBox1]);end;end. 想开店一直下不了决心 两个 tstrings.create 出错 Treeview控件的问题? 请教大家,如何根据以下给出的数据结构,动态生成菜单?最好能给出源码~谢谢 一个对我来说很难,对各位来说可能很简单的问题!请进! 关于TADOCommand的疑问 delphi7中出现的问题~! 为什么执行thread.free时报错?是不是跟thread的结构有关? 高分求救!在delphi4中如何导出execl? API进行串口通讯,请指教? 简单的问题,up有分 请问如何获取本机的计算机名
procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in [#8,#9,#13]) then Key := #0;
end;
我的意思不是说要在程序中实现,而是要在自定义控件代码中实现,好象要通过截取键盘消息,用钩子函数类的,小弟对这些不太懂,特请教
Windows, Messages, SysUtils, Classes, Controls, StdCtrls;type
TComboBox1 = class(TComboBox)
private
{ Private declarations }
FReadOnly: Boolean;
procedure SetReadOnly(Value: Boolean);
protected
{ Protected declarations }
procedure CreateWnd; override;
public
{ Public declarations }
published
{ Published declarations }
property ReadOnly: Boolean read FReadOnly write SetReadOnly default False;
end;procedure Register;implementationprocedure TComboBox1.CreateWnd;
begin
inherited CreateWnd;
if FEditHandle <> 0 then
SendMessage(FEditHandle, EM_SETREADONLY, Ord(FReadOnly), 0);
end;procedure TComboBox1.SetReadOnly(Value: Boolean);
begin
if FReadOnly <> Value then
begin
FReadOnly := Value;
if FEditHandle <> 0 then
SendMessage(FEditHandle, EM_SETREADONLY, Ord(Value), 0);
end;
end;procedure Register;
begin
RegisterComponents('Samples', [TComboBox1]);
end;end.