FoxUI在线文档

关于FoxUI组件的说明


FoxStdForm

<p>FoxStdForm,FoxUI提供的标准窗体组件,让窗体兼容标准的显示方式,此模式下,标准组件,第三方组件都可以使用。 <strong>属性</strong> Active 是否采用FoxUI窗体风格</p> <p>BorderSet 边框管理 Border 边框设置 Left,Top,Right,Bottom 边框宽度 ShowNotWDM 如果没有WDM效果就显示</p> <p>BtnConfig 标题栏按钮设置 Margin 间距 RightFix 右侧偏移 TopFix 顶部偏移</p> <p>BtnHint 标题栏按钮提示 注意此部分已经全部放到FoxCaptionHintManager统一管理 Close 关闭按钮 Max 最大化 Menu 菜单 Min 最小化 Restore 还原 Skin 皮肤</p> <p>BtnPopupMenu 菜单按钮对接菜单 见[FoxPopupMenu]( <a href="https://www.showdoc.cc/p/94e26e335005d1b7eb076bf28ccc13f0">https://www.showdoc.cc/p/94e26e335005d1b7eb076bf28ccc13f0</a> &quot;FoxPopupMenu&quot;)</p> <p>CaptionBar FoxUI提供的自定义标题栏内容容器组件 详情见<a href="https://www.showdoc.cc/p/096746fe792e7f24b2049f2548782163" title="FoxStdCaptionBar">FoxStdCaptionBar</a> CaptionSet 标题管理 Alignment 标题对齐方式 Font 标题字体 Height 标题栏高度 OffSetx 左侧偏移 OffSety 顶部偏移 Visible 标题栏是否可见</p> <p>CanDock 窗体是否可以停靠</p> <p>CanMove 窗体是否可以移动</p> <p>HideStyle 窗体隐藏或者关闭时候动画</p> <p>HideTime 窗体关闭动画时间 单位毫秒</p> <p>ShowStyle 窗体显示时候动画</p> <p>ShowTime 窗体显示动画时间 单位毫秒</p> <p>FixSize 窗体大小设置 MaxHeight 最大高度 MaxWidth 最大宽度 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>SizeAble 是否支持改变窗体大小</p> <p>CaptionHintManager 统一管理窗体标题提示 编辑框右键菜单标题及标准按钮标题</p> <p>SkinManger 皮肤管理器</p> <p>ColorManager 颜色管理器 我们所有控件的默认色都从这个组件设置</p> <p>skinset 皮肤管理 Back 底图皮肤序号 BtnClose 关闭按钮皮肤序号 BtnMax 最大化按钮皮肤序号 BtnMenu 菜单按钮皮肤序号 BtnMin 最小化皮肤按钮序号 BtnRestore 还原按钮皮肤序号 BtnTheme 皮肤按钮皮肤序号 Caption 标题内容皮肤序号 我们也可以直接让标题图片化 通过此设置 Form 窗体皮肤序号 Logo 图标皮肤序号</p> <p>UseSvgRes 是否采用内置的SVG图标资源</p> <p>TopMost 窗体是否最前 <strong>提供的事件</strong> OnCaptionBtnAfterDraw 标题栏按钮绘制后触发</p> <p>OnFoxCaptionPaint 标题栏绘制触发</p> <p>OnFoxAfterCaptionPaint 标题栏绘制完毕触发 //新增</p> <p>OnBtnMenuClick 标题栏菜单按钮点击触发</p> <p>OnBtnSkinClick 标题栏皮肤按钮点击触发</p> <p>OnFoxFormPaint 窗体绘制触发</p> <p>OnStartDock 开始停靠</p> <p>OnDockForm 停靠触发 可以取消停靠在这个事件里</p> <p>OnUnDockForm 取消停靠</p> <p>OnFormGetColor 窗体自定义颜色事件</p> <p>OnBorderGetColor 自定义边框颜色事件</p> <p>OnCaptionGetColor 标题栏自定义颜色事件</p> <p>OnMaskFormClick 蒙版窗体点击事件</p> <p>OnDitherEffect 窗体抖动触发事件 </p> <p>OnBeforeCtrlSnapShot,OnAfterCtrlSnapShot 组件获取快照前后触发</p> <p>例子 获取RichEdit内容 procedure TFrmMain.FoxStdForm1BeforeCtrlSnapShot(Sender: TObject; ACtrl: TControl; Snapshot: TBitmap32); var Range:TFormatRange; ABitmap:TBitmap32; begin //有些控件我们需要额外做截图 否则无法获取内容 比如Richedit if ACtrl is TRichEdit then begin ABitmap:=TBitmap32.Create; ABitmap.SetSize(ACtrl.Width,ACtrl.Height); ABitmap.Clear(Color32((ACtrl as TRichEdit).Color));</p> <pre><code>FillChar(Range,SizeOf(TFormatRange),0); // 渲染我们要测量的相同DC。 Range.hdc:=ABitmap.Canvas.handle; Range.hdcTarget:=ABitmap.Canvas.Handle; // 设定页。 Range.rc.left:= 0; Range.rc.top:= 0; Range.rc.right:= ABitmap.Width* 1440 div Screen.PixelsPerInch; Range.rc.Bottom:= ABitmap.Height * 1440 div Screen.PixelsPerInch; // 打印文本的缺省范围为整个文档。 Range.chrg.cpMax := -1; Range.chrg.cpMin := 0; //SetBkMode(ABitmap.Handle, 0); // 格式化文本。 SendMessage((ACtrl as TRichEdit).Handle, EM_FORMATRANGE, 1, Longint(@Range)); // 释放缓冲信息。 SendMessage((ACtrl as TRichEdit).handle, EM_FORMATRANGE, 0,0); ABitmap.DrawTo(Snapshot,3,3); ABitmap.Free;</code></pre> <p>end; end;</p> <p><strong>提供的方法</strong> Procedure UpdateFrameControls;//重更新所有控件 procedure RePaintForm;override;//重刷窗体 function GetValueByDPI(Value:Integer):Integer;//根据当前dpi获取值 function GetFontValueByDPI(Value:Integer):Integer;//返回当前情况下文字尺寸的准确值 procedure UpdateCaptionBtn(BtnType:TFoxUIFormBtn);//更新窗体按钮 procedure AskFormUpdateRect(Arect:TRect);override;//刷新指定区域 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>

页面列表

ITEM_HTML