TMlSkinEdit

皮肤输入框,用法和标准 TEdit 一样,额外支持透明背景、提示文字、输入限制和框内小图标。

分类
输入框与日期
所在单元
uMlSkinEdit.pas
继承自
TMlSkinPngEditTMlSkinCustomControl

用法要点

  • TextHint 设置占位提示文字,输入框为空时以浅色显示。
  • TextKind 限制只能输入数字、英文等,不必自己写 KeyPress 过滤。
  • EdItems 可以在输入框内部加图标或小按钮,比如右侧的清空、搜索图标。
  • Tips 用于在输入框旁弹出提示气泡(比如校验不通过时的提示)。
  • 边框用 BorderNormalBorderHot 两张图;不需要边框时关掉 BorderVisible

示例

摘自 Demo:MlSkin.Demo.360安全卫士.v3.1(窗体文件 .dfm)

object edtB: TMlSkinEdit
  Left = 266
  Top = 115
  Width = 41
  Height = 21
  Cursor = crIBeam
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clBlack
  Font.Height = 13
  Font.Name = 'Tahoma'
  Font.Style = []
  FontHint.Charset = DEFAULT_CHARSET
  FontHint.Color = 11711154
  FontHint.Height = -11
  FontHint.Name = 'Tahoma'
  FontHint.Style = []
  BorderNormal = 'MlSkinBorderNormal'
  BorderHot = 'MlSkinBorderHot'
  EdItems = <>
  Space.Left = 4

属性 15

名称类型默认值说明
AutoSelectBooleanTrue获得焦点时自动全选已有文字。
ShowCheckBoxBooleanFalse在输入框左侧显示勾选框,状态由 Checked 读写。
CharCaseTEditCharCaseecNormal字母大小写转换:原样、全大写或全小写。
CheckedBooleanFalse勾选状态。
FontHintTFont提示文字的字体,通常设成比正文更浅的颜色。
BorderNormalTMlResID正常状态的边框图片,填图片 ID 或路径。
BorderHotTMlResID鼠标移上或获得焦点时的边框图片。
BorderVisibleBooleanTrue是否显示边框。
ReadOnlyBooleanFalse只读,用户不能修改内容,但可以选中和复制。
Textstring控件中显示或输入的文字。
TextKindTMlTextKindtkAll限制可输入的内容:tkAll 不限、tkEN 只能英文、tkNumInt 只能整数、tkNumReal 只能数字(含小数、负号)、tkENandNum 英文加数字。
TextHintstring提示文字(占位符),内容为空时以浅色显示,例如「请输入关键字」。
MaxLengthInteger0最多可输入的字符数,0 表示不限制。
EdItemsTMlEditItems输入框内部的小控件集合。每一项可设图片(正常/悬停/按下)、文字、位置、是否可见,用来做清空、搜索、显示密码一类的按钮。
SpaceTMlSpaceSize文字与边框之间的内边距(左、上、右、下),需要先打开它的 Active

事件 1

名称类型默认值说明
OnChangeTNotifyEvent内容改变时触发。
TMlSkinPngEdit 的属性 3
名称类型默认值说明
TextHintHideInKeyBooleanFalse提示文字何时消失:打开后光标进入不消失,直到真正输入字符才隐藏。
CursorColorTColorclBlack光标(插入符)的颜色。
DisableIMEBooleanFalse禁用输入法,只能输入英文和数字,适合账号、序列号一类的输入框。
TMlSkinCustomControl 的属性 5
名称类型默认值说明
AboutTMlAboutInfo设计期属性。在对象检查器里双击会弹出 MlSkin 的关于窗口,显示组件版本信息;运行时没有作用,也不会保存到 dfm。
TransparentBooleanTrue背景是否透明。打开后控件不画自己的底色,直接显示窗体的背景(图片或颜色)。
ColorTColorclWhite控件的底色。Transparent 打开时不生效。
AutoInvalidateBooleanFalse内容变化时是否自动重绘。动态改属性看不到变化时可以打开。
EraseBackgroundBooleanFalse绘制前是否擦除背景。界面闪烁时可以调整这个开关。
TMlSkinCustomControl 的事件 4
名称类型默认值说明
OnDPIChangedTMlDPIChangedEvent屏幕 DPI 改变时触发(例如窗口被拖到另一块不同缩放的显示器上),可在这里重新调整自绘内容。
OnBackgroundChangingTMlBackgroundEvent背景即将改变时触发,可在这里干预要绘制的背景。
OnBackgroundChangedTMlCustomDrawEvent背景绘制完成后触发,可在背景之上继续自绘内容。
OnVisibleChangedTNotifyEvent控件显示或隐藏时触发。

本页只列出 MlSkin 新增的属性和事件;Align、Anchors、Font、OnClick 等标准 VCL 属性同样可用,用法与原生控件一致。

离线帮助文档需要离线查阅时,可下载 PDF / CHM 版帮助文档。