varding

导航

 

1、用LRESULT OnCtlColorStatic(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)事件设置控件透明色,返回的时候要用return (LRESULT)GetStockObject(NULL_BRUSH);自己创建的null_brush不起作用~~

 

2、将CStatic设为透明的后,改变文字会出现与历史文字重叠,原因在于设了透明后,CStatic控件不再响应WM_ERASEBKGND事件,所以出现文字重叠,可以添加下面的函数来刷新背景:

 

代码
void CSidePanel::UpdateBk( int id )
{
RECT rect;
CWindow stc
= GetDlgItem(id);
stc.GetClientRect(
&rect);
stc.ClientToScreen(
&rect);
ScreenToClient(
&rect);
InvalidateRect(
&rect);
UpdateWindow();
}

 

posted on 2010-11-28 12:55  varding  阅读(1043)  评论(0)    收藏  举报