用法要点
Transparent 打开后背景透明,输入框会融进标题栏的图片或颜色里。
TextHint 是没有输入时显示的提示文字,TextKind 限制只能输入数字、英文等。
EdItems 可以在输入框内部放图标或小按钮,比如右侧的搜索图标。
- 边框用
BorderNormal 和 BorderHot 两张图,鼠标移上时自动切换。
属性 27
| 名称 | 类型 | 默认值 | 说明 |
|---|
Text | string | — | 输入框中的文字。 |
TextHint | string | — | 提示文字(占位符),输入框为空时以浅色显示,例如「搜索…」。 |
TextHintHideInKey | Boolean | False | 提示文字何时消失:打开后光标进入不消失,直到真正输入字符才隐藏。 |
ReadOnly | Boolean | False | 只读,用户不能修改内容。 |
MaxLength | Integer | 0 | 最多可输入的字符数,0 表示不限制。 |
AutoSelect | Boolean | True | 获得焦点时自动全选已有文字。 |
CharCase | TEditCharCase | ecNormal | 字母大小写转换:原样、全大写或全小写。 |
TextKind | TMlTextKind | tkAll | 限制可输入的内容:tkAll 不限、tkEN 只能英文、tkNumInt 只能整数、tkNumReal 只能数字(含小数和负号)、tkENandNum 英文加数字。 |
ShowCheckBox | Boolean | False | 在输入框左侧显示一个勾选框,勾选状态由 Checked 读写。 |
Checked | Boolean | False | 输入框左侧勾选框的状态,需要先打开 ShowCheckBox。 |
BorderVisible | Boolean | True | 是否显示边框。要让输入框完全融进标题栏时关掉它。 |
BorderNormal | TMlResID | — | 正常状态的边框图片。 |
BorderHot | TMlResID | — | 鼠标移上或获得焦点时的边框图片。 |
Color | TColor | clWhite | 文字颜色。 |
Width | Integer | 160 | 输入框宽度(像素)。 |
Height | Integer | 22 | 输入框高度(像素)。 |
BkColor | TColor | clBtnFace | 输入框底色。Transparent 打开时不生效。 |
Transparent | Boolean | True | 背景透明。打开后输入框融入标题栏的图片或颜色。 |
CursorColor | TColor | clBlack | 光标(插入符)的颜色,深色背景上可以调成浅色。 |
CursorVisible | Boolean | True | 是否显示光标。 |
SelColorAlpha | Byte | 255 | 选中文字时选区底色的透明度,0~255。 |
DisableIME | Boolean | False | 禁用输入法。打开后只能输入英文和数字,适合账号、编号一类的输入框。 |
Font | TFont | — | 输入文字的字体。 |
FontHint | TFont | — | 提示文字(TextHint)的字体,通常设成更浅的颜色。 |
Space | TMlSpaceSize | — | 文字与边框之间的内边距(左、上、右、下),可以单独打开生效。 |
EdItems | TMlEditItems | — | 输入框内部的小控件集合:可以加图标或小按钮(如搜索、清空),每项可设图片、位置和点击响应。 |
Tips | TMlSkinEditTips | — | 输入提示气泡的设置:边框色、背景色、字体和停留时间,用于在输入框旁弹出提示。 |
事件 10
| 名称 | 类型 | 默认值 | 说明 |
|---|
OnChange | TNotifyEvent | — | 内容改变时触发。 |
OnClick | TNotifyEvent | — | 点击时触发。 |
OnEnter | TNotifyEvent | — | 控件获得焦点时触发。 |
OnExit | TNotifyEvent | — | 控件失去焦点时触发,常用来做输入校验。 |
OnKeyDown | TKeyEvent | — | 按下键盘按键时触发。 |
OnKeyPress | TKeyPressEvent | — | 输入字符时触发,可在这里过滤不允许的字符。 |
OnKeyUp | TKeyEvent | — | 松开键盘按键时触发。 |
OnMouseDown | TMouseEvent | — | 鼠标按下时触发。 |
OnMouseMove | TMouseMoveEvent | — | 鼠标在控件上移动时触发。 |
OnMouseUp | TMouseEvent | — | 鼠标松开时触发。 |
TMlSkinNCCtrlBase 的属性 6
| 名称 | 类型 | 默认值 | 说明 |
|---|
About | TMlAboutInfo | — | 设计期属性。在对象检查器里双击会弹出 MlSkin 的关于窗口,显示组件版本信息;运行时没有作用,也不会保存到 dfm。 |
PutSide | TSideKind | skdTop | 控件放在标题栏的哪一边:skdTop 上、skdBottom 下、skdLeft 左、skdRight 右。 |
Tag | Integer | 0 | 自定义整数值,可以用来存放自己的标识,组件本身不使用。 |
Pos | TNCCtrlPos | — | 控件在该边上的位置:对齐方式加上 X、Y 偏移;UseDefault 打开时使用默认排布。 |
Hint | string | — | 鼠标停留时显示的提示文字。 |
Visible | Boolean | True | 是否显示。 |
TMlSkinNCCtrlBase 的事件 5
| 名称 | 类型 | 默认值 | 说明 |
|---|
OnLMouseDown | TNotifyEvent | — | 鼠标左键在控件上按下时触发。 |
OnLMouseUp | TNotifyEvent | — | 鼠标左键在控件上抬起时触发。 |
OnMouseEnter | TNotifyEvent | — | 鼠标移入控件时触发。 |
OnMouseLeave | TNotifyEvent | — | 鼠标移出控件时触发。 |
OnDPIChanged | TMlDPIChangedEvent | — | 屏幕 DPI 改变时触发(例如窗口被拖到另一块不同缩放的显示器上),可在这里重新调整自绘内容。 |
本页只列出 MlSkin 新增的属性和事件;Align、Anchors、Font、OnClick 等标准 VCL 属性同样可用,用法与原生控件一致。