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

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.
...全文
12 12 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
是哪个地方不对?
  • 打赏
  • 举报
回复
相关推荐
发帖
Delphi
加入

5068

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2003-12-12 05:53
社区公告
暂无公告