Static控件背景透明时文字覆盖问题的解决方案
请问static控件设置透明后,再更改文字时会与之前的文字覆盖,怎么解决 用pDC->SetBkMode(TRANSPARENT); 设置透明后,要改变控件的文字就会发生文字重叠,如果不使用透明就不会,请问在透明状态下改变文字如何不发生重叠? 起初不以为意,闲暇时自己试了一下,发现:文本确实有重叠。如下图(为了更好的说明问题,我特意设置了背景和前景色):
那就好办了,解决办法:强制刷新。 方法1:GetDlgItem(IDC_STATIC)->UpdateWindow(); 无效... 无效....... 方法4:还不行?来点小技巧 SetDlgItemText(IDC_STATIC, " SetDlgItemText(IDC_STATIC, "TEST"); 郁闷了……. 难道这么个小问题要用高级的方法搞?
void CTestStaticDlg::OnTimer(UINT nIDEvent) { } 编译运行,K.O. |
|