mfc 中怎么把设置到按钮上的bmp图片设为透明显示
2个回答
展开全部
据我所知,只能使用BS_OWNERDRAW了,使用TransparentBlt。
更多追问追答
追问
这个怎么用呀,能发个具体的步骤吗
追答
// NOTE: CMyButton is a class derived from CButton. The CMyButton
// object was created as follows:
//
// CMyButton myButton;
// myButton.Create(_T("My button"),
// WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW,
// CRect(10,10,100,30), pParentWnd, 1);
//
// This example implements the DrawItem method for a CButton-derived
// class that draws the button's text using the color red.
void CMyButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
UINT uStyle = DFCS_BUTTONPUSH;
// This code only works with buttons.
ASSERT(lpDrawItemStruct->CtlType == ODT_BUTTON);
// If drawing selected, add the pushed style to DrawFrameControl.
if (lpDrawItemStruct->itemState & ODS_SELECTED)
...;
TransparentBlt(lpDrawItemStruct->hDC, ......);
}
1. 从CButton派生一个类。
2. 创建按钮,指定 BS_OWNERDRAW
3. 重载DrawItem, 在 lpDrawItemStruct->hDC 上随便画。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询