1个回答
展开全部
没有太好的办法,只能自己新建一个类继承CStatic,然后响应WM_PAINT消息自己来绘制文本,在绘制文本的时候设置背景模式为透明模式。然后为你的这个静态文本框添加控制变量,变量类型就是你新建的这个类。绘制静态框文本大致代码如下,必要的时候自己再构建合适的字体:
void CMyStatic::OnPaint()
{
CPaintDC dc(this); // device context for painting
RECT rcClient;
GetClientRect(&rcClient);
int nLen = ::GetWindowTextLength(m_hWnd);
char *strTitle = new char[nLen + 1];
::GetWindowText(m_hWnd, strTitle, nLen + 1);
dc.SetBkMode(TRANSPARENT);
dc.DrawText(strTitle, nLen, &rcClient, DT_WORDBREAK | DT_LEFT);
delete strTitle;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询