📄 buttonlr.cpp
字号:
// ButtonLR.cpp : implementation file
//
#include "stdafx.h"
#include "shiboqi.h"
#include "ButtonLR.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CButtonLR
CButtonLR::CButtonLR()
{
m_bState=FALSE;
}
CButtonLR::~CButtonLR()
{
}
BEGIN_MESSAGE_MAP(CButtonLR, CButton)
//{{AFX_MSG_MAP(CButtonLR)
ON_WM_LBUTTONUP()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CButtonLR message handlers
void CButtonLR::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
// TODO: Add your code to draw the specified item
CDC* pDC=CDC::FromHandle(lpDrawItemStruct->hDC);
CRect rect=lpDrawItemStruct->rcItem;
GetWindowText(m_strCaption);
BITMAP bmp;
CDC memDC;
CFont newFont;
// newFont.
memDC.CreateCompatibleDC(pDC);
if(!m_bState)
{
CBitmap bitmap;
bitmap.LoadBitmap(IDB_UP);
CBitmap* OldBitmap=memDC.SelectObject(&bitmap);
bitmap.GetBitmap(&bmp);
pDC->StretchBlt(rect.left,rect.top,rect.right,rect.bottom,&memDC,0,0,
bmp.bmWidth,bmp.bmHeight,SRCCOPY);
OldBitmap=pDC->SelectObject(OldBitmap);
// OldBitmap.DeleteObject();
newFont.CreateFont(15,0,0,0,550,0,0,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,DEFAULT_PITCH&FF_SWISS,"宋体");
CFont* OldFont=pDC->SelectObject(&newFont);
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(128,255,128));
pDC->DrawText(m_strCaption,&rect,DT_CENTER|DT_VCENTER|DT_SINGLELINE);
pDC->SelectObject(OldFont);
pDC->DeleteDC();
}
else
{
CBitmap bitmap;
bitmap.LoadBitmap(IDB_DOWN);
CBitmap* OldBitmap=memDC.SelectObject(&bitmap);
bitmap.GetBitmap(&bmp);
pDC->StretchBlt(rect.left,rect.top,rect.right,rect.bottom,&memDC,0,0,
bmp.bmWidth,bmp.bmHeight,SRCCOPY);
OldBitmap=pDC->SelectObject(OldBitmap);
// OldBitmap.DeleteObject();
newFont.CreateFont(15,0,0,0,550,0,0,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,DEFAULT_PITCH&FF_SWISS,"宋体");
CFont* OldFont=pDC->SelectObject(&newFont);
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255,255,255));
pDC->DrawText(m_strCaption,&rect,DT_CENTER|DT_VCENTER|DT_SINGLELINE);
pDC->SelectObject(OldFont);
pDC->DeleteDC();
}
memDC.DeleteDC();
}
void CButtonLR::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
Invalidate();
CButton::OnLButtonUp(nFlags, point);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -