【发布时间】:2009-08-02 07:12:36
【问题描述】:
我正在开发一个 directx 应用程序,并且想知道如何向应用程序添加一个常规窗口,该窗口具有文本框、命令按钮和所有功能。
【问题讨论】:
我正在开发一个 directx 应用程序,并且想知道如何向应用程序添加一个常规窗口,该窗口具有文本框、命令按钮和所有功能。
【问题讨论】:
要存在一个窗口,它需要一个 Windows 窗体消息泵:
Win32 消息泵通常看起来像这样,并且是 win32 编程的核心。
MSG msg;
while(GetMessage(&msg, hwnd, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
// do stuff
}
今天,C# 语言倾向于将消息泵抽象出来,但您仍然可以得到它。
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
// do stuff
}
您需要调用 application.run 来启动带有活动消息泵的 Windows 窗体。见:
http://msdn.microsoft.com/en-us/library/ms157900.aspx
嘿 Ed:这可能是您正在寻找的东西:
http://www.directxtutorial.com/Tutorial9/A-Win32/dx9A3.aspx 。它谈到了从directx创建一个窗口
【讨论】:
据我所知,您必须创建一个父窗口来保存 DirectX 图像渲染到的“窗口”和带有控件的常规窗口。
【讨论】: