我最近在这里问了一个关于我遇到的对话问题的问题,但我发现问题出现在这样一个不同的领域,我故意以为我会在这里重新提出我的问题。
问题是我一直在研究DirectX10游戏引擎。当引擎进入那里时,应弹出一个对话框,让用户可以选择设置。为了开发这个,我创建了一个单独的解决方案(visual studio 2008),其中我创建了对话框资源和proc函数。我在那里测试了一个小的winmain功能,它完美无缺。
然后我将资源和所有代码复制到我的主引擎并将其启动。唯一发生的事情是对话框很快弹出,它立即关闭,甚至没有等待用户输入。 MessageBox函数也做同样的事情。我经历了每一步,但我真的被卡住了。
您是否可以为我查看代码,看看您是否能找到*
哔哔 *
正在进行的操作?
<小时/> zip中有三个不同的文件夹。 VKRenderer是引擎的rending部分,其中VKD3D10是VKRenderer定义的RenderDevice的directX10实现。在VKRenderer解决方案中,所有导出的函数也从VKD3D10导出。 VKD3D10构建为dll,VKRenderer构建为.lib。然后是StartupTest,它使用构建来尝试启动引擎。 SettingsDialogTest是我创建设置对话框和所有资源的地方。在那里,您还可以找到设置对话框的工作版本。
可以下载ZIP文件here。 (发动机仍在开发中,所以请你好评:P)感谢先生
传递=帮助
答案 0 :(得分:0)
猜测,尝试更改:
INT_PTR i = DialogBoxParam(hinst, L"IDD_SETTINGS", hwnd, DlgProcWrapper,(LPARAM) this );
到
INT_PTR i = DialogBoxParam(hinst, MAKEINTRESOURCE( IDD_SETTINGS ), hwnd, DlgProcWrapper,(LPARAM) this );