在MFC中使用GDI+的一般方法,以VC6.0编译器为例
1.载解压GDI+开发包;
2.正确设置include & lib 目录;
设置如下:VC6.0编译器菜单Tools->Options->Directories中添加inlude files和Library files对应的文件夹(前提是你下载了GDI+的开发包,放到对应的文件夹中)
3.在stdafx.h中添加:
#define ULONG_PTR ULONG #include <gdiplus.h> #pragma comment(lib, "gdiplus.lib") using namespace Gdiplus;
(1)在应用程序项目的应用类中,添加一个成员变量,如下列代码:
ULONG_PTR m_gdiplusToken;
(2)在应用类中添加ExitInstance的重载,并添加下列代码用来关闭GDI+:
Gdiplus::GdiplusShutdown(m_gdiplusToken);
ULONG_PTR是一个DWORD数据类型,该成员变量用来保存GDI+被初始化后在应用程序中的GDI+标识,以便能在应用程序退出后,引用该标识来调用Gdiplus::
(3)在应用类的InitInstance函数中添加GDI+的初始化代码:
注意:下面这些GDI+的初始化代码必须放在m_pMainWnd->UpdateWindow();之前。
Gdiplus::GdiplusStartupInput gdiplusStartupInput;Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);
(4)在需要绘图的窗口或视图类中添加GDI+的绘制代码。
1. 在单文档应用程序中使用GDI+
以上过程,在单文档,多文档或是基于对话框的工程步骤都是一样的。下面,我们就是以一个单文档应用程序CBmpRotate作为示例的。下面列出第4步所涉及的代码:
基于对话框的工程GDIBase
//要在dlg.DoModal();之前
Gdiplus::GdiplusStartupInput gdiplusStartupInput;
Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);
可以看到lastResult Ok,可以用Gdiplus::Ok来判断其状态是否调用成功。
//如何在dlg.DoModal();之后添加如下代码
Gdiplus::GdiplusStartupInput gdiplusStartupInput;
Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);
就会出现
出现GdiplusNotInitalized,说明初始化不正确。
当然运行后,什么也没出现
参考链接:http://blog.csdn.net/www66net/article/details/45365545
转载于:https://www.cnblogs.com/hpcpp/p/6170518.html
在MFC中使用GDI+的一般方法,以VC6.0编译器为例相关推荐
- 在MFC中如何自定义消息及相应事件(VC6.0及VS2005)
在MFC中如何自定义消息及相应事件(VC6.0及VS2005) 2012-01-01 16:42:18| 分类: VS2005&VC++ | 标签:自定义消息 message |字号 ...
- MFC中的GDI绘图
MFC中的GDI绘图 目录(?)[+] 什么是GDI 什么是DC MFC中与GDI有关的类 获取设备环境 设置坐标映射 创建绘图工具并选入DC 调用DC绘图函数绘图 三坐标映射实例 一.关于GDI的基 ...
- MFC中的CString类使用方法指南
MFC中的CString类使用方法指南 原文出处:codeproject:CString Management [禾路:这是一篇比较老的资料了,但是对于MFC的程序设计很有帮助.我们在MFC中使用字符 ...
- MFC中改变按钮颜色的方法
本文参考学习 https://blog.csdn.net/zxccaoya/article/details/54142523 而来. 这里介绍mfc 中改变按钮颜色的最简单方法. 使用CMFCButt ...
- MFC中OnTimer函数的使用方法
OnTimer()函数用于实现定时控制功能,定时控制功能主要由下面三个函数共同实现: SetTimer, KillTimer()和OnTimer(). 粗略的说,Settimer是设置一个计时器并开始 ...
- MFC中获取TimeStamp的简要方法
1.获取精确到秒的TimeStamp(10位) SYSTEMTIME sysTime;::GetLocalTime(&sysTime); CTime curTime(sysTime);__in ...
- MFC中如何从EDIT控件中获取文字
MFC中获取文本框的方法不同于C#,有点麻烦,主要有以下两种方法: 一.API法 用函数:GetdlgItemText获取文本,SetdlgItemText显示文本 [cpp] view plain ...
- VC++6.0中使用GDI+绘图(转载)
VC++6.0中使用GDI+绘图 1.在VC++6.0中配置GDI+环境 1.1 下载GDI+库 VC++6.0中没有GDI+库.可以从http://www.crazy-bit.com/downloa ...
- (转)DirectShow9在VS2005或vc6.0下编译出现问题的解决方法
1.我用的版本是DirectX9.0b ,没有安装,直接解压后放到一个文件夹里用 2.我按照以下的步骤操作成功.明天试着做个播放器. VFW(Video for Windows)是Microsoft推 ...
- vs2019 MFC 中 cannot open include file 'afxres.h' 问题解决方法
vs2019 MFC 中 cannot open include file 'afxres.h' 问题解决方法 使用Everything查找afxres.h文件,如果没有everything的,可以到 ...
最新文章
- 2018中国计算机大会,阿里云分布式存储架构师:自研分布式文件系统服务
- 编译时类型 和运行时类型的 区别(1)
- [css] 如何取消页面中选中的文字?
- 【C++深度剖析教程18】逗号操作符的分析
- 嵌入式linux系统运行程序,嵌入式Linux系统启动过程
- BZOJ1176[Balkan2007] Mokia
- FANUC系统开发API(FOCAS2)pc应用开发,机加工领域
- Win7系统的开机个性化
- 从零开始一套完整的短视频运营方案,想做抖音快手短视频的速来观摩。
- opencv实现阈值分割算法和分水岭算法
- 药片计数器电路设计与实验
- python 将彩色图片 黑白图片变换
- AndroidQ 分屏窗口尺寸计算 (WMS部分)
- Caché 命令大全
- GETWA_NOT_ASSIGNED
- 用Wireshark抓包分析协议 计算机网络
- hadoop入门介绍(一)
- R语言ggplot2可视化:使用ggpubr包的ggboxplot函数可视化分组箱图、使用bgcolor函数自定义指定可视化图像的背景色
- 3-6 静态数据成员与静态成员函数
- webmagic采集CSDN的Java_WebDevelop页面
热门文章
- Lync server 2013新建持久聊天室提示用户未启用SIP
- 自定义办法设置 localStorage 过期时间
- Description	Resource	Path	Location	Type The superclass javax.servlet.http.HttpServlet was not foun
- tomcat启动内存设置以及字符集设置
- struts2的struts.xml的详细配置1-1
- AsteriskNow 实用总结
- 带通滤波器作用和用途_常见低通、高通、带通三种滤波器的工作原理
- 获取手机唯一标识插件_非常强大的几款手机浏览器,适用于某些黑科技功能
- python蚁群算法可视化_蚁群算法原理及其实现(python)
- tvpvar模型的建模步骤_这种思路讲解数据仓库建模,你见过吗?数据人与架构师必看...