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控件(七段数码管)也可以透明的动态更新显示!效果也非常好!