动态创建按钮,并在按钮中添加位图,通过单击按钮显示不同的位图,可设置为显示按钮按下和弹起两种状态。只要判断a值从而输入不同的响应代码。

1、在头文件中添加:

CButton *pBtn;

2、在初始化函数中添加:

pBtn = new CButton();

pBtn->Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_BITMAP, CRect(0,0,100,40), this, IDC_BUTTON);//按钮显示名、属性、ID号

pBtn->MoveWindow(CRect(400,100,500,140));//位置和按钮大小

pBtn->SetBitmap((HBITMAP)LoadImage(AfxGetInstanceHandle(), "1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION));//插入位图的,位图的位置要放在程序中

此时运行程序就可显示按钮,并且如果有位图,位图会显示在按钮上面;

3、在Resource.h中

添加ID号:比如#define IDC_BUTTON 1002

4、在头文件下方

protected:

//{{AFX_MSG(CMy3View)

// NOTE - the ClassWizard will add and remove member functions here.

//    DO NOT EDIT what you see in these blocks of generated code !

//}}AFX_MSG

afx_msg void OnButton();//这句函数声明

DECLARE_MESSAGE_MAP()

5、在

BEGIN_MESSAGE_MAP(CMy3View, CFormView)

//{{AFX_MSG_MAP(CMy3View)

// NOTE - the ClassWizard will add and remove mapping macros here.

//    DO NOT EDIT what you see in these blocks of generated code!

//}}AFX_MSG_MAP

// Standard printing commands

ON_BN_CLICKED(IDC_BUTTON, OnButton)//在外面(ID号,响应函数名)

END_MESSAGE_MAP()

6、手动添加响应函数

void CMyView::OnButton()

{

MessageBox("响应函数添加测试成功");

}

7、在头文件中添加一个整形的成员变量

int a;

8、构造函数中初始化

a = 0;

9、在按钮响应函数中添加

void CMyView::OnButton()

{

if(a%2 == 0)

{

pBtn->SetBitmap((HBITMAP)LoadImage(AfxGetInstanceHandle(), "2.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION));

}

else if(a%2 == 1)

{

pBtn->SetBitmap((HBITMAP)LoadImage(AfxGetInstanceHandle(), "1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION));

}

a++;

}

如果单纯的实现按钮的位图切换的话,建议使用CBitmapButton类

http://blog.csdn.net/bigtree_mfc/article/details/40625523

最新文章

  1. 花几分钟搭建一个自已的GIT服务器
  2. Ant_build.xml的最完整解释
  3. QQ空间HD(1)-UIPopoverController基本使用
  4. 2016.7.7 计算机网络复习要点第四章之网际协议IP
  5. Codeforces Round #237 (Div. 2) A
  6. JS远程获取网页源代码的例子
  7. 导出Excel事例
  8. Jabber Software:Jabber-NET、agsXMPP与Wilefire[转]
  9. ajax请求webservice时抛出终止线程的异常
  10. python爬虫抓站的一些技巧总结
  11. Parallels Desktop 12 for Mac 破解版
  12. v-charts修改点击图例事件,legendselectchanged
  13. JDBC学习DayOne
  14. IE6设置li的float:left,不能自适应宽的解决方法
  15. Linux编程 23 shell编程(结构化条件判断 命令if -then , if-then ... elif-then ...else,if test)
  16. ubuntun与qt下载地址
  17. Qt+QGIS二次开发:向shp矢量图层中添加新的字段
  18. 自学Linux Shell12.6-嵌套循环for命令
  19. python之simplejson,Python版的简单、 快速、 可扩展 JSON 编码器/解码器
  20. OpenStack kolla 多 region 部署配置

热门文章

  1. angular 按需加载
  2. AFNetworking (3.1.0) 源码解析 <二>
  3. IE 文档模型设置 免去你IE 按F12去调文档标准的烦恼。
  4. 给Android程序猿的六个建议
  5. myeclipse快捷键收集整理
  6. Sorting File Contents and Output with sort
  7. nginx 1.安装
  8. 关于 keybd_event (vb篇)
  9. Android开发手记(12) Menu的使用
  10. git add相关