MFC入门(三)-- MFC图片/文字控件(循环显示文字和图片的小程序)
惯例附上前几个博客的链接:
MFC入门(一)简单配置:http://blog.csdn.net/zmdsjtu/article/details/52311107
MFC入门(二)读取输入字符:http://blog.csdn.net/zmdsjtu/article/details/52315088
/////////////////////////////////////////////////正文///////////////////////////////////////////////////
首先新建一个MFC项目,习惯性选择静态库
右击MFC_Picture.rc选择添加资源,把需要添加显示的BMP图片文件添加到资源,本文为了滚动显示两张图片,所以只用了两张BMP,当然你也可以三张四张无数张,在待会提及的代码部分进行修改即可。
会默认生成两个BITMAP,名字就用的默认的BITMAP1和BITMAP2,在代码部分可以对应看下。
选择Bitmap导入,在对应目录下选择所有文件,选择两张bmp文件导入即可。
现在我们就有了两张可以用的Bitmap了。
接着我们搭建界面如下:
图里没见过的那个小仙人掌的图标就是我们今天要用的图片Bitmap控件,选择左侧工具栏里的Picture Control拖动到右侧,再在属性里把Type改成本文要用的Bitmap,并讲名字重命名为IDC_show(因为默认的是Static在添加显示图片变量时会出问题,所以这里必须要改!!)
继而右击小仙人掌添加变量m_show用以一会儿动态显示图片~
//图里的m_show是黑的是因为之前已经添加了,不必在意,打上去就好
然后就是关键性的代码阶段了,双击下一张的按钮空降到指定代码位置,复制代码如下:
int i = 0; //变量i用来切换图片以及文字
void CMFC_PictureDlg::OnBnClickedOk()
{
CString txt_show;
CBitmap bitmap; // CBitmap对象,用于加载位图
HBITMAP hBmp; // 保存CBitmap加载的位图的句柄
if (i == 0) {
bitmap.LoadBitmap(IDB_BITMAP1); // 将位图IDB_BITMAP1加载到bitmap
txt_show.Format(_T("你瞅啥?")); SetDlgItemText(IDC_EDIT1, txt_show);
}
if (i == 1) {
bitmap.LoadBitmap(IDB_BITMAP2);
txt_show.Format(_T("再瞅试试?")); SetDlgItemText(IDC_EDIT1, txt_show);
}
i++;
if (i == 2) i = 0;
hBmp = (HBITMAP)bitmap.GetSafeHandle(); // 获取bitmap加载位图的句柄
m_show.SetBitmap(hBmp); // 设置图片控件m_jzmPicture的位图图片为IDB_BITMAP1
}
下面阐述下最为关键的两个模块:
第一个是显示BMP文件的部分:
bitmap.LoadBitmap(IDB_BITMAP1); 将图片载入之后
hBmp = (HBITMAP)bitmap.GetSafeHandle(); 获取bitmap加载位图的句柄
m_show.SetBitmap(hBmp); 最后显示图片到之前新建的图片控件的变量上
第二块是文字显示的模块:
新建CString txt_show;
txt_show.Format(_T("你瞅啥?")); 给txt_show赋值
SetDlgItemText(IDC_EDIT1, txt_show);显示在ID为IDC_EDIT1的文字控件上
最后是结果展示~~~ //并不精神污染
最后祝大家编程愉快~~
---------------------
作者:朱铭德
来源:CSDN
原文:https://blog.csdn.net/zmdsjtu/article/details/52326208
版权声明:本文为博主原创文章,转载请附上博文链接!
MFC入门(三)-- MFC图片/文字控件(循环显示文字和图片的小程序)的更多相关文章
- wpf image控件循环显示图片 以达到动画效果 问题及解决方案
1>最初方案: 用wpf的image控件循环显示图片,达到动画效果,其实就是在后台代码动态改变Image.Source的值,关键代码: ; i < ; i++)//六百张图片 { Bitm ...
- MFC入门示例之访问对话框控件的7种方法
方法一: 1 //方法一 2 void CMFCApplication2Dlg::OnBnClickedButton1() 3 { 4 int num1, num2, num3; 5 TCHAR ch ...
- TreeView控件之,后台构建TreeView(WinForm小程序)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAX0AAAIdCAIAAABeBzrBAAAgAElEQVR4nOzdd5Qc130n+tl/nr3e5+
- VS2010,MFC动态按钮和窗体背景图片,以及是静态文字控件透明,并避免静态文字刷新出现的重叠问题
1.动态按钮的四种动作 1)正常 2)按下 3)滑过 4)失效 在MFC中,4个动作对应着四种位图bmp, 首先,将代表四种状态的位图加载入资源中,将对应的按钮设置为BitmapButton 第二,在 ...
- VS2010/MFC编程入门之三十一(常用控件:树形控件Tree Control 下)
前面一节讲了树形控件Tree Control的简介.通知消息以及相关数据结构,本节继续讲下半部分,包括树形控件的创建.CTreeCtrl类的主要成员函数和应用实例. 树形控件的创建 MFC为树形控件提 ...
- 「Windows MFC 」「Edit Control」 控件
「Windows MFC 」「Edit Control」 控件
- duilib教程之duilib入门简明教程13.复杂控件介绍
首先将本节要介绍的控件全部拖到界面上,并调整好位置,如图: 然后将Name属性改成其他名字, 不能是[控件名+UI+数字]这种,因为这是DuiDesigner默认的名字,它不会实际写 ...
- [iOS微博项目 - 1.8] - 各种尺寸图片加载 & 控件不显示研究
A. 图片的加载: [UIImage imageNamed:@"home"]; 加载png图片 一.非retina屏幕 1.3.5 inch(320 x 480) * ...
- Android开发技巧——定制仿微信图片裁剪控件
拍照--裁剪,或者是选择图片--裁剪,是我们设置头像或上传图片时经常需要的一组操作.上篇讲了Camera的使用,这篇讲一下我对图片裁剪的实现. 背景 下面的需求都来自产品. 裁剪图片要像微信那样,拖动 ...
随机推荐
- 2017-12-05 JavaScript实现ZLOGO子集: 前进+转向
在前文中文编程语言之Z语言初尝试: ZLOGO 4与相关讨论后, 萌生了用JavaScript编写类似语言以便在线编程的想法. 于是使用 @TKT2016 (知乎账号)的ZLOGO语法设计, 在编程语 ...
- ActiveReports公开课开启报名,学习如何解决中国式复杂报表难题
ActiveReports实战教学 90分钟解决中国式复杂报表六大需求 [开课时间]4月19日 [主讲老师]葡萄城资深报表专家 [培训方式]网络在线公开课 报名地址
- Android 时间与日期操作类
获取本地日期与时间 public String getCalendar() { @SuppressLint("SimpleDateFormat") SimpleDateFormat ...
- 11.1、socket连接中的粘包、精确传输问题
粘包: 发生原因: 当调用send的时候,数据并不是即时发给客户端的.而是放到了系统的socket发送缓冲区里,等缓冲区满了.或者数据等待超时了,数据才会发送,所以有时候发送太快的话,前一份数据还没有 ...
- maven(四):一个基本maven项目的pom.xml配置
继续之前创建的test项目,一个基本项目的pom.xml文件,通常至少有三个部分 第一部分,项目坐标,信息描述等 <modelVersion>4.0.0</modelVersion& ...
- SVN——Couldn't perform atomic initialization
前言 今天早上刚刚打开我的电脑,就被李总他们告知不能正确用SVN从服务器上下载代码了,然后看问题吧.问题其实也是本文的标题,并不难解决,写下来留个记录,顺便也算是一种分享.问题截图如下: 造 ...
- python第十五天-原来还差一份作业
作业 1: 员工信息表程序,实现增删改查操作 可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where age > 22 select ...
- Alpha冲刺! Day9 - 砍柴
Alpha冲刺! Day9 - 砍柴 今日已完成 晨瑶:继续补充gitkraken教程. 昭锡:实现主页基本布局. 永盛:进一步了解了框架,为框架生成的模型填充了假数据到数据库. 立强:文章模块基本实 ...
- Alpha冲刺!Day13 - 小结
Alpha冲刺!Day13 - 小结 各个成员今日完成的任务 今天团队极限编程12小时,从早上九点要求每个人给出一张电脑全屏截图以示开始干活,每两小时汇报进度确认已经做了什么.现在在做什么. 各节点列 ...
- 个人博客作业Week3(微软必应词典客户端的案例分析)
软件缺陷常常又被叫做Bug,即为计算机软件或程序中存在的某种破坏正常运行能力的问题.错误,或者隐藏的功能缺陷.缺陷的存在会导致软件产品在某种程度上不能满足用户的需要.IEEE729-1983对缺陷有一 ...