哪位有只能输入货币格式数字的 Edit 控件(50分)

  • 主题发起人 主题发起人 乖乖兔
  • 开始时间 开始时间

乖乖兔

Unregistered / Unconfirmed
GUEST, unregistred user!
只能输入数字 0-9,带2位小数。要求数字在右端显示。
如: 0.00
123456789.00
123.56
前面带不带¥符号都可以.

在DELPHI中虽然有MaskEdit,但我不想用它。
请有的朋友给我发一个。
bolenl@etang.com
 
cakk.126.com
近期可能上不去。
如果还有其他的控件,请也给我发一个, ccbredstar@yeah.net
另加30分,不食言。
 
rxlib中的currencyEdit.
 
rxlib在哪里有?
 
我这儿有个简单的方法(这种要求很容易满足,何必要控件呢?):
放置一个memo,wordwrap:=false,scrollbar:=ssnone;wantreturn:=false,alignment:=tarightjustify
onkeypress事件中:
var
pointpos,strlen:integer;
begin
if key=#8 then exit;//输入退格键。
if key=#13 then//输入回车键。
begin
key:=#0;
(findnextcontrol(sender as twincontrol,true,true,true)).setfocus;//跳到tab序中的下一个。
exit;
end;
if not (key in ['0'..'9','.']) then key:=#0;
pointpos:=pos('.',edprice.text);//查找小数点的位置
strlen:=length(edprice.text);当前光标的位置
if (pointpos<>0) and (strlen-pointpos=2) and (edprice.SelStart>pointpos) then key:=#0; //小数点后只能输入两位数字
if (pointpos<>0) and (key='.') then key:=#0;//不能输入两个以上的小数点。
end;
这段程序应该能够满足你的要求吧!
 
应该可以!
 
我有个控件明天上传到我的主页上你去看吧
<a href="http://porsche.coolbel.com">http://porsche.coolbel.com</a>
 
hhzh426:
你这段程序我没有试过,可能是可以的,但我的程序中很多地方用到这样的控件。
这样弄起来会很麻烦,最好是有提供一个单独的控件。
还有一个要求就是输小数点前的数字,光标要一直停留在小数点前,
输入的数一个一个的往前移,删除时,一个一个住后移。

如:
123|.00
现在再输入一个 4 时就变成
1234|.00
刚输入的数字加在小数点'.'前,前面字数字往前移。
<-- 12345|.00
 
使用Delphi自带的MaskEdit就行啦,您要设定他的掩码
 
RXLIB控件集一直就装在机子上,怎么就没有注意这个东东呢?还到处寻找。
经过 wuyi 的提示,才发现了这个东东谢谢!
hhzh426的方法也是个不错的用法。

谢谢两位。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部