#pragma once
#include "afxwin.h"
#define BTN_WIDTH 36
#define BTN_HIGHT 36
class CSplitButton :public CButton
{
public:
CSplitButton(void);
~CSplitButton(void);
void LoadImg(const char* strPath);
void selectBtn(bool bselect);
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
private:
CBitmap m_bmpImg;
bool m_bselect;
};
#include "StdAfx.h"
#include "SplitButton.h"
CSplitButton::CSplitButton(void):m_bselect(false)
{
}
CSplitButton::~CSplitButton(void)
{
m_bmpImg.DeleteObject();
}
void CSplitButton::LoadImg(const char* strPath)
{
HBITMAP hBitmap =(HBITMAP)::LoadImage(
NULL,
strPath, // 图片全路径
IMAGE_BITMAP, // 图片格式
0,0,
LR_LOADFROMFILE|LR_CREATEDIBSECTION);
m_bmpImg.Attach(hBitmap);
}
void CSplitButton::selectBtn(bool bselect)
{
m_bselect = bselect;
Invalidate();
}
void CS