如何删除自定义CProgressCtrl周围的边框?

时间:2011-01-11 21:39:07

标签: c++ mfc progress-bar

我创建了一个自定义进度控件,派生自CProgressCtrl,通过覆盖OnPaint函数使用位图显示进度(不调用CProgressCtrl :: OnPaint)。在应用程序中查看时,进度条周围有一个边框。 WS_BORDER未设置为进度控件,也未设置在应用程序中可以找到的任何其他控件。在进度控件上调用ModifyStyle(WS_BORDER,0)以删除边框返回0并且不会更改外观,而ModifyStyle(0,WS_BORDER)在进度条周围添加第二个边框。

WS_BORDER肯定没有在此控件上设置,但控件周围显然有一个Windows边框。是否可能将控件作为子窗口完全包含在另一个控件中,如果是这样,我将如何找到此控件并禁用WS_BORDER?或者是自动绘制边框,因为即使OnPaint被覆盖,控件也是CProgressCtrl的派生类?

1 个答案:

答案 0 :(得分:0)

进度控制是一个单一窗口 - 可以使用Spy ++轻松验证。

我认为您需要覆盖OnNcPaint以及OnPaint