动态创建按钮,并在按钮中添加位图,通过单击按钮显示不同的位图,可设置为显示按钮按下和弹起两种状态。只要判断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

MFC动态创建按钮,并在按钮上实现位图的切换显示的更多相关文章

  1. MFC动态创建对话框中的按钮控件并创建其响应消息

    转自:http://www.cnblogs.com/huhu0013/p/4626686.html 动态按钮(多个)的创建: 1.在类中声明并定义按钮控件的ID #define IDC_D_BTN 1 ...

  2. 【转载】MFC动态创建控件及其消息响应函数

    原文:http://blog.sina.com.cn/s/blog_4a08244901014ok1.html 这几天专门调研了一下MFC中如何动态创建控件及其消息响应函数. 参考帖子如下: (1)h ...

  3. MFC动态创建控件及其消息响应函数

    这几天专门调研了一下MFC中如何动态创建控件及其消息响应函数. 参考帖子如下: (1)http://topic.csdn.net/u/20101204/13/5f1b1e70-2f1c-4205-ba ...

  4. MFC 动态创建控件

    动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的.   一.创建动态控件:   为了对照,我们先来看一下静态控件的创建.   放置静态控件时必须先建立一个容器,一 ...

  5. mfc 动态创建EDIT控件

    知识点: CWnd::Create CWnd::CreateEx Spy++工具 动态创建控件 一. CWnd::Create 参数 virtual BOOL Create( LPCTSTR lpsz ...

  6. jquery动态创建元素 div元素随垂直滚动条位置变化置顶显示

    刚打开页面效果 拖动滑动条之后效果 页面代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...

  7. MFC 动态创建按钮

    首先在对话框(模式对话框,无模式对话框)中添加一个ADD按钮,通过点击按钮产生的通告消息调用::OnBtnAdd()方法.此方法会在对话框的左上角创建一个按钮. 当然首先要在和次对话框相关联的类中添加 ...

  8. 动态创建div(鼠标放上显示二维码)

    最近的微信大行其道.各个网站上都给出的微信验证码,进行手机扫描加入. 怎么创建类似与点击鼠标弹出一个浮动的div显示二维码的这种效果. 1.首先制作好这样的图片,写css样式 <style ty ...

  9. MFC动态创建菜单

    http://blog.csdn.net/csdnzhwk/article/details/47395639

随机推荐

  1. 查看当前windows字符集

    查看当前windows字符集 命令行输入:chcp

  2. java—— 编译与运行

    内容:使用javac 指定编译多个目录下java文件 链接:http://zhidao.baidu.com/link?url=W5ZERu8_ouGD-L_JH0vqqawhJNitsGbonQAAT ...

  3. mysql中如何更新一个字段的值为它本身的值连接上一个字符串

    CONCAT(str1,str2,...)     返回结果为连接参数产生的字符串. 如有任何一个参数为NULL ,则返回值为 NULL. 或许有一个或多个参数. 如果所有参数均为非二进制字符串,则结 ...

  4. Chrome调试大全--转载

    作为一名前端开发者,打交道最多的可能是和浏览器.市面上各种浏览器多不胜数,主流的有Chrome,Firefox,Safari,IE,Opera,非主流的如360,遨游,QQ浏览器,搜狗浏览器,据说淘宝 ...

  5. Qt Sqlite封装类SqliteUtil

    在网上找了很久关于Qt访问Sqlite数据库的封装类,但是没能找到一个很好的访问调用类,自己写了一个出来,在这里分享一下,希望能对大家有所帮助,小弟不才,写代码没多少经验,如果有什么不恰当之处,请批评 ...

  6. nginx 站点80跳443配置

    server { listen 80; server_name www.furhacker.cn; location /{# return 301; rewrite ^(.*)$ https://$h ...

  7. python的运算符

    #coding=utf-8#"+"两个对象相加#两个数字相加a=7+8print a #两个字符串相加b="GOOD"+"JOB"print ...

  8. javascript 中寻找性能瓶颈

    1.如果一个段代码很耗时的话你可以注释掉一部分你认为是很耗时的,或者干脆全部注释掉,然后再一点一点的解开. 2.js优化中最主要的还是对dom操作的优化,单纯的js执行时间是很短的,而js和dom之间 ...

  9. spring aop原理分析

    持续更新... aop跟java代理模式有关. java.lang.reflect.Proxy java.lang.reflect.InvocationHandler 工厂模式用到java反射. ao ...

  10. asp.net读取Access数据库。

    注:数据库(表名 job  id 工作id ,job工作字段) 数据库放在app_data文件中.名称为database.mdb 如果用codesmith生成,选择的数据库连接类型如下图: 项目结构图 ...