Delphi SpTBX:在我的画布上绘制X图标,就像在SpTBX面板上一样
SpTBX面板有X个关闭按钮,有两种状态:普通和鼠标悬停。我想在画布上,在TPageControl(所有者绘制)上绘制相同的位图 左黄色X图标为SpTBX(使用Office银色主题时)。右X图标是我的当前图标。我想画和左边一样的。如何获取这些位图Delphi SpTBX:在我的画布上绘制X图标,就像在SpTBX面板上一样,delphi,sptbxlib,Delphi,Sptbxlib,SpTBX面板有X个关闭按钮,有两种状态:普通和鼠标悬停。我想在画布上,在TPageControl(所有者绘制)上绘制相同的位图 左黄色X图标为SpTBX(使用Office银色主题时)。右X图标是我的当前图标。我想画和左边一样的。如何获取这些位图 X'-close按钮是四种内置模式之一,您可以通过调用SpDrawGlyphPattern来调用它。从“0”开始,这四种模式是“关闭”、“最大化”、“最小化”和“还原”,您也可以在过程的源代码中看到这四种模式 正如您所猜测的,背景是工具栏按钮背景,因为
X'-close按钮是四种内置模式之一,您可以通过调用
SpDrawGlyphPattern
来调用它。从“0”开始,这四种模式是“关闭”、“最大化”、“最小化”和“还原”,您也可以在过程的源代码中看到这四种模式
正如您所猜测的,背景是工具栏按钮背景,因为图示符用于连接到可固定面板的内部工具栏。您可以使用SpDrawXPToolbarButton
绘制的
下面的代码将在表单画布上生成如图片所示的图示符(如果当前选择的皮肤为“Office2007Silver”)。请注意,当状态为非热时,按钮背景是清晰的
通常,如果您想了解如何在sptbxlib中绘制“项”,请在“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;