如何在MFC中使用GDI+技术
1个回答
展开全部
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;
// 使用 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;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询