打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何使STATIC控件的背景透明以及动态改变控件文本内容时闪烁的问题
  一、用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);   //  整个客户区无效  
        }  

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VC?使用OnCtlColor函数来改变控件颜色(引用)
VC MFC中修改STATIC的文本颜色
对话框控件背景、字体颜色设置?(转)
WM_CTLCOLOR和OnCtlColor消息的用法
CStatic设置文字、字体、颜色和OnCtlColor的使用
如何改变控件的字体和字体颜色
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服