用pDC->SetBkMode(TRANSPARENT);
设置透明后,要改变控件的文字就会发生文字重叠,如果不使用透明就不会,请问在透明状态下改变文字如何不发生重叠?
static的背景已经是透明的了,那么残留的文本应该是画在static的父窗口上的。
办法有了:在给static 设置新的文本之后(不是之前!)刷新父窗口。
void CTestStaticDlg::OnTimer(UINT nIDEvent)
{
CString strTime;
CTime time = CTime::GetCurrentTime();
strTime = time.Format("%y年%m月%d日 %H:%M:%S");
GetDlgItem(IDC_STATIC)->SetWindowText(strTime);
GetDlgItem(IDC_STATIC)->GetParent()->RedrawWindow(); //就这两句话而已,呵呵
CDialog::OnTimer(nIDEvent);
}