我这儿有个简单的方法(这种要求很容易满足,何必要控件呢?):
放置一个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;
这段程序应该能够满足你的要求吧!