是否有显示没有窗口的闪屏?就像图像弹出几秒钟一样,之后会显示一个对话框,询问玩家是否要创建新项目或打开新项目。我知道,两个问题合而为一。我现在正在使用Visual Studio。
谢谢!
答案 0 :(得分:4)
你的意思是:
代码块:
的Photoshop:
甚至,您正在使用的程序,Visual Studio:
其他的包括Adobe套件中的任何内容,以及办公套件中的任何内容,就在我的脑海中。
所以,显然答案是肯定的。这样做的方法是创建一个无边框窗口。使用C ++,这似乎有点困难。我强烈建议坚持使用矩形闪屏,除非你想处理油漆事件以画出你下面的任何东西,这是一种痛苦。
我找到了一个方法over here at Programmers Heaven,它位于以下位置,因此根据SO指南也会在此网站上显示。
另一种选择是简单地使用C#,这使得这种事情变得非常容易。
首先使用WS_POPUP
标志
另外 - 在创建窗口时考虑到系统可能仍然想要绘制边框和标题栏等事实...所以计算到窗口尺寸如下
#define WINDOW_WIDTH 300 // whatever size you need
#define WINDOW_HEIGHT 256
// Calculate the proper size for the window given a client
DWORD dwFrameWidth = GetSystemMetrics( SM_CXSIZEFRAME );
DWORD dwFrameHeight = GetSystemMetrics( SM_CYSIZEFRAME );
DWORD dwMenuHeight = GetSystemMetrics( SM_CYMENU );
DWORD gdwWindowXPos = ( GetSystemMetrics( SM_CXSCREEN ) - WINDOW_WIDTH ) / 2;
DWORD gdwWindowYPos = ( GetSystemMetrics( SM_CYSCREEN ) - WINDOW_HEIGHT ) / 2;
DWORD gdwWindowWidth = WINDOW_WIDTH + dwFrameWidth * 2;
DWORD gdwWindowHeight = WINDOW_HEIGHT + dwFrameHeight * 2 + dwMenuHeight;
你应该为你的窗口创建这样的东西:
HWND hwnd = CreateWindowEx(0,
"Class Name",
"Window Name",
WS_POPUP, // and any other flags you need
gdwWindowXPos, // these just center the
gdwWindowYPos, // window on the screen
gdwWindowWidth, // Calculated width
gdwWindowHeight, // and height
NULL, // Parent window
NULL, // Menu (don't want one)
hInst, // hInstance
NULL // Other Parameters
);
......对......
接下来是设置窗口区域,以便您只使用CreateRectRgn
和SetWindowRgn
来绘制您感兴趣的区域:
HRGN hrgn = CreateRectRgn( 0, 0, WINDOW_WIDTH, WINDOW_HEIGHT );
SetWindowRgn( hwnd, hrgn, TRUE );
当我#defined
WINDOW_WIDTH
和WINDOW_HEIGHT