如何在MFC中使用GDI+技术
2008-02-26 15:50
597 查看
1在stdafx.h文件中 引入GDI+头文件
#include <gdiplus.h>
using namespace Gdiplus;
2 初始化GDI+资源和销毁GDI+资源
在项目APP文件中
//声明GDI+全局变量
ULONG_PTR gdiplusToken;
BOOL CMFCAndGDIApp::InitInstance()
{
// 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControls()。否则,将无法创建窗口。
InitCommonControls();
//GDI+资源初始化
GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(&gdiplusToken,&gdiplusStartupInput,NULL);
CWinApp::InitInstance();
// 初始化 OLE 库
if (!AfxOleInit())
{
AfxMessageBox(IDP_OLE_INIT_FAILED);
return FALSE;
}
//其他系统自动生成的代码
}
//添加一个析构函数用来释放GDI+资源
CMFCAndGDIApp::~CMFCAndGDIApp()
{
GdiplusShutdown(gdiplusToken);
}
3编译时加入GDIplus.lib文件
在IDE中选择“项目|添加现有项目”,把GDIplus.lib文件添加进来,该文件一般在C:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Lib目录下
4好了,现在可以在MFC中使用GDI+了
void CMFCAndGDIView::OnDraw(CDC* /*pDC*/)
{
CMFCAndGDIDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
//using GDI+
Graphics myg(this->GetDC()->m_hDC);
Pen pen(Color(255,0,255));
SolidBrush brush(Color(255,0,255));
CRect rect;
this->GetClientRect(&rect);
myg.DrawEllipse(&pen,30,30,100,100);
// TODO: 在此处为本机数据添加绘制代码
}
#include <gdiplus.h>
using namespace Gdiplus;
2 初始化GDI+资源和销毁GDI+资源
在项目APP文件中
//声明GDI+全局变量
ULONG_PTR gdiplusToken;
BOOL CMFCAndGDIApp::InitInstance()
{
// 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControls()。否则,将无法创建窗口。
InitCommonControls();
//GDI+资源初始化
GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(&gdiplusToken,&gdiplusStartupInput,NULL);
CWinApp::InitInstance();
// 初始化 OLE 库
if (!AfxOleInit())
{
AfxMessageBox(IDP_OLE_INIT_FAILED);
return FALSE;
}
//其他系统自动生成的代码
}
//添加一个析构函数用来释放GDI+资源
CMFCAndGDIApp::~CMFCAndGDIApp()
{
GdiplusShutdown(gdiplusToken);
}
3编译时加入GDIplus.lib文件
在IDE中选择“项目|添加现有项目”,把GDIplus.lib文件添加进来,该文件一般在C:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Lib目录下
4好了,现在可以在MFC中使用GDI+了
void CMFCAndGDIView::OnDraw(CDC* /*pDC*/)
{
CMFCAndGDIDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
//using GDI+
Graphics myg(this->GetDC()->m_hDC);
Pen pen(Color(255,0,255));
SolidBrush brush(Color(255,0,255));
CRect rect;
this->GetClientRect(&rect);
myg.DrawEllipse(&pen,30,30,100,100);
// TODO: 在此处为本机数据添加绘制代码
}
相关文章推荐
- MFC如何使用GDI+,button加载png
- MFC如何使用GDI+,button加载png
- (GDI+) 如何在 MFC 或 Win32 应用程序中使用GDI+
- 如何在BCB中配置和使用GDI+技术?(附动画实例)
- 如何在VC6 MFC中使用GDI+
- 文件处理函数如何使用?用法举例,C与MFC
- 如何使用 MFC 嵌入并自动化 Microsoft Excel 工作表
- VC6中如何使用GDI+
- (原創) 如何使用C++/CLI读/写jpg檔? (.NET) (C++/CLI) (GDI+) (C/C++) (Image Processing)
- VS2010 使用GDI+创建图片水印的MFC程序
- Java技术_Java千百问(0018)_switch如何使用
- MFC使用GDI+编程基础
- 如何使用 GDI+ 双缓冲 解决绘图闪烁问题
- 博为峰Java技术文章 ——JavaSE 如何使用颜色选取器JColorChooser
- MFC如何使用printf
- 关于win32程序如何使用mfcdll的问题.
- 如何使用ArcGIS9.2中的动态显示(Dynamic Display)技术(三)
- 一起谈.NET技术,深入理解string和如何高效地使用string
- Tomcat:开源技术基础:教你如何熟练使用TOMCAT
- 如何正确的使用Java序列化技术-