vs2010的mfc中使用GDI+ 为啥绘制没有效果呢? 140

在视图的头文件中加入:#include<Gdiplus.h>usingnamespaceGdiplus#pragmacomment(lib,"Gdiplus.lib"Gd... 在视图的头文件中加入:
#include <Gdiplus.h>
using namespace Gdiplus
#pragma comment(lib, "Gdiplus.lib"

GdiplusStartupInput gStartup;
ULONG_PTR plusToken;

view类的构造函数中添加:
GdiplusStartup(&plusToken, &gStartup, NULL);

析构函数中添加:
GdiplusShutdown(plusToken);

在OnDraw函数中:
/* 设置客服区背景色 */
CRect rectClient;
CBrush brushBkColor;
GetClientRect(rectClient);
brushBkColor.CreateSolidBrush(CLR_BLACK);
pDC->DPtoLP(rectClient);
pDC->FillRect(rectClient, &brushBkColor);

Graphics g(pDC->GetSafeHdc());
Pen pen(CLR_RED);
pen.SetWidth(20);

PointF p1(100, 100);
PointF p2(600, 600);
g.DrawLine(&pen, p1, p2)

然后程序跑起来之后没有反应。。。 什么原因!!!!
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏140(财富值+成长值)
碧血玉叶花
2015-05-21 · TA获得超过4976个赞
知道大有可为答主
回答量:6154
采纳率:0%
帮助的人:1691万
展开全部
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;
追问
按你这个也是画不出东西的。。。   原因已经找到, 不是这些问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刘改华Judy
2015-05-15
知道答主
回答量:1
采纳率:0%
帮助的人:1242
展开全部
GetClientRect(&rectClient);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式