怎样屏蔽edit中的快捷键??/
怎样屏蔽edit中的快捷键??/Ctrl+A 、V、C等??? 问题点数:20、回复次数:13Top
1 楼liyangyao970(纳兰容若)回复于 2003-12-04 20:27:49 得分 0
在onkeypress中置什么也不做Top
2 楼xiaoqiang123(xiaoqiang)回复于 2003-12-04 21:01:43 得分 0
同意楼上的,在onkeypress中写个空语句的行了Top
3 楼angle097113(深思不解)回复于 2003-12-04 21:51:41 得分 0
在edit的onkeypres事件中Key:=#0;Top
4 楼angle097113(深思不解)回复于 2003-12-04 21:53:31 得分 0
但是这样的话就要针对于每个edit都要写的 方法还不是很好的学习!Top
5 楼xingtao1016(秋水翁)回复于 2003-12-04 22:12:17 得分 0
angle097113(深思不解)
在edit的onkeypres事件中Key:=#0;
不行啊,如果这样的话就屏蔽了所有的键了?
Top
6 楼lovingkane(红狐狸)回复于 2003-12-04 22:23:14 得分 0
判断按键情况,如果是以上组合,就让Key:=#0Top
7 楼angle097113(深思不解)回复于 2003-12-04 22:24:33 得分 0
也是的啊 不好意思的了
那你就判断是否等于你说的那几个键的否则的话就=#0
怎么判断 我的thinking.....Top
8 楼xingtao1016(秋水翁)回复于 2003-12-04 22:42:43 得分 0
那怎么判断Ctrl+A,C,V的组合呢Top
9 楼ercnet(莫木)回复于 2003-12-05 08:35:07 得分 0
说具体一点Top
10 楼frogshero(头疼)回复于 2003-12-05 11:11:16 得分 8
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TEdit=Class(StdCtrls.TEdit)
protected
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
end;
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
ListBox1: TListBox;
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Shift=[ssCtrl]) then
if chr(Key) in ['c','C'] then
ListBox1.Items.Add(chr(Key));
end;
{ TEdit }
procedure TEdit.KeyDown(var Key: Word; Shift: TShiftState);
begin
if (Shift=[ssCtrl]) then
if chr(Key) in ['c','C'] then
ShowMessage('asdf');
inherited;
end;
end.
Top
11 楼ln521(*逃课小王子*)回复于 2003-12-05 11:24:34 得分 1
同意楼上Top
12 楼hongqi162(失踪的月亮)回复于 2003-12-05 11:39:06 得分 10
如果不是这样那就是你没说明白
屏蔽edit1的Ctrl+A 、V、C
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
HotKeyId: Integer;
procedure HotKeyDown(var Msg: Tmessage); message WM_HOTKEY; //热键消息响应
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.HotKeyDown(var Msg: Tmessage);
begin
if (Msg.LparamLo = MOD_CONTROL) And ((Msg.LParamHi=$41) or (Msg.LParamHi=$43) or (Msg.LParamHi=$56)) then
begin
UnRegisterHotKey(handle, HotKeyId);
end;
end;
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
RegisterHotKey(Handle, hotkeyid, MOD_CONTROL,$41);
RegisterHotKey(Handle, hotkeyid, MOD_CONTROL,$43);
RegisterHotKey(Handle, hotkeyid, MOD_CONTROL,$56);
end;
Top
13 楼hottey(点亮心灵)(基础补习中)回复于 2003-12-05 18:36:06 得分 1
先判断在写上如下语句:
key:=0;Top




