logoshow.cpp

来自「关于LOGO编辑方面的小软件 EVC编写~」· C++ 代码 · 共 109 行

CPP
109
字号
// LogoShow.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "LogoShow.h"
#include "LogoShowDlg.h"
#include "Logo.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CLogoShowApp

BEGIN_MESSAGE_MAP(CLogoShowApp, CWinApp)
	//{{AFX_MSG_MAP(CLogoShowApp)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}AFX_MSG
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLogoShowApp construction

CLogoShowApp::CLogoShowApp()
	: CWinApp()
{
	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
}

/////////////////////////////////////////////////////////////////////////////
// The one and only CLogoShowApp object

CLogoShowApp theApp;

/////////////////////////////////////////////////////////////////////////////
// CLogoShowApp initialization

BOOL CLogoShowApp::InitInstance()
{
	// Standard initialization
	// If you are not using these features and wish to reduce the size
	//  of your final executable, you should remove from the following
	//  the specific initialization routines you do not need.
	//=============================================
	CLogo*  showLogo;
	showLogo = new CLogo;
	showLogo->Create(CLogo::IDD);
	showLogo->ShowWindow(SW_SHOW);
	IdleSleep(3000,NULL);
	showLogo->DestroyWindow();
	delete showLogo;
//=============================================
	CLogoShowDlg dlg;
	m_pMainWnd = &dlg;
	int nResponse = dlg.DoModal();
	if (nResponse == IDOK)
	{
		// TODO: Place code here to handle when the dialog is
		//  dismissed with OK
	}
	else if (nResponse == IDCANCEL)
	{
		// TODO: Place code here to handle when the dialog is
		//  dismissed with Cancel
	}

	// Since the dialog has been closed, return FALSE so that we exit the
	//  application, rather than start the application's message pump.
	return FALSE;
}

/////////////////////////////////////////////////////////////////
//函数名:IdleSleep
//功能:显示logo延时
//参数:DWORD dwTime, HWND hWnd
//返回:无
//Author:Mercury Xu
//Date:2008-07-18
/////////////////////////////////////////////////////////////////

void CLogoShowApp::IdleSleep(DWORD dwTime, HWND hWnd)
{
	MSG msg;
	DWORD Tstart,Time;
	BOOL logoShow;
	Tstart = GetTickCount();
    for(;;)
	{
		logoShow = PeekMessage(&msg,hWnd,NULL,NULL,PM_REMOVE);
		if(logoShow)
		{
			TranslateMessage(&msg);
			DispatchMessage(&msg);
		}
		else
		{
			Time = GetTickCount();
			if(Time-Tstart>=dwTime)
				return;
			Sleep(1);
		}
	}
}

⌨️ 快捷键说明

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