gpt4 book ai didi

delphi - SpTBX : draw on my canvas X icon like on SpTbx panel

转载 作者:行者123 更新时间:2023-12-02 18:05:02 25 4
gpt4 key购买 nike

SpTBX 面板有 X 个关闭按钮,有 2 种状态:通常状态和鼠标悬停状态。我想在 Canvas 上的 TPageControl(所有者绘制)上绘制相同的位图。

左侧黄色 X 图标是 SpTBX(当使用 Office Silver 主题时)。右边的 X 图标是我当前的图标。我想画和左边一样的。如何获取这些位图?

x icon

最佳答案

“X”关闭按钮是四种内置图案之一,您可以通过调用 SpDrawGlyphPattern 来调用。从“0”开始,四种模式是“关闭”、“最大化”、“最小化”和“恢复”,您也可以在过程的源代码中看到。

正如您所猜测的,背景是工具栏按钮背景,因为这些字形用于附加到可停靠面板的内部工具栏。您可以使用 SpDrawXPToolbarButton 进行绘制。

下面的代码将在表单 Canvas 上生成如图片所示的字形(如果当前选择的皮肤是“Office 2007 Silver”)。注意,当状态不热时,按钮背景是清晰

一般来说,如果您想了解如何在 sptbxlib 中绘制“item”,请在“sptbxitem.pas”中的 TSpTBXItemViewer.Paint 开头放置一个断点,然后跟踪代码路径。

procedure TForm1.Button1Click(Sender: TObject);
var
R: TRect;
begin
R := Rect(20, 20, 35, 35);
SpDrawXPToolbarButton(Canvas, R, sknsHotTrack, sknSkin, cpNone);
SpDrawGlyphPattern(Canvas, R, 0,
CurrentSkin.GetTextColor(skncToolbarItem, sknsNormal));
end;

关于delphi - SpTBX : draw on my canvas X icon like on SpTbx panel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18340462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com