如何从事件处理程序中调用默认处理程序



我有一个带有4个面板的tstatusbar,其中一个设置为所有者draw样式。

onDrawPanel()事件处理程序中,我希望TStatusbar在我在其顶部添加一些自定义绘图之前使用默认的油漆方法。

有没有办法从我的OnDrawPanel处理程序中调用默认处理程序?

编辑好吧,我确实找到了一个修复程序,但是我不确定如果系统字体更改,则有多可靠。由于默认处理程序仅绘制面板文本,因此对TexTrect的简单调用将执行相同的技巧。

StatusBar->Canvas->TextRect(Rect,Rect.Left,Rect.Top,Panel->Text);

但是,如果系统字体,语言等不是默认值,我不确定这将有多好。

我仍然想回答原始问题。

tstatusbar是标准Winapi窗口类的包装器,因此默认情况下,绘画是由OS完成的。您应该查看Winapi功能,或者SB_SETTEXXT之类的消息

在MSDN上检查此信息:SB_SETTEXT消息

编辑:

似乎drawstatustext是正确的winapi函数。如果不需要边界,则应指定sbt_noborders标志。

相关内容

  • 没有找到相关文章

最新更新