有人知道如何通过编程将我的SDL.net视频表面移动到屏幕上吗?
Surface videoContext = Video.SetVideoMode(1024, 768, 32, false, false, false, true, true);
var a = System.Windows.Forms.Control.FromHandle(Video.WindowHandle);
var b = System.Windows.Forms.NativeWindow.FromHandle(Video.WindowHandle);
我无法在
Surface
或Video
中找到任何可以完成此工作的属性,而FromHandle
返回Null。
有什么想法吗?
更新:
我看到了这段代码,但无法找出等效的C#实现。 有人能帮忙吗?
#ifdef WIN32
#include <SDL_syswm.h>
SDL_SysWMinfo i;
SDL_VERSION( &i.version );
if ( SDL_GetWMInfo ( &i) ) {
HWND hwnd = i.window;
SetWindowPos( hwnd, HWND_TOP, x, y, width, height, flags );
}
如果不能实现该需求,那么将在C#项目中加入一些C++代码需要多少工作量呢?谢谢。