delphi 如何使得编辑框内容不能被选中或全选
答案:4 悬赏:80
解决时间 2021-03-14 09:39
- 提问者网友:夕夏残阳落幕
- 2021-03-14 00:53
如题,可读可写,但是不能选中里面的字符进行复制。我要做的不是禁用编辑框的右键菜单,只是想要不能选中里面的字符。
最佳答案
- 二级知识专家网友:一个很哇塞的汉子
- 2021-03-14 01:02
在键盘按下事件中限制左右移动键、限制鼠标的抬起事件就可达到目地。
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;
全部回答
- 1楼网友:青灯壁纸妹
- 2021-03-14 04:26
响应getfocus()消息,setcursel(-1,-1).
- 2楼网友:陪伴是最长情的告白
- 2021-03-14 03:54
是要不能选中还是不能复制啊?
两件事情呢
- 3楼网友:何以畏孤独
- 2021-03-14 02:33
{
禁止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.
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯