IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> AlphaControls TsAlphaHints 控件 -> 正文阅读

[游戏开发]AlphaControls TsAlphaHints 控件

AlphaControls? TsAlphaHints 控件

? ? 一、功能
? ? TsAlphaHints控制应用程序中工具提示的绘制,带或不带皮肤。为了让这个组件工作,将他放在应用程序的主要形式中就足够了。他已经有一种基本样式,此样式已配置并作为默认样式使用。就这样!现在将在 Active 属性为 True 时自动绘制提示。
? ? 可以通过更改组件设置来制作各种样式。为了管理样式,有一个Templates 属性 的特殊设计时编辑器。(参见Png模板的配置)
? ? 与 TsHintManager 组件不同,TsAlphaHints 管理器可以绘制任何形状的提示。TsHintManager 已过时并保留在包中以保持兼容性。组件 TsAlphaHints 更有希望和更可取地使用。
? ? TsAlphaHints 提示可以使用 Html 标签的文本格式,还可以显示图像和图表,也可以产生动画提示。

? ? 该组件可以应用用户定义的样式,并且可以使用当前皮肤中定义的样式(如果它处于活动状态)。应该启用 UseSkinData属性以使用来自皮肤的样式。每个皮肤都有“提示”部分,其中定义了用于绘图的数据。

? ? ShowHint和HideHint过程可用于提示窗口的强制显示和隐藏。
? ? RepaintHint过程刷新打开的提示窗口。通常在数据更改期间使用此程序并允许创建动画效果。
? ? DefaultMousePos属性指定默认情况下将使用的气球状提示中箭头的位置。
? ? 当提示窗口已经显示时,只读IsHintShowing属性为 True。

? ? 二、相关属性事件
? ? Active ?? ? ? ? ? (活动)该属性指定组件何时处于活动状态并且必须重新定义标准提示窗口。
? ? Animated?? ?(动画)用于启用/禁用提示窗口动画的属性。
? ? AutoAlignment ?(自动对齐)启用提示窗口的自动定位。
? ? HTMLMode ?? ? (HTML模式)属性允许通过 HTML 标记格式化文本。
? ? MaxWidth ?? ? (最大宽度)确定提示寡妇的最大宽度。
? ? OnHideHint ?? ?(隐藏提示事件)隐藏提示时发生。
? ? OnMeasure ?? ?(窗口变化测量事件)在计算提示窗口大小后发生。
? ? OnPaint ?? ?(窗口绘制事件)在提示窗口主体绘制之后发生。
? ? OnShowHint ?? ?(显示提示事件)在显示提示窗口之前发生。
? ? PauseHide ?? ?(暂停隐藏)如果鼠标没有从控件或菜单中移动,则指定在隐藏帮助提示之前要等待的时间间隔。
? ? SkinSection ?? ?(皮肤部件)包中所有控件的公共属性。
? ? TemplateName ?? ?(模板名称)属性指定将用于提示显示的模板。
? ? Templates ?? ?(模板)属性保留可在应用程序中使用的提示模板。
? ? TextAlignment (文本对齐)允许在提示窗口中对齐文本信息。
? ? UseSkinData ?? ?(使用皮肤数据)属性定义提示窗口绘图的模式。

? ? 注意OnShowHint事件
? ? OnShowHint事件是允许使用一组参数来控制提示显示的过程:
? ? ? HintStr定义将显示的文本
? ? ? CanShow允许或禁止显示提示。允许在应用程序执行期间根据特定条件禁止显示提示。
? ? ? HintInfo包含 THintInfo 记录,特别是允许指定提示窗口的位置。
? ? ? Frame允许在提示窗口中绘制 TGraphicControl`s。

? ? 三、提示中的超文本
? ? 文本格式可以使用标准 Html 标签,例如FONT、B、I、U。标记应直接添加到控件的 Hint 属性,如果启用了 HTMLMode 属性,它们在输出中不可见。
? ? BR标签 可以设置强制换行符
? ? 支持?、?等特殊字符。

? ? 四、在提示中使用框架
? ? OnShowHint 事件包含Frame :TFrame 参数。如果我们创建一个包含 TGraphicControl 的框架,那么这些控件将被复制到提示窗口。此功能允许将文本与图像、图形等一起显示。
? ? 在提示关闭期间,框架会自动销毁。
? ? 让我们用框架创建一个提示:
? ? 1、在窗体上创建一个带有 TsAlphaHints 组件的应用程序。创建一个带有组件的框架,继承自 TGraphicControl。控件应放置在提示中。它们可以根据需要进行排列,但我们选择最简单的变体。两个按钮被放置到表单中以进行测试并定义了 Hint 属性。ShowHint 属性为 True。
? ? 2、将处理程序添加到 OnShowHint 事件。在那里创建一个不可见的框架(Parent = nil)。更改标签的文本,从 HintStr 参数中获取他的文本。

uses Unit1;
procedure TForm2.sAlphaHints1ShowHint(var HintStr: string; var CanShow: Boolean;var HintInfo: THintInfo; var Frame: TFrame);
begin
? Frame := TFrame1.Create(Application);
? TFrame1(Frame).Label1.Caption := HintStr;
end;

? ? 3、就是这样,我们可以运行项目并查看结果。

? ? 4、正如我们所见,有一个问题。在于无论文本宽度如何,窗口宽度都保持不变。我们通过向 OnShowHint 事件处理程序添加一行来解决此问题。我们这里以Label的宽度为导向,因为这个控件的AutoSize属性是True。

? Frame := TFrame1.Create(Application);
? TFrame1(Frame).Label1.Caption := HintStr;
? Frame.Width := TFrame1(Frame).Label1.BoundsRect.Right + 4;

? ? 提示窗口的宽度将根据现在显示文本的大小而有所不同。
?
? ? 五、Png模板的配置
? ? 使用 Png 图像作为模板可以创建几乎任何形状的提示窗口。设置模板使用特殊的模板属性编辑器,它可以在设计时调用。
? ? 前面的示例使用了一个模板,该模板是默认的并且位于应用程序资源中。让我们尝试定义一个模板并在这个例子中应用它。
? ? 1、创建一个 Png 格式的图像,该图像将用作模板。
? ? 2、在编辑器中创建一个新模板(“新建”按钮)并将其命名为“蓝色提示”。
? ? 3、添加创建的图像
? ? 4、定义边框的大小和阴影
? ? 5、指定提示窗口边缘到其内容的距离
? ? 6、如果我们不使用带标签的框架,我们可以为模板定义一个字体。但在我们的示例中,字体是直接在 Label 中设置的,我只是添加了 fsBold 属性。现在,我们可以按 OK,“蓝色提示”模板将被添加到组件中。要在应用程序中应用新样式,请在TemplateName属性中选择它。
? ? 7、运行应用程序后,我们可以查看结果。
? ? 第一次还不错:) 但是如果提示窗口会显示在控件上怎么办?如果控件太靠近屏幕底部,则会发生这种情况。箭头会画在上面,肯定不好。
? ? 对于这种情况,模板编辑器中还有三个附加选项卡。如果设置了“使用附加图像”复选框,它们将被启用。“右上”、“左下”、“右下”选项卡允许指定应在适当角落绘制箭头的图像。
? ? 可以绘制和配置与主图像相同的附加图像。
? ? 将具有自定义样式的 TsAlphaHints 组件从一个项目转移到另一个项目可以通过复制/粘贴在设计时生成。

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-05-07 11:27:07  更:2022-05-07 11:27:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 11:27:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码