Gdi与MSVC编译器得到奇怪的“本机图形”运行时错误
发布时间:2020-12-16 06:57:58 所属栏目:百科 来源:网络整理
导读:好的,直到现在我总是用GCC编码,所以我是MSVC的新手(这是错误的).我用GDI plus编译了一个最小的Win Api程序.它编译得很好,但几乎在启动时就会出现运行时错误(我认为在调用WM_PAINT消息时会出现运行时错误).这是我看到的: ? 我的代码没什么特别的,只是显示一
好的,直到现在我总是用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有效,请检查其他所有内容.确保传递指向需要地址的指针等.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读