delphi 如何使得编辑框内容不能被选中或全选
如题,可读可写,但是不能选中里面的字符进行复制。我要做的不是禁用编辑框的右键菜单,只是想要不能选中里面的字符。...
如题,可读可写,但是不能选中里面的字符进行复制。我要做的不是禁用编辑框的右键菜单,只是想要不能选中里面的字符。
展开
4个回答
展开全部
在键盘按下事件中限制左右移动键、限制鼠标的抬起事件就可达到目地。
procedure TForm1.Edit1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Edit1.SelLength := 0;
end;
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = 37) or (Key = 39) then Key := 0;
end;
procedure TForm1.Edit1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Edit1.SelLength := 0;
end;
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = 37) or (Key = 39) then Key := 0;
end;
展开全部
{
禁止Edit中选择内容
by 宋银海
QQ:25337012
}
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Clipbrd;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
private
{ Private declarations }
procedure NoSelect;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin //禁止键盘选择
NoSelect;
end;
procedure TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin//禁止鼠标选择
NoSelect;
end;
procedure TForm1.NoSelect;
begin//禁止选择
if Edit1.SelLength>0 then
begin
Edit1.SelStart:=0;
Edit1.SelLength:=0;
Edit1.SelText:='';
end;
end;
end.
禁止Edit中选择内容
by 宋银海
QQ:25337012
}
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Clipbrd;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
private
{ Private declarations }
procedure NoSelect;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin //禁止键盘选择
NoSelect;
end;
procedure TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin//禁止鼠标选择
NoSelect;
end;
procedure TForm1.NoSelect;
begin//禁止选择
if Edit1.SelLength>0 then
begin
Edit1.SelStart:=0;
Edit1.SelLength:=0;
Edit1.SelText:='';
end;
end;
end.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
既然能够可写,为什么不让复制啊,不符合需求吧,呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是要不能选中还是不能复制啊?
两件事情呢
两件事情呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询