如何使STATIC控件的背景透明以及动态改变控件文本内容时闪烁的问题
2009-08-26 23:19
531 查看
一、用VC编写基于对话框的应用程序,用BMP位图作为对话框背景,对话框上的STATIC静态文本框,可以用以下消息函数使文本框的文字背景透明:
HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if( nCtlColor == CTLCOLOR_STATIC)
{
pDC->SetBkMode(TRANSPARENT); //设置背景透明
return HBRUSH(GetStockObject(HOLLOW_BRUSH));
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
二、动态改变控件文本内容时闪烁,可以用以下函数解决这个问题:
void CXXXDlg::OnBtnStatic()
{
// TODO: Add your control notification handler code here
// IDC_STATIC_ST为静态文本控件ID号
CStatic* pSt = (CStatic*)GetDlgItem( IDC_STATIC_ST);
pSt->SetWindowText("北京2008");
RECT rect;
pSt->GetWindowRect(&rect);
ScreenToClient(&rect);
InvalidateRect( &rect,FALSE );
//Invalidate(FALSE); // 整个客户区无效
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bhw1985/archive/2009/05/20/4205038.aspx
HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if( nCtlColor == CTLCOLOR_STATIC)
{
pDC->SetBkMode(TRANSPARENT); //设置背景透明
return HBRUSH(GetStockObject(HOLLOW_BRUSH));
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
二、动态改变控件文本内容时闪烁,可以用以下函数解决这个问题:
void CXXXDlg::OnBtnStatic()
{
// TODO: Add your control notification handler code here
// IDC_STATIC_ST为静态文本控件ID号
CStatic* pSt = (CStatic*)GetDlgItem( IDC_STATIC_ST);
pSt->SetWindowText("北京2008");
RECT rect;
pSt->GetWindowRect(&rect);
ScreenToClient(&rect);
InvalidateRect( &rect,FALSE );
//Invalidate(FALSE); // 整个客户区无效
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bhw1985/archive/2009/05/20/4205038.aspx
相关文章推荐
- 如何使STATIC控件的背景透明以及动态改变控件文本内容时闪烁的问题
- VC++ CStatic控件背景透明且改变其文本时,文字重叠解决方法
- 关于Static控件背景透明时文本覆盖重影的问题
- MFC 关于Static控件背景透明时文本覆盖重影的问题
- VC窗体透明而控件不透明以及Static文本背景透明方法
- VC窗体透明而控件不透明以及Static文本背景透明方法
- VC窗体透明而控件不透明以及Static文本背景透明方法
- 关于Static控件背景透明时文本覆盖重影的问题
- MFC解决Static控件背景透明时文本覆盖重影
- silverlight2中的定时器,以及如何动态改变控件的坐标
- shareSDK分享平台分享内容出去显示“来自XXX”的问题及其如何修改分享菜单的背景图片以及调用无UI方法自定义UI分享
- MFC中如何使static控件背景透明
- (Winform)控件中添加GIF图片以及运用双缓冲使其不闪烁以及背景是gif时使控件(如panel)变透明
- C#如何访问水晶报表中的对象,以及动态改变对象的内容?
- CStatic子类化解决背景透明,文本重叠,刷新闪烁问题
- android在滑动控件过程中动态设置view背景透明的问题
- CStatic控件背景透明且改变其文本时,文字重叠解决方法
- MFC解决Static控件背景透明时文本覆盖重影
- 在MFC对话框中,如何让控件Static和Radio和CheckBox背景透明?
- 在MFC对话框中,如何让控件Static和Radio和CheckBox背景透明?