MFC中,在窗体绘图,如何将图绘制到控件之上

时间:2021-08-05 23:29:54
画一个图,如何能画在控件之上,如果重载控件的onpaint方法,这图只能画在控件上,怎么样能同时在窗体上画呢

6 个解决方案

#1


画的时候,取窗体的rect与窗体的DC,然后画,最好在窗体里面画。

#2


引用 1 楼 fandh 的回复:
画的时候,取窗体的rect与窗体的DC,然后画,最好在窗体里面画。

取窗体的dc,画的图.,会被控件给覆盖了

#3


你希望是不是这样?
给窗体画图,连控件也画了?

#4


如果是这样的话,那么,两个都要画!

#5


那你的意思就不是画在窗体上了,而是画在屏幕上,用GetDC(NULL)取屏幕的HDC,再在屏幕的HDC上画就行.

#6


在控件上画
CWnd *pWin = GetDlgItem(IDC_STC_FLAT);  //IDC_STC_FLAT为你控件ID
     CDC *pDC = pWin->GetDC();
pDC->......
在窗体上画
CDC *pDC = GetDC();
pDC->......

#1


画的时候,取窗体的rect与窗体的DC,然后画,最好在窗体里面画。

#2


引用 1 楼 fandh 的回复:
画的时候,取窗体的rect与窗体的DC,然后画,最好在窗体里面画。

取窗体的dc,画的图.,会被控件给覆盖了

#3


你希望是不是这样?
给窗体画图,连控件也画了?

#4


如果是这样的话,那么,两个都要画!

#5


那你的意思就不是画在窗体上了,而是画在屏幕上,用GetDC(NULL)取屏幕的HDC,再在屏幕的HDC上画就行.

#6


在控件上画
CWnd *pWin = GetDlgItem(IDC_STC_FLAT);  //IDC_STC_FLAT为你控件ID
     CDC *pDC = pWin->GetDC();
pDC->......
在窗体上画
CDC *pDC = GetDC();
pDC->......