如何在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,&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: 在此处为本机数据添加绘制代码
}

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值