如何让Edit控件只能输入一个汉字或一个字符(即使用Ctrl + V和用鼠标右键菜单中的粘贴也只能输入一个汉字或一个字符(123abc!~'等等)),
并且Edit里面的内容不会闪动?(既在按住Ctrl + V时Edit里面的内容不闪动)
并且Edit里面的内容不会闪动?(既在按住Ctrl + V时Edit里面的内容不闪动)
解决方案 »
- 如何实现支持多语言、多环境的Delphi程序
- 如何在处理文字录入,显示,判断中特殊数学符号的问题~
- 急求助:关于ISAPI Filter的编写问题.(2000分)
- 请问,我如何实现点击按钮使combobox控件弹出下拉菜单呢?请帮助.
- 怎么学好Delphi
- Pooling的问题
- 请问在哪里能下载适合于Delphi6.0的BUPACK的最新版本
- 在线等待:高分请教,如何获得 *.mp3的tag信息。详情请看内容。 谢谢 !
- 问一个简单的函数使用
- 请问怎么自己定造控件!急
- 如何关闭一个窗口后,在自动打开该窗口。
- 使用TClientDataSet的SaveToStream和LoadFromStream来对其DATA进行传递的问题
例:
procedure TForm1.Edit1Change(Sender: TObject);
begin
if length(edit1.Text)>2 then
edit1.Text:=edit1.Text;
end;
begin
if length(edit1.text)>1 then
if ByteType(edit1.text[1])<>mbLeadByte then edit1.text:=copy(edit1.text,1,1);
if length(edit1.text)>2 then
if ByteType(edit1.text[1])=mbLeadByte then edit1.text:=copy(edit1.text,1,2);
end;
var
s: widestring;
begin
s := edit1.Text;
if length(s) > 1 then
edit1.text := edit1.Hint
else
edit1.Hint := edit1.text
end;
楼上的各位,我先谢了。但是…………
我要的是不闪的方法,在Chang事件里处理的话如果按住Ctrl + V时Edit里面的内容会闪动,我想是不是应该在Chang事件之前进行处理,用截获消息的方法?因为我看到一个用VB写的程序,他的Edit控件里只能输入一个字符或汉字,而且按住Ctrl + V时Edit里面的内容不会闪动,就象是设置Maxlength那种情况!但是(98下)如果设置Maxlength为1的话则不能输入汉字,所以只能设置为2,这时就要对输入的字符进行处理了。
不闪的才是健康的!