SimpleCG如何只显示图形窗口,不显示控制台窗口

前言

在之前的SimpleCG程序,我们发现都会打开一个控制台窗口(下图红色部分),那是为了方便调试程序,或者输出一些文本信息。如果是在用户电脑运行,有个黑窗口则非常不美观,所以要怎么才能关闭它呢?下面说说方法
包含控制台程序

一、去掉已有程序控制台窗口

对于现有程序,我们可以使用如下步骤:

1、修改原有main函数。

int _tmain(int argc, _TCHAR* argv[]) 

修改为

int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)

2、设置编译属性,下面以VS2010为例子

菜单栏==〉项目==〉属性==〉配置属性==〉链接器==〉系统==〉子系统 修改如下
项目属性设置
可以看到已经没有了黑窗口
没有控制台窗口

二、新建项目直接选择windows程序

如果是新建项目,则可以一开始就选择没有控制台出现
1、以VS2010为例
菜单栏==〉新建项目==〉Win32项目
新建项目
点确定后==〉下一步出现下面的对话框

设置程序
钩选空项目后点完成。
就建立了空项目,然后在源文件右键==〉新建项目
新建c文件
添加新的源文件
Game.cpp内容如下


#include "../import/include/SimpleCG.h"
#ifdef _DEBUG
#pragma comment(lib,"../import/lib/SimpleCG_MDd.lib")
#else
#ifdef _WIN64
#pragma comment(lib,"../import/lib/x64/MTRelease/SimpleCG_MT64.lib")
#else
#pragma comment(lib,"../import/lib/SimpleCG_MT.lib")
#endif
#endif


#define C_TETRIS_VERSION			1001

#define C_IMAGE_WIDTH			640
#define C_IMAGE_HEIGHT			480

LRESULT OnKeyDown(HWND hWnd, WPARAM wParam, LPARAM lParam);
LRESULT OnLButtonDown( HWND hWnd, WPARAM wParam, int nX, int nY );
void InitGame(HWND hWnd)
{
	
	GetKeyboardInput()->onKeyDown = OnKeyDown;
	GetMouseInput()->onMouseDownLeft = OnLButtonDown;
}
//绘制游戏
void RenderGame()
{
	outtextXY(50,50,_T("Hello Game"));
}
//更新游戏状态
void UpdateGame( UINT nElapse )
{
}
//按键消息响应函数
LRESULT OnKeyDown(HWND hWnd, WPARAM wParam, LPARAM lParam)
{
	return 0;
}
LRESULT OnLButtonDown( HWND hWnd, WPARAM wParam, int nX, int nY )
{
	return false;
}
int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
	SCG_GameLoopInfo info;
	info.nFPS				= 60;
	info.nHeight			= C_IMAGE_HEIGHT;
	info.nWidth				= C_IMAGE_WIDTH;
	info.pFunDrawProcess	= RenderGame;
	info.pFunFrameUpdate	= UpdateGame;
	info.pFunInitGame		= InitGame;
	info.pFunInput			= NULL;

	if( !StartGameLoopEx( &info ))
		return 1;
	return 0;
}


此处需要注意SimpleCG.h和SimpleCG.lib库文件与源文件的相对路径要设置正确


#include "../import/include/SimpleCG.h"
#ifdef _DEBUG
#pragma comment(lib,"../import/lib/SimpleCG_MDd.lib")
#else
#ifdef _WIN64
#pragma comment(lib,"../import/lib/x64/MTRelease/SimpleCG_MT64.lib")
#else
#pragma comment(lib,"../import/lib/SimpleCG_MT.lib")
#endif
#endif

一切顺利,直接编译运行将会成功看到Hello World

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

b2b160

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值