Updated notes and added example program for TO32FlexEdit.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@50 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
macpgmr 2007-01-28 20:57:21 +00:00
parent a1f5653217
commit 9e709906f5
11 changed files with 744 additions and 2 deletions

View File

@ -33,6 +33,19 @@
<A name="Whats_New"></A><H3>What's New</H3>
<UL>
<LI>20070128 release:
<UL>
<LI>An example program that demos the TO32FlexEdit control has been added
even though validation doesn't work with LCL (see "To Do" list below).
If you have Delphi you can compile the example to see how validation
is supposed to work.
<LI>Recent changes in FPC 2.1.1 appear to have broken both the Columns
and Rows design-time property editors for the TOvcTable control. The
property editors still work with FPC 2.0.4. Stay tuned...
<LI>Custom cursors are now visible when resizing table columns at runtime on
Windows. However, cursor also disappears sometimes. Stay tuned on
this one too...<P>
</UL>
<LI>20070127 note:
<UL>
<LI>Recent improvements in the Lazarus Qt widgetset make a couple of Orpheus controls
@ -554,7 +567,8 @@ However, TO32FlexEdit doesn't need TOvcController.<P>
callback function from method. Without this, control's validation is not
performed. (See LclEditWindowProc in ovctccbx.pas for example
of a workaround approach that currently doesn't work.)
<LI>Can't tab out of control on Windows.
<LI>Can't tab out of control on Windows with win32 widgetset (tabbing works
with qt widgetset on Windows though).
</UL>
<LI>TOvcTable
<UL>
@ -598,7 +612,7 @@ OS X tips for Lazarus:<P>
<P>
<HR>
Last updated: Jan. 27, 2007
Last updated: Jan. 28, 2007
<P>
</BODY>

View File

@ -0,0 +1,175 @@
<?xml version="1.0" encoding="utf-8"?>
<BorlandProject>
<PersonalityInfo>
<Option>
<Option Name="Personality">Delphi.Personality</Option>
<Option Name="ProjectType">VCLApplication</Option>
<Option Name="Version">1.0</Option>
<Option Name="GUID">{CD069137-4C4C-40B2-AAA5-777E14CC0753}</Option>
</Option>
</PersonalityInfo>
<Delphi.Personality>
<Source>
<Source Name="MainSource">project1.dpr</Source>
</Source>
<FileVersion>
<FileVersion Name="Version">7.0</FileVersion>
</FileVersion>
<Compiler>
<Compiler Name="A">8</Compiler>
<Compiler Name="B">0</Compiler>
<Compiler Name="C">1</Compiler>
<Compiler Name="D">1</Compiler>
<Compiler Name="E">0</Compiler>
<Compiler Name="F">0</Compiler>
<Compiler Name="G">1</Compiler>
<Compiler Name="H">1</Compiler>
<Compiler Name="I">1</Compiler>
<Compiler Name="J">0</Compiler>
<Compiler Name="K">0</Compiler>
<Compiler Name="L">1</Compiler>
<Compiler Name="M">0</Compiler>
<Compiler Name="N">1</Compiler>
<Compiler Name="O">1</Compiler>
<Compiler Name="P">1</Compiler>
<Compiler Name="Q">1</Compiler>
<Compiler Name="R">1</Compiler>
<Compiler Name="S">0</Compiler>
<Compiler Name="T">1</Compiler>
<Compiler Name="U">0</Compiler>
<Compiler Name="V">1</Compiler>
<Compiler Name="W">0</Compiler>
<Compiler Name="X">1</Compiler>
<Compiler Name="Y">1</Compiler>
<Compiler Name="Z">1</Compiler>
<Compiler Name="ShowHints">True</Compiler>
<Compiler Name="ShowWarnings">True</Compiler>
<Compiler Name="UnitAliases">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler>
<Compiler Name="NamespacePrefix"></Compiler>
<Compiler Name="GenerateDocumentation">False</Compiler>
<Compiler Name="DefaultNamespace"></Compiler>
<Compiler Name="SymbolDeprecated">True</Compiler>
<Compiler Name="SymbolLibrary">True</Compiler>
<Compiler Name="SymbolPlatform">True</Compiler>
<Compiler Name="SymbolExperimental">True</Compiler>
<Compiler Name="UnitLibrary">True</Compiler>
<Compiler Name="UnitPlatform">True</Compiler>
<Compiler Name="UnitDeprecated">True</Compiler>
<Compiler Name="UnitExperimental">True</Compiler>
<Compiler Name="HResultCompat">True</Compiler>
<Compiler Name="HidingMember">True</Compiler>
<Compiler Name="HiddenVirtual">True</Compiler>
<Compiler Name="Garbage">True</Compiler>
<Compiler Name="BoundsError">True</Compiler>
<Compiler Name="ZeroNilCompat">True</Compiler>
<Compiler Name="StringConstTruncated">True</Compiler>
<Compiler Name="ForLoopVarVarPar">True</Compiler>
<Compiler Name="TypedConstVarPar">True</Compiler>
<Compiler Name="AsgToTypedConst">True</Compiler>
<Compiler Name="CaseLabelRange">True</Compiler>
<Compiler Name="ForVariable">True</Compiler>
<Compiler Name="ConstructingAbstract">True</Compiler>
<Compiler Name="ComparisonFalse">True</Compiler>
<Compiler Name="ComparisonTrue">True</Compiler>
<Compiler Name="ComparingSignedUnsigned">True</Compiler>
<Compiler Name="CombiningSignedUnsigned">True</Compiler>
<Compiler Name="UnsupportedConstruct">True</Compiler>
<Compiler Name="FileOpen">True</Compiler>
<Compiler Name="FileOpenUnitSrc">True</Compiler>
<Compiler Name="BadGlobalSymbol">True</Compiler>
<Compiler Name="DuplicateConstructorDestructor">True</Compiler>
<Compiler Name="InvalidDirective">True</Compiler>
<Compiler Name="PackageNoLink">True</Compiler>
<Compiler Name="PackageThreadVar">True</Compiler>
<Compiler Name="ImplicitImport">True</Compiler>
<Compiler Name="HPPEMITIgnored">True</Compiler>
<Compiler Name="NoRetVal">True</Compiler>
<Compiler Name="UseBeforeDef">True</Compiler>
<Compiler Name="ForLoopVarUndef">True</Compiler>
<Compiler Name="UnitNameMismatch">True</Compiler>
<Compiler Name="NoCFGFileFound">True</Compiler>
<Compiler Name="ImplicitVariants">True</Compiler>
<Compiler Name="UnicodeToLocale">True</Compiler>
<Compiler Name="LocaleToUnicode">True</Compiler>
<Compiler Name="ImagebaseMultiple">True</Compiler>
<Compiler Name="SuspiciousTypecast">True</Compiler>
<Compiler Name="PrivatePropAccessor">True</Compiler>
<Compiler Name="UnsafeType">False</Compiler>
<Compiler Name="UnsafeCode">False</Compiler>
<Compiler Name="UnsafeCast">False</Compiler>
<Compiler Name="OptionTruncated">True</Compiler>
<Compiler Name="WideCharReduced">True</Compiler>
<Compiler Name="DuplicatesIgnored">True</Compiler>
<Compiler Name="UnitInitSeq">True</Compiler>
<Compiler Name="LocalPInvoke">True</Compiler>
<Compiler Name="MessageDirective">True</Compiler>
<Compiler Name="CodePage"></Compiler>
</Compiler>
<Linker>
<Linker Name="MapFile">0</Linker>
<Linker Name="OutputObjs">0</Linker>
<Linker Name="GenerateHpps">False</Linker>
<Linker Name="ConsoleApp">1</Linker>
<Linker Name="DebugInfo">False</Linker>
<Linker Name="RemoteSymbols">False</Linker>
<Linker Name="GenerateDRC">False</Linker>
<Linker Name="MinStackSize">16384</Linker>
<Linker Name="MaxStackSize">1048576</Linker>
<Linker Name="ImageBase">4194304</Linker>
<Linker Name="ExeDescription"></Linker>
</Linker>
<Directories>
<Directories Name="OutputDir"></Directories>
<Directories Name="UnitOutputDir"></Directories>
<Directories Name="PackageDLLOutputDir"></Directories>
<Directories Name="PackageDCPOutputDir"></Directories>
<Directories Name="SearchPath">C:\Orpheus4\FPC</Directories>
<Directories Name="Packages">vcl;rtl;vclx;indy;vclie;xmlrtl;inetdbbde;inet;inetdbxpress;dbrtl;soaprtl;dsnap;VclSmp;dbexpress;vcldb;dbxcds;inetdb;bdertl;vcldbx;adortl;teeui;teedb;tee;ibxpress;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOffice2k</Directories>
<Directories Name="Conditionals"></Directories>
<Directories Name="DebugSourceDirs"></Directories>
<Directories Name="UsePackages">False</Directories>
</Directories>
<Parameters>
<Parameters Name="RunParams"></Parameters>
<Parameters Name="HostApplication"></Parameters>
<Parameters Name="Launcher"></Parameters>
<Parameters Name="UseLauncher">False</Parameters>
<Parameters Name="DebugCWD"></Parameters>
<Parameters Name="Debug Symbols Search Path"></Parameters>
<Parameters Name="LoadAllSymbols">True</Parameters>
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
</Parameters>
<Language>
<Language Name="ActiveLang"></Language>
<Language Name="ProjectLang">$00000000</Language>
<Language Name="RootDir"></Language>
</Language>
<VersionInfo>
<VersionInfo Name="IncludeVerInfo">False</VersionInfo>
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
<VersionInfo Name="MajorVer">1</VersionInfo>
<VersionInfo Name="MinorVer">0</VersionInfo>
<VersionInfo Name="Release">0</VersionInfo>
<VersionInfo Name="Build">0</VersionInfo>
<VersionInfo Name="Debug">False</VersionInfo>
<VersionInfo Name="PreRelease">False</VersionInfo>
<VersionInfo Name="Special">False</VersionInfo>
<VersionInfo Name="Private">False</VersionInfo>
<VersionInfo Name="DLL">False</VersionInfo>
<VersionInfo Name="Locale">1033</VersionInfo>
<VersionInfo Name="CodePage">1252</VersionInfo>
</VersionInfo>
<VersionInfoKeys>
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
</VersionInfoKeys>
</Delphi.Personality>
</BorlandProject>

View File

@ -0,0 +1,38 @@
-$A8
-$B-
-$C+
-$D+
-$E-
-$F-
-$G+
-$H+
-$I+
-$J-
-$K-
-$L+
-$M-
-$N+
-$O+
-$P+
-$Q+
-$R+
-$S-
-$T+
-$U-
-$V+
-$W-
-$X+
-$YD
-$Z1
-cg
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-H+
-W+
-M
-$M16384,1048576
-K$00400000
-LE"c:\delphi7\Projects\Bpl"
-LN"c:\delphi7\Projects\Bpl"
-w-UNSAFE_TYPE
-w-UNSAFE_CODE
-w-UNSAFE_CAST

View File

@ -0,0 +1,136 @@
[FileVersion]
Version=7.0
[Compiler]
A=8
B=0
C=1
D=1
E=0
F=0
G=1
H=1
I=1
J=0
K=0
L=1
M=0
N=1
O=1
P=1
Q=1
R=1
S=0
T=1
U=0
V=1
W=0
X=1
Y=1
Z=1
ShowHints=1
ShowWarnings=1
UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
NamespacePrefix=
SymbolDeprecated=1
SymbolLibrary=1
SymbolPlatform=1
UnitLibrary=1
UnitPlatform=1
UnitDeprecated=1
HResultCompat=1
HidingMember=1
HiddenVirtual=1
Garbage=1
BoundsError=1
ZeroNilCompat=1
StringConstTruncated=1
ForLoopVarVarPar=1
TypedConstVarPar=1
AsgToTypedConst=1
CaseLabelRange=1
ForVariable=1
ConstructingAbstract=1
ComparisonFalse=1
ComparisonTrue=1
ComparingSignedUnsigned=1
CombiningSignedUnsigned=1
UnsupportedConstruct=1
FileOpen=1
FileOpenUnitSrc=1
BadGlobalSymbol=1
DuplicateConstructorDestructor=1
InvalidDirective=1
PackageNoLink=1
PackageThreadVar=1
ImplicitImport=1
HPPEMITIgnored=1
NoRetVal=1
UseBeforeDef=1
ForLoopVarUndef=1
UnitNameMismatch=1
NoCFGFileFound=1
MessageDirective=1
ImplicitVariants=1
UnicodeToLocale=1
LocaleToUnicode=1
ImagebaseMultiple=1
SuspiciousTypecast=1
PrivatePropAccessor=1
UnsafeType=0
UnsafeCode=0
UnsafeCast=0
[Linker]
MapFile=0
OutputObjs=0
ConsoleApp=1
DebugInfo=0
RemoteSymbols=0
MinStackSize=16384
MaxStackSize=1048576
ImageBase=4194304
ExeDescription=
[Directories]
OutputDir=
UnitOutputDir=
PackageDLLOutputDir=
PackageDCPOutputDir=
SearchPath=
Packages=vcl;rtl;vclx;indy;vclie;xmlrtl;inetdbbde;inet;inetdbxpress;dbrtl;soaprtl;dsnap;VclSmp;dbexpress;vcldb;dbxcds;inetdb;bdertl;vcldbx;adortl;teeui;teedb;tee;ibxpress;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOffice2k
Conditionals=
DebugSourceDirs=
UsePackages=0
[Parameters]
RunParams=
HostApplication=
Launcher=
UseLauncher=0
DebugCWD=
[Language]
ActiveLang=
ProjectLang=
RootDir=
[Version Info]
IncludeVerInfo=0
AutoIncBuild=0
MajorVer=1
MinorVer=0
Release=0
Build=0
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=1033
CodePage=1252
[Version Info Keys]
CompanyName=
FileDescription=
FileVersion=1.0.0.0
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=

View File

@ -0,0 +1,18 @@
program Project1;
uses
{$IFDEF LCL}
Interfaces,
{$ENDIF}
Forms,
Unit1 in 'unit1.pas' {Form1};
{$IFDEF MSWINDOWS}
{$R *.res}
{$ENDIF}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,110 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="\"/>
<Version Value="5"/>
<General>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=".exe"/>
<ActiveEditorIndexAtStart Value="1"/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
<Language Value=""/>
<CharSet Value=""/>
</VersionInfo>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="2">
<Item1>
<PackageName Value="Orpheus"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="2">
<Unit0>
<Filename Value="project1.dpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="31" Y="8"/>
<TopLine Value="1"/>
<EditorIndex Value="0"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="unit1.lrs"/>
<UnitName Value="Unit1"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<EditorIndex Value="1"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit1>
</Units>
<JumpHistory Count="0" HistoryIndex="-1"/>
</ProjectOptions>
<CompilerOptions>
<Version Value="5"/>
<PathDelim Value="\"/>
<SearchPaths>
<SrcPath Value="$(LazarusDir)\lcl\;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)\"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<D2Extensions Value="False"/>
<CStyleOperator Value="False"/>
<AllowLabel Value="False"/>
<CPPInline Value="False"/>
<DelphiCompat Value="True"/>
</SyntaxOptions>
</Parsing>
<CodeGeneration>
<Checks>
<IOChecks Value="True"/>
<RangeChecks Value="True"/>
<OverflowChecks Value="True"/>
<StackChecks Value="True"/>
</Checks>
</CodeGeneration>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<Verbosity>
<ShowExecInfo Value="True"/>
</Verbosity>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="2">
<Item1>
<Name Value="ECodetoolError"/>
</Item1>
<Item2>
<Name Value="EFOpenError"/>
</Item2>
</Exceptions>
</Debugging>
</CONFIG>

Binary file not shown.

View File

@ -0,0 +1,80 @@
object Form1: TForm1
Left = 192
Top = 114
Width = 423
Height = 323
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 16
Top = 24
Width = 385
Height = 33
Alignment = taCenter
AutoSize = False
Caption = 'Enter a positive integer, then move to next control to validate.'
WordWrap = True
end
object Label2: TLabel
Left = 16
Top = 104
Width = 385
Height = 33
Alignment = taCenter
AutoSize = False
Caption =
'Enter a positive real number, then move to next control to valid' +
'ate.'
WordWrap = True
end
object O32FlexEdit1: TO32FlexEdit
Left = 168
Top = 56
Width = 81
Height = 21
EfColors.Disabled.BackColor = clWindow
EfColors.Disabled.TextColor = clGrayText
EfColors.Error.BackColor = clRed
EfColors.Error.TextColor = clBlack
EfColors.Highlight.BackColor = clHighlight
EfColors.Highlight.TextColor = clHighlightText
TabOrder = 0
Validation.BeepOnError = True
Validation.SoftValidation = False
Validation.ValidationEvent = veOnExit
Validation.ValidatorType = 'None'
Validation.ValidationType = vtUser
Validation.InputRequired = False
OnUserValidation = O32FlexEdit1UserValidation
OnValidationError = O32FlexEditValidationError
end
object O32FlexEdit2: TO32FlexEdit
Left = 168
Top = 136
Width = 81
Height = 21
EfColors.Disabled.BackColor = clWindow
EfColors.Disabled.TextColor = clGrayText
EfColors.Error.BackColor = clRed
EfColors.Error.TextColor = clBlack
EfColors.Highlight.BackColor = clHighlight
EfColors.Highlight.TextColor = clHighlightText
TabOrder = 1
Validation.BeepOnError = True
Validation.SoftValidation = False
Validation.ValidationEvent = veOnExit
Validation.ValidatorType = 'None'
Validation.ValidationType = vtUser
Validation.InputRequired = False
OnUserValidation = O32FlexEdit2UserValidation
OnValidationError = O32FlexEditValidationError
end
end

View File

@ -0,0 +1,79 @@
object Form1: TForm1
Left = 192
Top = 114
Width = 415
Height = 289
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 16
Top = 24
Width = 385
Height = 33
Alignment = taCenter
AutoSize = False
Caption = 'Enter a positive integer, then move to next control to validate.'
WordWrap = True
end
object Label2: TLabel
Left = 16
Top = 104
Width = 385
Height = 33
Alignment = taCenter
AutoSize = False
Caption =
'Enter a positive real number, then move to next control to valid' +
'ate.'
WordWrap = True
end
object O32FlexEdit1: TO32FlexEdit
Left = 168
Top = 56
Width = 81
Height = 21
EfColors.Disabled.BackColor = clWindow
EfColors.Disabled.TextColor = clGrayText
EfColors.Error.BackColor = clRed
EfColors.Error.TextColor = clBlack
EfColors.Highlight.BackColor = clHighlight
EfColors.Highlight.TextColor = clHighlightText
TabOrder = 0
Validation.BeepOnError = True
Validation.SoftValidation = False
Validation.ValidationEvent = veOnExit
Validation.ValidatorType = 'None'
Validation.ValidationType = vtUser
Validation.InputRequired = False
OnUserValidation = O32FlexEdit1UserValidation
OnValidationError = O32FlexEditValidationError
end
object O32FlexEdit2: TO32FlexEdit
Left = 168
Top = 136
Width = 81
Height = 21
EfColors.Disabled.BackColor = clWindow
EfColors.Disabled.TextColor = clGrayText
EfColors.Error.BackColor = clRed
EfColors.Error.TextColor = clBlack
EfColors.Highlight.BackColor = clHighlight
EfColors.Highlight.TextColor = clHighlightText
TabOrder = 1
Validation.BeepOnError = True
Validation.SoftValidation = False
Validation.ValidationEvent = veOnExit
Validation.ValidatorType = 'None'
Validation.ValidationType = vtUser
Validation.InputRequired = False
OnUserValidation = O32FlexEdit2UserValidation
OnValidationError = O32FlexEditValidationError
end
end

View File

@ -0,0 +1,32 @@
LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3#192#0#3'Top'#2'r'#5'Width'#3#159#1#6'Heig'
+'ht'#3'!'#1#7'Caption'#6#5'Form1'#5'Color'#7#9'clBtnFace'#12'Font.Charset'#7
+#15'DEFAULT_CHARSET'#10'Font.Color'#7#12'clWindowText'#11'Font.Height'#2#245
+#9'Font.Name'#6#13'MS Sans Serif'#10'Font.Style'#11#0#13'PixelsPerInch'#2'`'
+#10'TextHeight'#2#13#0#6'TLabel'#6'Label1'#4'Left'#2#16#3'Top'#2#24#5'Width'
+#3#129#1#6'Height'#2'!'#9'Alignment'#7#8'taCenter'#8'AutoSize'#8#7'Caption'#6
+'@Enter a positive integer, then move to next control to validate.'#8'WordWr'
+'ap'#9#0#0#6'TLabel'#6'Label2'#4'Left'#2#16#3'Top'#2'h'#5'Width'#3#129#1#6'H'
+'eight'#2'!'#9'Alignment'#7#8'taCenter'#8'AutoSize'#8#7'Caption'#6'DEnter a '
+'positive real number, then move to next control to validate.'#8'WordWrap'#9
+#0#0#12'TO32FlexEdit'#12'O32FlexEdit1'#4'Left'#3#168#0#3'Top'#2'8'#5'Width'#2
+'Q'#6'Height'#2#21#27'EfColors.Disabled.BackColor'#7#8'clWindow'#27'EfColors'
+'.Disabled.TextColor'#7#10'clGrayText'#24'EfColors.Error.BackColor'#7#5'clRe'
+'d'#24'EfColors.Error.TextColor'#7#7'clBlack'#28'EfColors.Highlight.BackColo'
+'r'#7#11'clHighlight'#28'EfColors.Highlight.TextColor'#7#15'clHighlightText'
+#8'TabOrder'#2#0#22'Validation.BeepOnError'#9#25'Validation.SoftValidation'#8
+#26'Validation.ValidationEvent'#7#8'veOnExit'#24'Validation.ValidatorType'#6
+#4'None'#25'Validation.ValidationType'#7#6'vtUser'#24'Validation.InputRequir'
+'ed'#8#16'OnUserValidation'#7#26'O32FlexEdit1UserValidation'#17'OnValidation'
+'Error'#7#26'O32FlexEditValidationError'#0#0#12'TO32FlexEdit'#12'O32FlexEdit'
+'2'#4'Left'#3#168#0#3'Top'#3#136#0#5'Width'#2'Q'#6'Height'#2#21#27'EfColors.'
+'Disabled.BackColor'#7#8'clWindow'#27'EfColors.Disabled.TextColor'#7#10'clGr'
+'ayText'#24'EfColors.Error.BackColor'#7#5'clRed'#24'EfColors.Error.TextColor'
+#7#7'clBlack'#28'EfColors.Highlight.BackColor'#7#11'clHighlight'#28'EfColors'
+'.Highlight.TextColor'#7#15'clHighlightText'#8'TabOrder'#2#1#22'Validation.B'
+'eepOnError'#9#25'Validation.SoftValidation'#8#26'Validation.ValidationEvent'
+#7#8'veOnExit'#24'Validation.ValidatorType'#6#4'None'#25'Validation.Validati'
+'onType'#7#6'vtUser'#24'Validation.InputRequired'#8#16'OnUserValidation'#7#26
+'O32FlexEdit2UserValidation'#17'OnValidationError'#7#26'O32FlexEditValidatio'
+'nError'#0#0#0
]);

View File

@ -0,0 +1,60 @@
unit Unit1;
interface
uses
{$IFNDEF LCL} Windows, Messages, {$ELSE} LclIntf, LMessages, LclType, LResources, {$ENDIF}
SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, o32editf, o32flxed;
type
TForm1 = class(TForm)
Label1: TLabel;
O32FlexEdit1: TO32FlexEdit;
Label2: TLabel;
O32FlexEdit2: TO32FlexEdit;
procedure O32FlexEdit1UserValidation(Sender: TObject;
var ValidEntry: Boolean);
procedure O32FlexEditValidationError(Sender: TObject; ErrorCode: Word;
ErrorMsg: String);
procedure O32FlexEdit2UserValidation(Sender: TObject;
var ValidEntry: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$IFNDEF LCL}
{$R *.dfm}
{$ENDIF}
procedure TForm1.O32FlexEdit1UserValidation(Sender: TObject;
var ValidEntry: Boolean);
begin
ValidEntry := StrToIntDef(TO32FlexEdit(Sender).Text, 0) > 0;
end;
procedure TForm1.O32FlexEditValidationError(Sender: TObject;
ErrorCode: Word; ErrorMsg: String);
begin
MessageDlg(ErrorMsg + #13#10 + 'Press Ctrl+Z to undo.', mtError, [mbOK], 0);
end;
procedure TForm1.O32FlexEdit2UserValidation(Sender: TObject;
var ValidEntry: Boolean);
begin
ValidEntry := StrToFloatDef(TO32FlexEdit(Sender).Text, 0) > 0;
end;
initialization
{$IFDEF LCL}
{$I unit1.lrs} {Include form's resource file}
{$ENDIF}
end.