C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Gdi与MSVC编译器得到奇怪的“本机图形”运行时错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
好的,直到现在我总是用GCC编码,所以我是MSVC的新手(这是错误的).我用GDI plus编译了一个最小的Win Api程序.它编译得很好,但几乎在启动时就会出现运行时错误(我认为在调用WM_PAINT消息时会出现运行时错误).这是我看到的:
 

我的代码没什么特别的,只是显示一个矩形. (当我使用GDI时它工作正常,但不适用于GDI).

我的代码

HDC hdc = GetDC(hwnd);

InvalidateRect(hwnd,NULL,falSE);

ULONG_PTR token;
GdiplusStartupInput inp;
GdiplusStartup(&token,&inp,0);

Graphics g(hdc);
g.Clear(Color(0,0));
g.DrawRectangle(new Pen(Color(0,0)),10,100,100);

GdiplusShutdown(token);
ValidateRect(hwnd,null);

通过调试我发现运行时错误几乎就是Graphics g(hdc);构造函数调用.我在Google等上找不到任何东西.我完全迷失了.有帮助吗?

解决方法

WinAPI函数总是以这种或那种方式表示成功.您需要检查GetDC是否返回了有效句柄.请参阅 Return value section of GetDC.输出中的访问冲突也指向某处的无效指针.如果DC有效,请检查其他所有内容.确保传递指向需要地址的指针等.

大佬总结

以上是大佬教程为你收集整理的Gdi与MSVC编译器得到奇怪的“本机图形”运行时错误全部内容,希望文章能够帮你解决Gdi与MSVC编译器得到奇怪的“本机图形”运行时错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。