WTL 自绘按钮为什么不显示图片。。。。。。
就是在按钮上面 加一张图片,按钮设置了自绘属性
.h文件
.cpp
maindlg.h也添加了宏
为什么还不显示。。。
.h文件
#pragma once
#include "stdafx.h"
class CODButtonImpl : public CWindowImpl<CODButtonImpl, CButton>,
public COwnerDraw<CODButtonImpl>
{
public:
CODButtonImpl();
BEGIN_MSG_MAP(CODButtonImpl)
CHAIN_MSG_MAP_ALT(COwnerDraw<CODButtonImpl>, 1)
DEFAULT_REFLECTION_HANDLER()
END_MSG_MAP()
void DrawItem ( LPDRAWITEMSTRUCT lpdis );
protected:
CBitmap m_bmp;
};.cpp
#include "stdafx.h"
#include "CODButtonImpl.h"
#include "resource.h"
CODButtonImpl::CODButtonImpl()
{
m_bmp.LoadBitmap ( IDB_ALYSON );
}
void CODButtonImpl::DrawItem ( LPDRAWITEMSTRUCT lpdis )
{
CDCHandle dc = lpdis->hDC;
CDC dcMem;
dcMem.CreateCompatibleDC ( dc );
dc.SaveDC();
dcMem.SaveDC();
// Draw the button's background, red if it has the focus, blue if not.
if ( lpdis->itemState & ODS_FOCUS )
dc.FillSolidRect ( &lpdis->rcItem, RGB(255,0,0) );
else
dc.FillSolidRect ( &lpdis->rcItem, RGB(0,0,255) );
// Draw the bitmap in the top-left, or offset by 1 pixel if the button
// is clicked.
dcMem.SelectBitmap ( m_bmp );
if ( lpdis->itemState & ODS_SELECTED )
dc.BitBlt ( 1, 1, 80, 80, dcMem, 0, 0, SRCCOPY );
else
dc.BitBlt ( 0, 0, 80, 80, dcMem, 0, 0, SRCCOPY );
dcMem.RestoreDC(-1);
dc.RestoreDC(-1);
}maindlg.h也添加了宏
CODButtonImpl m_wndODBtn;
BEGIN_MSG_MAP(CMainDlg)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
COMMAND_ID_HANDLER(ID_APP_ABOUT, OnAppAbout)
COMMAND_ID_HANDLER(IDOK, OnOK)
COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
COMMAND_ID_HANDLER_EX(IDC_ALYSON_BTN, OnAlysonODBtn)
END_MSG_MAP()
BEGIN_DDX_MAP(CMainDlg)
DDX_CONTROL(IDC_ALYSON_BTN, m_wndODBtn)
END_DDX_MAP()为什么还不显示。。。
...全文
相关推荐
VC++界面编程之--自绘按钮(CButton)皮肤
在VC++编程中,利用CustomDraw自绘的方法,可以很轻松地实现按钮的自绘效果。 我利用了此方法,制作了一个CCustomButton类,实现了如下效果的控件,其支持普通的按钮风格,并也支持CheckBox的风格。 与之配套的博客:http://blog.csdn.net/renstarone/article/details/11177051
WTL GDI+ 按钮,可使用PNG图片
这个按钮是根据一个国外作者的CGdipButton MFC类 翻译过来的 附上demo,编译环境是WTL8,VS2005
WTL下的SkinButton
在WTL框架下些的一个SkinButton类,对于学习WTL的童鞋来说可是个不错的源码,欢迎下载,欢迎交流
WTL 三态位图按钮
一个很简单的三态位图按钮,比较适合使用,但是在WS_CLIPCHILDREN风格下有点问题
wtl三态按钮
wtl button类-wtl button class 基于WTL的三态按钮,易用性好,


