FoxDDForm
<p>FoxDDForm,FoxUI提供的采用DirectUI方式工作的窗体组件。
注意使用了此组件后,窗体上只能放FoxUI提供的组件,其他标准可视化组件和第三方可视化组件都无法显示和工作。
<strong>属性</strong>
Alpha 窗体透明度</p>
<p>border
Left,Top,Right,Bottom 边框宽度</p>
<p>BtnConfig 标题栏按钮设置
Margin 间距
RightFix 右侧偏移
TopFix 顶部偏移</p>
<p>BtnHint 标题栏按钮提示 注意此部分已经全部放到FoxCaptionHintManager统一管理
Close 关闭按钮
Max 最大化
Menu 菜单
Min 最小化
Restore 还原
Skin 皮肤</p>
<p>FormExpand 窗体四周保留尺寸,这个对制作异形窗体非常有用</p>
<p>BtnPopupMenu 菜单按钮对接菜单 见[FoxPopupMenu]( <a href="https://www.showdoc.cc/p/94e26e335005d1b7eb076bf28ccc13f0">https://www.showdoc.cc/p/94e26e335005d1b7eb076bf28ccc13f0</a> "FoxPopupMenu")</p>
<p>CanManualChangeSize 是否手动可以修改窗体大小</p>
<p>CanMove 是否可以移动窗体</p>
<p>CanMoveAny 是否点击任意位置都可以移动窗体</p>
<p>CaptionHintManager 统一管理窗体标题提示 编辑框右键菜单标题及标准按钮标题</p>
<p>CaptionSet 标题管理
Alignment 标题对齐方式
Font 标题字体
Height 标题栏高度
OffSetx 左侧偏移
OffSety 顶部偏移
Visible 标题栏是否可见</p>
<p>HideStyle 窗体隐藏或者关闭时候动画</p>
<p>HideTime 窗体关闭动画时间 单位毫秒</p>
<p>ShowStyle 窗体显示时候动画</p>
<p>ShowTime 窗体显示动画时间 单位毫秒</p>
<p>FixSize 窗体大小设置
MaxHeight 最大高度
MaxEidth 最大宽度
MinHeight 最小高度
MinWidth 最小宽度 0表示无限制</p>
<p>FormBtns 标题栏按钮设置
WbiClose 关闭按钮
WbiMenu 菜单按钮
WbiMinimize 最小化按钮
WbiMaxminze 最大化和还原按钮
WbiSkin 皮肤按钮</p>
<p>LogoSet 图标管理
Hint Logo提示
<del>Logo 程序图标</del> 图标如果支持多个分辨率?详情见<a href="https://www.showdoc.cc/p/59f12ed5c9fc1181bd4346d3290c95e6" title="FoxSkinManager">FoxSkinManager</a>
OffSetx
OffSety 左边和上部偏移</p>
<p>RoundValue 窗体圆角设置</p>
<p>SizeAble 是否支持改变窗体大小</p>
<p>SkinManager 皮肤管理器</p>
<p>ColorManager 颜色管理器</p>
<p>ShadowSet内部自设阴影设置
ShadowWidth 阴影宽度
Color 阴影颜色
Visible 阴影是否可见</p>
<p>SkinSet 皮肤管理
Back 底图皮肤序号
BtnClose 关闭按钮皮肤序号
BtnMax 最大化按钮皮肤序号
BtnMenu 菜单按钮皮肤序号
BtnMin 最小化皮肤按钮序号
BtnRestore 还原按钮皮肤序号
BtnTheme 皮肤按钮皮肤序号
Caption 标题内容皮肤序号 我们也可以直接让标题图片化 通过此设置
Form 窗体皮肤序号
Logo 图标皮肤序号</p>
<p>UseSvgRes 是否采用内置的SVG图标资源</p>
<p>TopMost 是否窗体最前</p>
<p>WorkFrame FoxUI提供的窗体工作区容器,<a href="https://www.showdoc.cc/p/4e9f4b4ae6b99984b95029c0bf041ac5" title="FoxDDClientFrame">FoxDDClientFrame</a> 使用这个的作用主要是防止用户控件布局的时候影响到标题栏和阴影部分,因为DirectUI整个窗体都是工作区,不存在非客户区。</p>
<p><strong>提供的事件</strong></p>
<p>OnBeforeFormPaint 当窗体背景绘制前调用</p>
<p>OnAfterFormPaint 当窗体背景绘制后触发</p>
<p>OnDrawBack 当窗体绘制背景图时调用</p>
<p>OnFoxDDFormPaint 当绘制窗体整体内容的时候调用</p>
<p>OnBtnMenuClick 标题栏菜单按钮点击</p>
<p>OnBtnSkinClick 标题栏皮肤按钮点击</p>
<p>OnLogoClick 标题栏图标点击</p>
<p>OnFoxFormMax 窗体最大化触发</p>
<p>OnFoxFormMinimize 窗体最小化触发</p>
<p>OnFoxFormMintoNormal 从最小化到还原触发</p>
<p>OnFoxFormReadyMax 窗体最大化之前</p>
<p>OnFoxFormReadyMin 窗体最小化之前</p>
<p>OnFoxFormResize 窗体大小改变</p>
<p>OnStartDock 开始停靠</p>
<p>OnDockForm 停靠触发 可以取消停靠在这个事件里</p>
<p>OnUnDockForm 取消停靠</p>
<p>OnFormGetColor 窗体自定义颜色事件</p>
<p>OnCaptionGetColor 标题栏自定义颜色事件</p>
<p>OnBorderGetColor 自定义边框颜色事件</p>
<p>OnBtnMenuAfterDraw 标题菜单按钮绘制完毕触发</p>
<p>OnBtnSkinAfterDraw 标题皮肤按钮绘制完毕触发</p>
<p>OnFoxFormUpdateRect 当区域更新的时候触发</p>
<p>OnMaskFormClick 蒙版窗体点击事件</p>
<p>OnDitherEffect 窗体抖动触发事件 </p>
<p><del>OnFoxFormStartChangeSize 窗体准备改变大小</del>//新版已经取消</p>
<p><del>OnFoxFormUserChangeSize 用户改变窗体大小</del>//新版已经取消</p>
<p><strong>提供的方法</strong>
Procedure UpdateFrameControls;//重更新所有控件
procedure RefresDirectForm;//刷新窗体 这个只刷新当前图片 不会重绘窗体上所有控件
procedure AskFormUpdateRect(ARect:TRect);override; 指定更新区域
procedure RePaintForm; override;//重绘ddform窗体
function GetValueByDPI(Value:Integer):Integer;//根据单前dpi获取值
function GetFontValueByDPI(Value:Integer):Integer;//返回当前情况下文字尺寸的准确值
//foxddform有更绚的做法比如直接设blur
procedure ShowMaskForm(Acolor:TColor;Alpha:Integer); //显示蒙版遮罩这个主要是为了方便显示前面的模态窗体
procedure CloseMaskForm;//关闭蒙版遮罩
procedure UnDockForm(ARect:TRect);//取消停靠
function DockForm(DstControl:TFoxUIParentControl):Boolean;//手工停靠
procedure HideForm;
procedure CloseForm;overload;//主要是为了方便显示动画
Procedure CloseForm(AHideStyle:TFoxFormShowStyle);overload;//手工动画关闭窗体</p>