⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 HeightMap_D3D
💻 CPP
字号:
//-----------------------------------------------------------------------------
// File: Main.cpp
// Desc: The Main Program File. "My Second 3D Project".
//
// Project Made By: VirgoCI (Costa Itskov)
// For Comments: virgoci@mail.ru
//-----------------------------------------------------------------------------
#include "Main.h"




//-----------------------------------------------------------------------------
// Global variables
//-----------------------------------------------------------------------------
cApp* g_pApp = NULL;
HWND hWnd;




//-----------------------------------------------------------------------------
// Name: WinMain()
// Desc: The application's entry point
//-----------------------------------------------------------------------------
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
	WNDCLASSEX WindowClassEx = { 0 };
	WindowClassEx.cbSize = sizeof( WNDCLASSEX );
	WindowClassEx.style = CS_CLASSDC;
    WindowClassEx.lpfnWndProc = MsgProc;
	WindowClassEx.cbClsExtra = 0;
	WindowClassEx.cbWndExtra = 0;
    WindowClassEx.hInstance = hInstance;
	WindowClassEx.hIcon = NULL;
	WindowClassEx.hCursor = LoadCursor(NULL, IDC_ARROW);
    WindowClassEx.hbrBackground = NULL;
	WindowClassEx.lpszMenuName = NULL;
    WindowClassEx.lpszClassName = "Terrain";
	WindowClassEx.hIconSm = NULL;

	ShowCursor(false);
    
    RegisterClassEx( &WindowClassEx );

	hWnd = CreateWindowEx(  WS_EX_TOPMOST, // extended window style
						    "Terrain", // pointer to registered class name
						    "Terrain", // pointer to window name
							WS_POPUP | WS_VISIBLE, // window style
							0, // horizontal position of window
							0, // vertical position of window
							WIN_WIDTH, // window width
							WIN_HEIGHT, // window height
							NULL, // handle to parent or owner window
							NULL, // handle to menu, or child-window identifier
							hInstance, // handle to application instance
							NULL // pointer to window-creation data
						 );

	g_pApp = new cApp();

    ShowWindow( hWnd, SW_SHOWDEFAULT );
    UpdateWindow( hWnd );

	if(SUCCEEDED(g_pApp->Init()))
	{
		MSG msg;
		ZeroMemory( &msg, sizeof(msg) );
		while( msg.message!=WM_QUIT )
		{
			if( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) )
			{
				TranslateMessage( &msg );
				DispatchMessage( &msg );
			}
			else
			{
				if(FAILED(g_pApp->Render()))
				{
					MessageBox( hWnd, "g_pApp->Render() Failed!", "while( MainLoop )", MB_OK );
					PostQuitMessage( 0 );
				}
			}
		}
	}

	SafeDelete(g_pApp);

    UnregisterClass( "Terrain", WindowClassEx.hInstance );
    return 0;
}




//-----------------------------------------------------------------------------
// Name: MsgProc()
// Desc: The window's message handler
//-----------------------------------------------------------------------------
LRESULT WINAPI MsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
    switch( msg )
    {
        case WM_DESTROY:
            PostQuitMessage( 0 );
            return 0;
	}
    return DefWindowProc( hWnd, msg, wParam, lParam );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -