CFromView视图中的Statictext控件透明

在文框视图框架中,视图上的static控件的透明和CDialog类有所不同。代码如下:

成都创新互联2013年至今,先为鱼峰等服务建站,鱼峰等地企业,进行企业商务咨询服务。为鱼峰企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

HBRUSH CMainView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
	HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);

	if(CTLCOLOR_STATIC == nCtlColor)//这一行不同
	{
		pDC->SetBkMode(TRANSPARENT);
		return   (HBRUSH)::GetStockObject(NULL_BRUSH);  
	}

	//CString str;
	//str.Format(_T("%d\n"),pWnd->GetDlgCtrlID());
	//TRACE(str);
	return hbr;
}

在判断static控件的ID时,不是用某个具体控件的ID,而是CTLCOLOR_STATIC,表示一类控件。

CStatic控件两次设置文字,会重影,解决方法如下:

CRect rt;
m_staTitle.GetWindowRect(&rt);
ScreenToClient(&rt);
InvalidateRect(rt);

分享名称:CFromView视图中的Statictext控件透明
路径分享:http://scyanting.com/article/gdscpp.html