帮我看看这段代码怎么写才对!

zsjzwj 2003-12-12 05:53:38
unit EditEH;

interface

uses
Windows, Messages, SysUtils, Classes, Controls, StdCtrls;

type
TStyleArray =(saFloat, saInt, saIP, saStr);
TEditEH = class(TEdit)
private
{ Private declarations }
FStyle : TStyleArray;
procedure SetText(const value: TStyleArray);
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
protected
{ Protected declarations }

public
{ Public declarations }
published
{ Published declarations }
property Style : TStyleArray read FStyle write SetText;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('MyVcl', [TEditEH]);
end;

procedure TEditEH.SetText(const value: TStyleArray);
begin
if FStyle = value then exit
else FStyle := value;
Invalidate;
end;

procedure TEditEH.KeyDown(var Key: Word; Shift: TShiftState);
begin
inherited KeyDown(Key, Shift);
if FStyle=saInt then
begin
if not(key in [48..57,8]) then
begin
key := 0;
end;
end
else if FStyle=saFloat then
begin
if not(key in [46,48..57,8]) then
begin
key := 0;
end;
end
else if FStyle=saIP then
begin

end;
end;

end.
...全文
30 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsjzwj 2003-12-12
  • 打赏
  • 举报
回复
to jiju(UNCC)

问题解决,谢了!分都是你的
jiju 2003-12-12
  • 打赏
  • 举报
回复
不可能吧,procedure KeyPress(var Key: Char); override;
jacky22 2003-12-12
  • 打赏
  • 举报
回复
不要继承方法,应可以,直接重载
zsjzwj 2003-12-12
  • 打赏
  • 举报
回复
to jiju(UNCC) :

重载了keypress连编译都不能通过了呀!
jiju 2003-12-12
  • 打赏
  • 举报
回复
重载keydown 改为重载KeyPress
zsjzwj 2003-12-12
  • 打赏
  • 举报
回复
自己顶
zsjzwj 2003-12-12
  • 打赏
  • 举报
回复
回复人: aiirii(ari) ( ) 信誉:105

我把inherited keydown(key,shift);放在最后也不行呀!
aiirii 2003-12-12
  • 打赏
  • 举报
回复
procedure TEditEH.KeyDown(var Key: Word; Shift: TShiftState);
begin
inherited KeyDown(Key, Shift); 你都調用了默認的處理了, 下面的就沒什麼作用了, 這句要用在最後
zsjzwj 2003-12-12
  • 打赏
  • 举报
回复
我想做一个可以控制输入的编辑框,
有(int,float,IP和string)这些类型选择,

但是现在只做了键盘输入控制,

编译通过了,却什么也控制不了!why?
zhoutian618 2003-12-12
  • 打赏
  • 举报
回复
没有理解楼主的意思?
编译通不过?
代码没有实现你的功能?
耙子 2003-12-12
  • 打赏
  • 举报
回复
起码说说想达到什么目的,现在什么问题,
没头没脑的一段代码谁愿意给你看呀!
crapex 2003-12-12
  • 打赏
  • 举报
回复
是哪个地方不对?

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧