很长时间没有看MFC相关的知识了,我大概是在大二时候学习的MFC相关知识及图像处理,现在由于要帮个朋友完成个基于C++的程序,所以又回顾了下相关知识。的确,任

// TODO: 在此添加额外的初始化代码

//初始化窗口 设置窗口为500*500大小

MoveWindow(0,0,500,500);

/*******************************************************************************/

/* (重点知识:实现按钮位置设置)

*/

/* 1.使用Ctrl+Shift+X打开类资源导向 增加开始\结束按钮的成员变量 Button型 */

/* 2.使用函数SetWindowPos()设置两个按钮的位置

*/

/*******************************************************************************/

/*******************************************************************************/

/* SetWindowPos()函数

*/

/*参数:const CWnd* pWndInsertAfter,int x,int y,int cx,int cy,UINT nFlags */

/*

hwnd是窗口的句柄,x、y、cx、cy分别是窗口的x和y坐标、宽和高度

*/

/*

hWndInsertAfter用来指定窗口的Z位置,代表深度.这个参数接受5种值:

*/

/* HWND_BOTTOM、 HWND_NOTOPMOST、HWND_TOP、HWND_TOPMOST或者另一个窗口的句柄 */

/*

wFlags用来指定附加的选项

*/

/*******************************************************************************/

//窗口句柄设置为NULL SWP_SHOWWINDOW显示窗口 SWP_NOSIZE保持当前大小忽略cx\xy故设置为0

m_buttonstart.SetWindowPos(NULL,20,280,0,0,SWP_SHOWWINDOW|SWP_NOSIZE);

m_buttonfix.SetWindowPos(NULL,20,325,0,0,SWP_SHOWWINDOW|SWP_NOSIZE);

m_buttonexit.SetWindowPos(NULL,20,370,0,0,SWP_SHOWWINDOW|SWP_NOSIZE);

//设置按钮属性 点击按钮背景图片变换

m_buttonstart.LoadBitmaps(IDB_StartMovie1,IDB_StartMovie2);

m_buttonfix.LoadBitmaps(IDB_StartMovie1,IDB_StartMovie2);

m_buttonexit.LoadBitmaps(IDB_StartMovie1,IDB_StartMovie2);

return TRUE; // 除非将焦点设置到控件,否则返回 TRUE此时你运行程序会出现如下错误:Error class "CButton"没有成员“LoadBitmaps”。函数LoadBitmaps()的功能是点击按钮实现两张背景图片的替换。

第五步需要在XXXDlg.h头文件中把public成员变量CButton全部修改为CBitmapButton,如下图为修改第一个变量所示:

// CRecoveryMovieDlg 对话框

class CRecoveryMovieDlg : public CDialogEx

{

// 构造

public:

CRecoveryMovieDlg(CWnd* pParent = NULL);// 标准构造函数

// 对话框数据

enum { IDD = IDD_RECOVERYMOVIE_DIALOG };

protected:

virtual void DoDataExchange(CDataExchange* pDX);// DDX/DDV 支持

// 实现

protected:

HICON m_hIcon;

// 生成的消息映射函数

virtual BOOL OnInitDialog();

afx_msg void OnSysCommand(UINT nID, LPARAM lParam);

afx_msg void OnPaint();

afx_msg HCURSOR OnQueryDragIcon();

DECLARE_MESSAGE_MAP()

public:

CBitmapButton m_buttonstart;

CBitmapButton m_buttonfix;

CBitmapButton m_buttonexit;

};第六步:此时虽然你能运行程序,但是按钮背景依然没有,,因为你还需要分别设置三个按钮的属性“Owner Draw”为True,它指定按钮为所有者描述的按钮。

运行结果如下图所示:

最后希望文章对大家有所帮助,如果文章中有不足之处或错误的地方,还请海涵!个人推荐初学者尤其很多老师布置作业需要用MFC完成的可以学习,没有什么语言流行,它们都是贯通的,都需要一步一个脚印的去学习。

mfc让图片与按钮一起_MFC 基础知识:对话框背景添加图片和按钮Button添加图片...相关推荐

  1. VBA基础知识 提取超链接 批注转内容 工作簿内图片联动

    基础知识 官方文档:https://docs.microsoft.com/zh-cn/office/vba/api/overview/ 基本流程:尝试寻找最佳路径--文字记录--录制VBA--修改,写 ...

  2. oracle中给表加注释,Oracle基础知识(一) - 给表或列添加注释

    在这里记录一下,Oracle的基础知识,基本命令,分享一下. 有时候,想要给数据库中的表或者列添加注释,用命令, 以前都是用PL/SQL Developer 在界面中添加的, 查了一下 1.给表添加注 ...

  3. 面部情绪识别基础知识积累——背景

    1. MIT 媒体实验室的罗莎琳德·皮卡德(Rosalind W. Picard)于 1995 年提出了情感计算(Affective Computing)的概念,并于 1997 年正式出版了<情 ...

  4. 界面组件——按钮(Button)与图片按钮(ImageButton)

    介绍 用例 介绍 Button继承了TextView,同时还是ImageButton的父类. Button.ImageButton的功能主要是在UI界面上生成一个按钮,该按钮可以供用户单击,当用户单击 ...

  5. java图片框_用java语言, 如何实现为图片添加边框素材,就是把图片和边框素材(图片)结合?...

    展开全部 用FrontPage2002来做吧,你点点下面的连接:62616964757a686964616fe4b893e5b19e31333264636265 具体是: Web页面可用预定义模板来创 ...

  6. ISP(一) 基础知识储备

    ISP(image signal processing),图像信号处理芯片,在手机摄像头和车载摄像头等领域有着广泛应用,是图像信号处理的核心芯片. ISP pipeline 流程图如下: 光线经过le ...

  7. MFC 基础知识:对话框背景添加图片和按钮Button添加图片

    很长时间没有接触MFC相关的知识了,我大概是在大二时候学习的MFC相关知识及图像处理,现在由于要帮个朋友完成个基于C++的程序,所以又回顾了下相关知识.的确,任何知识一段时间过后都比较容易忘记,但回顾 ...

  8. MFC 基础知识:主对话框与子对话框(一)

    (仅供使用VS MFC初学者学习,高手莫见笑) 在MFC中通常会使用点击一个按钮,弹出一个子对话框的基础知识,这些都是学习MFC的基础知识,也是非常重要的知识,这里我就简单的讲讲这些知识. 一. 设置 ...

  9. MFC单文档应用程序的基础

    一.口令对话框 例题1:编写一个单文档应用程序,在视图中显示自己的姓名:单击鼠标左键,在消息框中显示 鼠标左键被按下的次数:单击鼠标右键,在消息框中显示鼠标右键被按下的次数. 操作步骤: 1.创建一个 ...

最新文章

  1. 开源 免费使用 打包下载自行部署 :升讯威 周报系统
  2. JAVA实现WC.exe功能
  3. 4.1.2电路交换、报文交换与分组交换
  4. Android项目中最火最常用的优秀开源项目(很有用)
  5. python语言中包含的标准数据类型有哪些_Python中的标准数据类型
  6. Tomcat startup.bat 后台运行,不再弹出 Dos 黑框
  7. 聚类算法之划分方法(k-means)
  8. 记录根据runoob(菜鸟教程)学习Django遇到的坑
  9. 逐点比较法直线插补MATLAB
  10. 迪文屏K600+ 数据库的读写操作
  11. 透明度混合(Alpha blending)
  12. 新手都能用到的140个电脑技巧
  13. 解决50%宽度div再加上边框无法左右排列问题
  14. 【过滤器】(1)过滤器原理、使用方式的简单介绍
  15. Markdown基础总结
  16. windows网络编程 ---网络聊天室(1)
  17. 向下取整floor()、向上取整ceil()、截取函数trunc()、四舍五入round()
  18. 618战局天猫聚焦“商家体验”,创造确定性增长是核心目标
  19. MJ对2008年10月6日大盘预测(节后第一天)
  20. Chinese 目录 (2005.03.22/ 整理和使用ShitMp3 修改MP3信息)

热门文章

  1. ASP.NET MVC应用程序实现下载功能
  2. bzoj1257 数学整理二分查询
  3. poj 3131 双向搜索+hash判重
  4. MVC3+Entity Framework 实现投票系统(一)
  5. 【百度地图API】如何制作可拖拽的沿道路测距
  6. retargeting PHP,Retargeting the Animation 教学
  7. Oracle与OpenJDK之间的区别
  8. PHP秒杀系统全方位设计分析--转载
  9. 总结下Mysql分表分库的策略及应用
  10. php通过Mysqli和PDO连接mysql数据详解