CTransparentStatic类的使用 CButton类的使用

CButtonST功能:加载图片,移进移入效果

1,在应用程序目录下新建CButtonST文件夹(D:\新划船器项目\Hua03\Hua\CButtonST),并将BtnST.h和BtnST.cpp拷贝至此

2,在vs的解决方案资源管理器中的头文件和源文件目录下分别新建CButtonST文件夹

3,将BtnST的头文件和源文件分别添加进来

4,将CButton m_btnStart;;改为CButtonST m_btnStart;;(m_btnStart已经与IDC_BUTTON_START控件关联)

5,头文件包含:注意是#include "CButtonST\BtnST.h"  ,而不是#include "BtnST.h",因为BtnST.h在CButtonST文件夹下!

CButtonST的是使用

在OnInitDialog()中添加:

m_btnStart.SetBitmaps(IDB_BITMAP_BTNSTART,RGB(0,0,0),(int)IDB_BITMAP_BTNSTART,RGB(0,0,0),(int)BTNST_AUTO_GRAY);
m_btnStart.DrawTransparent();
m_btnStart.DrawBorder(FALSE);


CTransparentStatic功能:动态透明显示,无闪烁,无重影,非常强大!

添加过程与CButtonST相似

但要注意需要在OnCtlColor()函数中设置背景透明!如:

HBRUSH CTrainDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);


// TODO:  在此更改 DC 的任何特性
if( pWnd ->GetDlgCtrlID() == IDC_STATIC_TIMELEFT)
{
pDC->SetBkMode(TRANSPARENT);//设置背景透明
pDC ->SetTextColor(RGB(0,0,0));//设置字体为黑色
return (HBRUSH)::GetStockObject(NULL_BRUSH);
}
// TODO:  如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}


另外发现iocomp控件里面的sevenSA控件(七段数码管)也可以透明的动态更新显示!效果也非常好!



你可能感兴趣的:(CTransparentStatic类的使用 CButton类的使用)