D7下的只能输入数字的控件(类似PB的MaskEdit)

作者分享了在Delphi 7(D7)中创建一个只允许输入数字的自定义控件TComerMaskEdit的过程。这个控件支持设置数字前缀、小数位数,并在输入时进行位数限制和格式化。
摘要由CSDN通过智能技术生成

我发现Delphi下没有很好用的只能输入数字的控件。所以自己写了一个(D7)。

菜鸟一个,希望大家多多指点。呵呵。。。

unit ComerMaskEdit;

interface

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

type
  TComerMaskEdit = class(TEdit)
  private
    FMdNumber: string;
    FIpo : Integer;
    FLen : Integer;
    procedure SetMdNumber(const Value: string);
    procedure WMPaste(var Message: TMessage); message WM_PASTE;
    { Private declarations }
  protected
    procedure CreateWnd;override;
    { Protected declarations }
  public
    constructor Create(AOwner:TComponent);override;
    procedure DoEnter(); override;
    procedure DoExit(); override;
    procedure KeyPress(var Key: Char); override;
    procedure KeyDown (var Key: Word; Shift: TShiftState);override;
    { Public declarations }
  published
    property MdNumber:string read FMdNumber write SetMdNumber;
    { Published declarations }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Standard', [TComerMaskEdit]);
end;

{TComerMaskEdit}

constructor TComerMaskEdit.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
    Font.Size :=12;
    Font.Name:='宋体';
    Font.Charset:=GB2312_CHARSET;
    FMdNumber := '';
end;

procedure TComerMaskEdit.CreateWnd;
var
  I, k : Integer;
  S, Str : string;
begin
  inherited;
    if not Enabled then
        Font.Color := clNavy;
    Font.Size :=12;
    Font.Name :='宋体';
    Font.Charset :=GB2312_CHARSET;
    if FMdNumber <> '' then
    begin
        I := Pos(',',FMdNumber);
        if I > 0 then
        begin
         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值