当前位置: 首页>>代码示例>>C++>>正文


C++ Log::Add方法代码示例

本文整理汇总了C++中Log::Add方法的典型用法代码示例。如果您正苦于以下问题:C++ Log::Add方法的具体用法?C++ Log::Add怎么用?C++ Log::Add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Log的用法示例。


在下文中一共展示了Log::Add方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: CreateAppWnd

	//--------------------------------------------------------------------------------------
	// Método para crear la ventana de la aplicación.
	//--------------------------------------------------------------------------------------	
	bool Application::CreateAppWnd (HINSTANCE instance, LPCTSTR name, int width, int height,
									bool fullscreen, bool resizable)
	{
		//----------------------------------------------------------------------------------
		// Información de entrada en el fichero de log.
		//----------------------------------------------------------------------------------
		Log * AppLog = Log::GetInstance();

		AppLog->Add("//------------------------------------------------------------");
		AppLog->Add("// Yukino 2.0 log.");
		AppLog->Add("//------------------------------------------------------------\n");

		AppLog->Add("Creando la ventana de la aplicación.");

		//----------------------------------------------------------------------------------
		// Modificamos los últimos puntos que no se podían configurara en el constructor,
		// de la clase ventana que vamos a registrar para nuestra aplicación. Estos son el
		// identificador de instancia y el nombre de la clase a registrar.
		//----------------------------------------------------------------------------------
		this->WndClass.hInstance     = instance;
		this->WndClass.lpszClassName = name;

		//----------------------------------------------------------------------------------
		// Mandamos a registrar la clase, una vez está totalmente configurada.
		//----------------------------------------------------------------------------------
		if(!RegisterClassEx(&this->WndClass))
		{
			AppLog->Add("(-) ¡Error al registrar la clase ventana!", APPERR_REGWNDCLS);
			return false;
		}

		AppLog->Add("(+) Clase ventana registrada correctamente.");

		//----------------------------------------------------------------------------------
		// Si la clase es registrada correctamente, el siguiente paso es modificar el modo
		// de visualización de la pantalla, siempre y cuando la aplicación sea a pantalla
		// completa. Para ello hace falta tener el ancho, el alto, y la profundidad de
		// color. Si no se lograra poder cambiar el modo de pantalla, ejecutamos la
		// aplicación en modo ventana, avisando en el log del problema.
		//----------------------------------------------------------------------------------
		if(fullscreen)
		{
			DEVMODE devModeScreen;
			memset(&devModeScreen, 0, sizeof(devModeScreen));          // Limpiamos la estructura
			devModeScreen.dmSize       = sizeof(devModeScreen);        // Tamaño de la estructura
			devModeScreen.dmPelsWidth  = width;                        // Ancho de la pantalla
			devModeScreen.dmPelsHeight = height;                       // Alto de la pantalla
			devModeScreen.dmBitsPerPel = this->PixelFormat.cColorBits; // Bpp de la pantalla
			devModeScreen.dmFields     = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL;

			// Cambiamos el modo de la pantalla, de no lograrlo ponemos fullscreen a falso.
			if(ChangeDisplaySettings(&devModeScreen, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL)
			{
				AppLog->Add("(-) ¡Error al intentar pasar a modo pantalla completa!");
				fullscreen = false;
			}
		}

		//----------------------------------------------------------------------------------
		// Configuramos las propiedades internas de la clase, justo en este momento, en el
		// que no van a padecer ningún cambio que querramos ver reflejado en el futuro.
		//----------------------------------------------------------------------------------
		this->hInstance  = instance;
		this->Name       = name;
		this->Width      = width;
		this->Height     = height;
		this->FullScreen = fullscreen;
		this->Resizable  = resizable;

		//----------------------------------------------------------------------------------
		// Y ahora pasamos a configurar algunas propiedades del estilo y las dimensiones
		// que tendrá la ventana. En modo pantalla completa solo es necesario cambiar el
		// estilo. Pero en modo ventana, dependiendo de de si queremos que sea
		// redimensionable o no, tendremos que manipular las dimensiones de la ventana,
		// para que el area de pintado sea el que hemos indicado.
		//----------------------------------------------------------------------------------
		DWORD WndStyle;
		DWORD WndStyleEx;

		if(fullscreen)
		{
			WndStyleEx = WS_EX_APPWINDOW;
			WndStyle   = WS_POPUP;
			::ShowCursor(FALSE);
		}
		else
		{
			WndStyleEx = NULL;

			if(resizable)
			{
				width  += WINMODE_INCW;
				height += WINMODE_INCH;

				WndStyle = WS_OVERLAPPEDWINDOW;
			}
			else
//.........这里部分代码省略.........
开发者ID:gorkinovich,项目名称:IGr,代码行数:101,代码来源:Application.cpp

示例2: Init

	//--------------------------------------------------------------------------------------
	// Método para inicializar el dispositivo de entrada.
	//--------------------------------------------------------------------------------------
	bool InputManager::Init (HWND hwnd, LONG width, LONG height, bool fullscreen,
							 bool resizable)
	{
		//----------------------------------------------------------------------------------
		// Configuramos los flags en base al modo de visualización.
		//----------------------------------------------------------------------------------
		DWORD flags;

		if(fullscreen)
		{
			flags = DISCL_BACKGROUND | DISCL_NONEXCLUSIVE | DISCL_NOWINKEY;
		}
		else
		{
			flags = DISCL_BACKGROUND | DISCL_NONEXCLUSIVE;
		}

		Log * InpLog = Log::GetInstance();

		//----------------------------------------------------------------------------------
		// Creamos la interfaz principal DInput.
		//----------------------------------------------------------------------------------
		if(FAILED(DirectInput8Create(GetModuleHandle(NULL), DIRECTINPUT_VERSION,
									 IID_IDirectInput8, (void**) &lpDInput, NULL)))
		{
			InpLog->Add("(-) ¡Fallo al crear la clase DirectInput8!",
						INPERR_DIRECTINPUT8CREATE);
			return false;
		}


		//----------------------------------------------------------------------------------
		// Creación del dispositivo del teclado.
		//----------------------------------------------------------------------------------
		if(FAILED(lpDInput->CreateDevice(GUID_SysKeyboard, &lpKeyb, NULL)))
		{
			InpLog->Add("(-) ¡Fallo al crear el dispositivo del teclado!",
						INPERR_CREATEDEVICE_KEYBOARD);
			return false;
		}
		
		//----------------------------------------------------------------------------------
		// Le indicamos la forma de guardar los datos
		//----------------------------------------------------------------------------------
		if(FAILED(lpKeyb->SetDataFormat(&c_dfDIKeyboard)))
		{
			InpLog->Add("(-) ¡Fallo al configurar el formato de datos del teclado!",
						INPERR_SETDATAFORMAT_KEYBOARD);
			return false;
		}

		//----------------------------------------------------------------------------------
		// Establecemos el nivel coperativo:
		//   DISCL_FOREGROUND   -> El dispositivo solo funciona con la aplicacion activa.
		//   DISCL_BACKGROUND   -> El dispositivo funciona aun sin estar la aplicacion activa.
		//   DISCL_EXCLUSIVE    -> El dispositivo es exclusivo a la aplicacion.
		//   DISCL_NONEXCLUSIVE -> El dispositivo no es exclusivo a la aplicacion.
		//----------------------------------------------------------------------------------
		if(FAILED(lpKeyb->SetCooperativeLevel(hwnd, flags)))
		{
			InpLog->Add("(-) ¡Fallo al indicar el nivel de cooperación del teclado!",
						INPERR_SETCOOPERATIVELEVEL_KEYBOARD);
			return false;
		}
		
		//----------------------------------------------------------------------------------
		// Activamos el teclado.
		//----------------------------------------------------------------------------------
		if(FAILED(lpKeyb->Acquire()))
		{
			InpLog->Add("(-) ¡Fallo al adquirir el teclado!", INPERR_ACQUIRE_KEYBOARD);
			return false;
		}


		//----------------------------------------------------------------------------------
		// Creación del dispositivo del ratón.
		//----------------------------------------------------------------------------------
		if(FAILED(lpDInput->CreateDevice(GUID_SysMouse, &lpMouse, NULL)))
		{
			InpLog->Add("(-) ¡Fallo al crear el dispositivo del ratón!",
						INPERR_CREATEDEVICE_MOUSE);
			return false;
		}
		
		//----------------------------------------------------------------------------------
		// Le indicamos la forma de guardar los datos.
		//----------------------------------------------------------------------------------
		if(FAILED(lpMouse->SetDataFormat(&c_dfDIMouse)))
		{
			InpLog->Add("(-) ¡Fallo al configurar el formato de datos del ratón!",
						INPERR_SETDATAFORMAT_MOUSE);
			return false;
		}
		
		//----------------------------------------------------------------------------------
		// Establecemos el nivel coperativo:
//.........这里部分代码省略.........
开发者ID:gorkinovich,项目名称:IGr,代码行数:101,代码来源:Input.cpp


注:本文中的Log::Add方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。