如何在MFC中使用GDI 技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何在MFC中使用GDI+技术
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,&gdiplusStartupI
nput,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: 在此处为本机数据添加绘制代码
}