我正在尝试创建一个自定义控件CStatic
并vc++
遇到一些问题。
我最初只是使用带有样式的CStatic
控件。SS_BLACKRECT
在我需要在控件上按需显示图像之前,这对这种情况很有用。
我弄清楚了将图像实际绘制到控件上的所有后勤工作,但我似乎无法弄清楚如何在不干扰其他事情的情况下这样做。
基本上,我希望控件在大多数情况下都能正常CStatic
使用该SS_BLACKRECT
样式。
然后我需要能够调用一个方法,让它在控件上绘制图像。我正在使用绘图并在方法和方法GDI
中都尝试过但没有成功。我可以让它在其中绘制,但是当我调用基础时,它会在我的图像上绘制。OnPaint()
DrawItem()
OnPaint()
CStatic::OnPaint()
我需要能够让它像平常一样绘制,然后只是在上面放一个图像。当我尝试在该DrawItem()
方法中执行此操作时,我遇到了问题,因为显然它不是使用SS_BLACKRECT
样式进行绘制,而是在等待我按预期绘制控件。
我想我想我正在寻找的是三件事之一。GDI
在基本OnPaint()
方法完成后使用的一种绘制方法。一种让控件绘制默认SS_BLACKRECT
样式然后绘制OWNERDRAW
图像的方法。或模仿绘图的代码SS_BLACKRECT
。
最后一个可能是最简单的,但我只是不知道我需要设置的所有东西来绘制CStatic
像默认 DrawItem 这样的控件。