一般控件我可以通过给于我们的属性设置,但我们不可能满足这些属性 比如我们要edit1.text只能是数字,虽然我可以在edit.change监控,但 其控件style已提供相应的style,下面是代码----还有一些style自己 试一下。 var defstyle: dWord; begin defstyle := GetWindowLong(Edit1.Handle, GWL_STYLE); SetWindowLong(Edit1.Handle, GWL_STYLE, defstyle or ES_NUMBER) end; --------------------------------------------------------
{ Edit Control Styles } {$EXTERNALSYM ES_LEFT} ES_LEFT = 0; {$EXTERNALSYM ES_CENTER} ES_CENTER = 1; {$EXTERNALSYM ES_RIGHT} ES_RIGHT = 2; {$EXTERNALSYM ES_MULTILINE} ES_MULTILINE = 4; {$EXTERNALSYM ES_UPPERCASE} ES_UPPERCASE = 8; {$EXTERNALSYM ES_LOWERCASE} ES_LOWERCASE = $10; {$EXTERNALSYM ES_PASSWORD} ES_PASSWORD = $20; {$EXTERNALSYM ES_AUTOVSCROLL} ES_AUTOVSCROLL = $40; {$EXTERNALSYM ES_AUTOHSCROLL} ES_AUTOHSCROLL = $80; {$EXTERNALSYM ES_NOHIDESEL} ES_NOHIDESEL = $100; {$EXTERNALSYM ES_OEMCONVERT} ES_OEMCONVERT = $400; {$EXTERNALSYM ES_READONLY} ES_READONLY = $800; {$EXTERNALSYM ES_WANTRETURN} ES_WANTRETURN = $1000; {$EXTERNALSYM ES_NUMBER} ES_NUMBER = $2000; ---------------------------------------------- { Window Styles } {$EXTERNALSYM WS_OVERLAPPED} WS_OVERLAPPED = 0; {$EXTERNALSYM WS_POPUP} WS_POPUP = DWORD($80000000); {$EXTERNALSYM WS_CHILD} WS_CHILD = $40000000; {$EXTERNALSYM WS_MINIMIZE} WS_MINIMIZE = $20000000; {$EXTERNALSYM WS_VISIBLE} WS_VISIBLE = $10000000; {$EXTERNALSYM WS_DISABLED} WS_DISABLED = $8000000; {$EXTERNALSYM WS_CLIPSIBLINGS} WS_CLIPSIBLINGS = $4000000; {$EXTERNALSYM WS_CLIPCHILDREN} WS_CLIPCHILDREN = $2000000; {$EXTERNALSYM WS_MAXIMIZE} WS_MAXIMIZE = $1000000; {$EXTERNALSYM WS_CAPTION} WS_CAPTION = $C00000; { WS_BORDER or WS_DLGFRAME } {$EXTERNALSYM WS_BORDER} WS_BORDER = $800000; {$EXTERNALSYM WS_DLGFRAME} WS_DLGFRAME = $400000; {$EXTERNALSYM WS_VSCROLL} WS_VSCROLL = $200000; {$EXTERNALSYM WS_HSCROLL} WS_HSCROLL = $100000; {$EXTERNALSYM WS_SYSMENU} WS_SYSMENU = $80000; {$EXTERNALSYM WS_THICKFRAME} WS_THICKFRAME = $40000; {$EXTERNALSYM WS_GROUP} WS_GROUP = $20000; {$EXTERNALSYM WS_TABSTOP} WS_TABSTOP = $10000;
{$EXTERNALSYM WS_MINIMIZEBOX} WS_MINIMIZEBOX = $20000; {$EXTERNALSYM WS_MAXIMIZEBOX} WS_MAXIMIZEBOX = $10000;
{$EXTERNALSYM WS_TILED} WS_TILED = WS_OVERLAPPED; {$EXTERNALSYM WS_ICONIC} WS_ICONIC = WS_MINIMIZE; {$EXTERNALSYM WS_SIZEBOX} WS_SIZEBOX = WS_THICKFRAME;
{ Common Window Styles } {$EXTERNALSYM WS_OVERLAPPEDWINDOW} WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED or WS_CAPTION or WS_SYSMENU or WS_THICKFRAME or WS_MINIMIZEBOX or WS_MAXIMIZEBOX); {$EXTERNALSYM WS_TILEDWINDOW} WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW; {$EXTERNALSYM WS_POPUPWINDOW} WS_POPUPWINDOW = (WS_POPUP or WS_BORDER or WS_SYSMENU); {$EXTERNALSYM WS_CHILDWINDOW} WS_CHILDWINDOW = (WS_CHILD);
{ Extended Window Styles } {$EXTERNALSYM WS_EX_DLGMODALFRAME} WS_EX_DLGMODALFRAME = 1; {$EXTERNALSYM WS_EX_NOPARENTNOTIFY} WS_EX_NOPARENTNOTIFY = 4; {$EXTERNALSYM WS_EX_TOPMOST} WS_EX_TOPMOST = 8; {$EXTERNALSYM WS_EX_ACCEPTFILES} WS_EX_ACCEPTFILES = $10; {$EXTERNALSYM WS_EX_TRANSPARENT} WS_EX_TRANSPARENT = $20; {$EXTERNALSYM WS_EX_MDICHILD} WS_EX_MDICHILD = $40; {$EXTERNALSYM WS_EX_TOOLWINDOW} WS_EX_TOOLWINDOW = $80; {$EXTERNALSYM WS_EX_WINDOWEDGE} WS_EX_WINDOWEDGE = $100; {$EXTERNALSYM WS_EX_CLIENTEDGE} WS_EX_CLIENTEDGE = $200; {$EXTERNALSYM WS_EX_CONTEXTHELP} WS_EX_CONTEXTHELP = $400;
{$EXTERNALSYM WS_EX_RIGHT} WS_EX_RIGHT = $1000; {$EXTERNALSYM WS_EX_LEFT} WS_EX_LEFT = 0; {$EXTERNALSYM WS_EX_RTLREADING} WS_EX_RTLREADING = $2000; {$EXTERNALSYM WS_EX_LTRREADING} WS_EX_LTRREADING = 0; {$EXTERNALSYM WS_EX_LEFTSCROLLBAR} WS_EX_LEFTSCROLLBAR = $4000; {$EXTERNALSYM WS_EX_RIGHTSCROLLBAR} WS_EX_RIGHTSCROLLBAR = 0;
{$EXTERNALSYM WS_EX_CONTROLPARENT} WS_EX_CONTROLPARENT = $10000; {$EXTERNALSYM WS_EX_STATICEDGE} WS_EX_STATICEDGE = $20000; {$EXTERNALSYM WS_EX_APPWINDOW} WS_EX_APPWINDOW = $40000; {$EXTERNALSYM WS_EX_OVERLAPPEDWINDOW} WS_EX_OVERLAPPEDWINDOW = (WS_EX_WINDOWEDGE or WS_EX_CLIENTEDGE); {$EXTERNALSYM WS_EX_PALETTEWINDOW} WS_EX_PALETTEWINDOW = (WS_EX_WINDOWEDGE or WS_EX_TOOLWINDOW or WS_EX_TOPMOST);
{$EXTERNALSYM WS_EX_LAYERED} WS_EX_LAYERED = $00080000; {$EXTERNALSYM WS_EX_NOINHERITLAYOUT} WS_EX_NOINHERITLAYOUT = $00100000; // Disable inheritence of mirroring by children {$EXTERNALSYM WS_EX_LAYOUTRTL} WS_EX_LAYOUTRTL = $00400000; // Right to left mirroring {$EXTERNALSYM WS_EX_COMPOSITED} WS_EX_COMPOSITED = $02000000; {$EXTERNALSYM WS_EX_NOACTIVATE} WS_EX_NOACTIVATE = $08000000;
|