mfc 按钮从绘贴图
来源:互联网 发布:高中网络辅导班哪家好 编辑:程序博客网 时间:2024/05/21 06:17
#pragma once#include "afxwin.h"#define BTN_WIDTH 36#define BTN_HIGHT 36class 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 CSplitButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct){// TODO: 添加您的代码以绘制指定项CRect lRect; GetClientRect(&lRect);CDC dc;dc.Attach(lpDrawItemStruct->hDC); //得到设备环境类CDCif (m_bselect/*lpDrawItemStruct->itemState & ODS_SELECTED*/){COLORREF DownColor = RGB(209,208,208);CBrush brush(DownColor);dc.FillRect(&(lpDrawItemStruct->rcItem), &brush);}else{COLORREF DownColor = RGB(239,239,239);CBrush brush(DownColor);dc.FillRect(&(lpDrawItemStruct->rcItem), &brush);}CDC dcMem;dcMem.CreateCompatibleDC(&dc); //内存//位图加载到内存dc中 CBitmap *pOldBitmap=dcMem.SelectObject(&m_bmpImg); BITMAP bmp;m_bmpImg.GetBitmap(&bmp); //获取位图信息int x = (lRect.Width() - bmp.bmWidth)/2;int y = (lRect.Height() - bmp.bmHeight)/2;dc.StretchBlt(x,y,bmp.bmWidth,bmp.bmHeight,&dcMem,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY); //清理 dcMem.SelectObject(&pOldBitmap);}
效果:
0 0
- mfc 按钮从绘贴图
- MFC-自绘贴图按钮
- MFC对话框添加背景及按钮贴图
- MFC按钮贴图碰到的问题
- 用CBitmapButton为MFC按钮贴图
- 自绘贴图-MFC方式
- 按钮贴图
- MFC对话框窗口使用GDI+给按钮贴图
- MFC 贴图
- MFC贴图
- MFC贴图
- 最简单的自绘贴图按钮
- mfc 按钮自绘
- 按钮贴图2
- qt按钮贴图
- qt按钮贴图
- win32 api 按钮贴图
- vs2013 按钮贴图
- eclipse字母大小写转换快捷键
- 数据结构课程设计-哈夫曼树及其应用
- 七牛error:incorrect zone, please use up-z1.qiniu.com问题解决
- xib 创建scrollView 点击事件不可用问题
- 存储过程基本语法及实例
- mfc 按钮从绘贴图
- 彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
- 执行Fragment的getActivity()方法返回null
- 【BZOJ 1923】 [Sdoi2010]外星千足虫 高斯消元
- 关于DEX字节码解释的网址
- Java中为IO流写一个快速关闭流的小工具
- 使用zxing解析二维码图片
- Android入门级之WebView的使用
- sql_sever单表查询的一些基本案例