【发布时间】:2013-09-03 08:59:53
【问题描述】:
当我执行 DirectDraw 方法失败时,如何在 DirectX 7 中获取失败错误字符串?
if (FAILED(lpddPrimarySurface->SetPalette(lpddPalette)))
{
MessageBox(NULL, **"I want to get the failure string here."**, "Error", MB_OK);
return 0;
}
这里我想弹出失败信息的错误信息。如何获取错误的LPCSTR字符串?
【问题讨论】:
-
您正在设置调色板?您是否尝试针对 8 位 (256) 颜色模式?较新的硬件可能不支持。
-
是的,我总是 SetPalette 失败。不能使用 8 位 (256) 颜色模式时应该使用什么?能否提供一些细节,谢谢。
-
您从未说过 SetPalette 返回的错误代码。您的调色板对象完全有可能被错误初始化。我只是评论说,在 2013 年使用 8 位显示模式似乎很奇怪。我不知道过去 10 年制造的单个显卡不支持 24 位模式(因此,没有调色板是必需的)。
-
@selbie: 除非你想在图像中做调色板旋转效果或一些调色板映射。
标签: c++ directx directdraw