用法要点
CalloutPosition 决定尖角在哪一边(上、下、左、右),CalloutOffset 调整尖角沿边的位置。
CalloutWidth 和 CalloutLength 分别是尖角的宽度和伸出长度。
- 面板本身的背景、边框、圆角设置与 TMlSkinPanel 相同。
示例
摘自 Demo:MlSkin.Demo.圆角标签按钮和提示框.v3.0(窗体文件 .dfm)
object cp1: TMlSkinCalloutPanel
Left = 367
Top = 199
Width = 282
Height = 122
Color = 16565959
CalloutWidth = 14
CalloutPosition = cpLeft
CalloutOffset = 14
Alpha = 255
BorderColor = 14009541
DoubleBuffered = False
DoubleBorder = False
...
属性 13
| 名称 | 类型 | 默认值 | 说明 |
|---|
CalloutWidth | Integer | 22 | 尖角的底边宽度(像素)。 |
CalloutLength | Integer | 11 | 尖角伸出的长度(像素)。 |
CalloutPosition | TMlCalloutPosition | cpTop | 尖角所在的边:cpTop 上、cpLeft 左、cpBottom 下、cpRight 右。 |
CalloutOffset | Integer | 0 | 尖角沿着该边的位置偏移(像素),用来对准要指向的控件。 |
Alpha | Byte | 192 | 透明度,0 为完全透明、255 为不透明。 |
BorderSides | TSides | — | 画哪几条边框(上、下、左、右可任意组合)。 |
BorderColor | TColor | $00D9CBBA | 边框颜色。 |
Color | TColor | clWhite | 控件的底色。Transparent 打开时不生效。 |
BackgroundFillType | TMlPngFillType | ftNormal | 背景图片的铺法:ftNormal 原样、ftTile 平铺、ftAutoStretch 自动拉伸、ftCenter 居中、ftStretch 拉伸铺满、ftGradient 渐变。 |
BackgroundImage | TMlResID | — | 背景图片,填图片资源 ID 或图片文件路径。 |
BackgroundOffsetX | Integer | 0 | 背景图片的横向偏移(像素)。 |
BackgroundOffsetY | Integer | 0 | 背景图片的纵向偏移(像素)。 |
DoubleBorder | Boolean | True | 双层边框,在边框内侧再画一条线。 |
TMlSkinCustomPanel 的事件 1
| 名称 | 类型 | 默认值 | 说明 |
|---|
OnCustomDraw | TMlCustomDrawEvent | — | 自绘事件,可在控件画完后继续绘制自己的内容。 |
TMlSkinCustomControl 的属性 4
| 名称 | 类型 | 默认值 | 说明 |
|---|
About | TMlAboutInfo | — | 设计期属性。在对象检查器里双击会弹出 MlSkin 的关于窗口,显示组件版本信息;运行时没有作用,也不会保存到 dfm。 |
Transparent | Boolean | True | 背景是否透明。打开后控件不画自己的底色,直接显示窗体的背景(图片或颜色)。 |
AutoInvalidate | Boolean | False | 内容变化时是否自动重绘。动态改属性看不到变化时可以打开。 |
EraseBackground | Boolean | False | 绘制前是否擦除背景。界面闪烁时可以调整这个开关。 |
TMlSkinCustomControl 的事件 4
| 名称 | 类型 | 默认值 | 说明 |
|---|
OnDPIChanged | TMlDPIChangedEvent | — | 屏幕 DPI 改变时触发(例如窗口被拖到另一块不同缩放的显示器上),可在这里重新调整自绘内容。 |
OnBackgroundChanging | TMlBackgroundEvent | — | 背景即将改变时触发,可在这里干预要绘制的背景。 |
OnBackgroundChanged | TMlCustomDrawEvent | — | 背景绘制完成后触发,可在背景之上继续自绘内容。 |
OnVisibleChanged | TNotifyEvent | — | 控件显示或隐藏时触发。 |
本页只列出 MlSkin 新增的属性和事件;Align、Anchors、Font、OnClick 等标准 VCL 属性同样可用,用法与原生控件一致。