SpTBX面板有X个关闭按钮,它们有2个状态:平常和鼠标悬停。我想在我的画布上绘制相同的位图,TPageControl(所有者绘制的)。
左黄色X图标是SpTBX(使用Office Silver主题时)。右X图标是我当前的图标。我想画左边的一样。如何获取这些位图?
答案 0 :(得分:1)
“X”关闭按钮是四种内置模式之一,您可以通过调用SpDrawGlyphPattern
来召唤。从'0'开始,这四种模式是'关闭','最大化','最小化'和'恢复',你也可以在程序的源代码中看到。
背景是您猜测的工具栏按钮背景,因为字形用于连接到可停靠面板的内部工具栏。您可以使用SpDrawXPToolbarButton
进行绘制。
以下代码将生成图片中显示的字形(如果当前选定的外观为'Office 2007 Silver'),则表单将显示在窗体的画布上。请注意,当状态不热时,按钮背景为 clear 。
一般情况下,如果您想了解如何在sptbxlib中绘制'item',请在'TSpTBXItemViewer.Paint
的开头'sptbxitem.pas'中设置断点并遵循代码路径。
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;