闲来无事,给 EDIT 控件添加几个小属性。 (300分)

  • 主题发起人 主题发起人 zhihuali
  • 开始时间 开始时间
收藏!不要分!谢谢!
 
谢谢,永久珍藏
 
高超,Copy下來好好研究研究。多謝!
 
很好的程序!值得好好学习。请问zhihuali和影子两位高手能否加入定义快捷键来
控制呢? 例如在EDIT中输入‘1234’ 后, 再按下‘;’ 键或用户定义的其他快
捷后, 执行一个自己的处理程序, 而此时要求EDIT.TEXT保持为‘1234’ 不要显
示‘1234;’ 。是否有一个函数可以清除键盘援冲区, 即不要显示刚才按下的键
的呢?
 
赶紧来了,又能学习,又能挣分。两全其美真是太难得了
 
我对 zhihuali大侠的敬仰之情,如滔滔江水,连绵不绝,
又如黄河泛滥之水,一发而不可收拾!
 
TO:zqqxh
呵呵,
我可不是高手哦。
以下代码增加了HOTKEY功能。

可以考虑将TEdit改为TLabeledEdit,uses ExtCtrls即可。



{ 增加了可以Hotkey属性与OnHotkey事件 }
{ 因为在OnKeyPress中检测,所以不能使用组合键 }

const
WM_MYHOTKEY = WM_USER + 999;

//......

private
FHotkey : char; //定义的热键
FOnHotkey : TNotifyEvent; //热键对应的事件

procedure GetHotkey(var Message: TMessage);message WM_MYHOTKEY; //自定义热键消息
//......

published
property OnHotkey : TNotifyEvent read FOnHotkey write FOnHotkey;
property Hotkey : char read FHotkey write FHotkey default #0;
end;

implementation

procedure TFilterEdit.GetHotkey(var Message: TMessage);//message WM_MYHOTKEY;
begin
if Assigned(FOnHotkey) then
FOnHotkey(Self);
end;

procedure TFilterEdit.KeyPress(var Key: Char);
begin
if FHotkey = key then
begin
key := #0;
SendMessage(handle,WM_MYHOTKEY,0,0);
end;

if not(Key in [#8,#9,#13,#27]) then //除BackSpace,Tab,Enter,Esc键外
//......
end;
 
真的不错谢谢楼上各位!
 
阿~~~~~~有嘢睇了
 
你的精神值得我们学习……!
 
一个问题,使用了该控件后,窗口中Default的按钮不管用了!!请问如何解决?
 
挺有意思!
 
来自:zqqxh, 时间:2002-3-14 21:53:00, ID:984030
很好的程序!值得好好学习。请问zhihuali和影子两位高手能否加入定义快捷键来
控制呢? 例如在EDIT中输入‘1234’ 后, 再按下‘;’ 键或用户定义的其他快
捷后, 执行一个自己的处理程序, 而此时要求EDIT.TEXT保持为‘1234’ 不要显
示‘1234;’ 。是否有一个函数可以清除键盘援冲区, 即不要显示刚才按下的键
的呢?

自己添加代码keypress下面
if key=#59 then
begin
if edit1.text='1234' then
process your function or procedurce
end;
 
TO:jack.shi
我试过,Default的按钮不会有问题吧?


已经增加了Hotkey属性
 
to 影 子
我把该控件改为从TCustomEdit继承之后,default功能失效,而且单行编辑变为多行编辑,想MEMO一样
不知如何解决?请帮忙!!
 
很久之前写的东西了,
我不是很想再看。
如果需要编辑多行,
你继承TCustomMemo或者TCustomMemo,改改吧。
 
to 影 子
问题是不想编辑多行!!
 
好利害啊,
我向你学习
 
33333333333333333 KK KK UU UU
33 KK KK UU UU
33 KK KK UU UU
33 KK KK UU UU
33 KK KK UU UU
33 KK KK UU UU
33 KK KK UU UU
33 33 KK KK UU UU
33 33 KK KK UUUUUUU
 

Similar threads

I
回复
0
查看
491
import
I
I
回复
0
查看
527
import
I
I
回复
0
查看
682
import
I
I
回复
0
查看
676
import
I
后退
顶部