静态文本透明显示,和控制显示字体,在上一篇中已经解决,通过CSDN的论坛和网络的力量。
但是在动态更新静态文本内容的时候会出现重叠现象,论坛里也有多处讨论,最后在这里找到了答案
http://wenku.baidu.com/view/4e45f9a10029bd64783e2c9f.html###
代码如下:
void CTransstaDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CRect rect;
GetDlgItem(IDC_STA)->GetWindowRect(&rect);
ScreenToClient(&rect);
InvalidateRect(&rect);
// Invalidate();
CString str;
str.Format("%d", point.x);
m_static.SetWindowText(str);
CDialog::OnLButtonDown(nFlags, point);
}
注意:
1.ScreenToClient(&rect);这句必须要有,上一句得到的是整个屏幕的矩形,要把矩形区域变换到用户区(对话框)上。我试过得