|
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"必須入力自動キャンセル MaskEdit"
EditMask に必須入力のフォーマット指定を行うと、フォーカスが離れたり、
ENTER入力で、「入力値が不正です。エスケープキーで変更を取り消せます」
と、いちいち出てしまう現象を回避し、自動的に変更取り消しを行う、
MaskEdit コントロールです。
※Delphi 4, 5 のみ
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask;
type
TAutoCancelMaskEdit = class(TMaskEdit)
private
FAutoCancel: Boolean;
public
procedure ValidateEdit; override;
published
property AutoCancel: Boolean read FAutoCancel write FAutoCancel;
end;
implementation
{ TAutoCancelMaskEdit }
procedure TAutoCancelMaskEdit.ValidateEdit;
var
Str: string;
Pos: Integer;
begin
Str := EditText;
if IsMasked and Modified then
begin
if not Validate(Str, Pos) then
begin
if FAutoCancel then
begin
Reset;
end else begin
if not (csDesigning in ComponentState) then
begin
MaskState := MaskState + [msReEnter];
SetFocus;
end;
SetCursor(Pos);
ValidateError;
end;
end;
end;
end;
▲● 2000/06/27 17:01 JDX06162(とんちんかんちんかとちん)
■ Inprise Delphi ... The Great Development Kit
uses D2Desktop, D3CSS, D4CSS, D5ENT;
Original document by かとちん 氏 ID:(JDX06162)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|