72 lines
1.5 KiB
C++
72 lines
1.5 KiB
C++
/*
|
|
* This is a part of the BugTrap package.
|
|
* Copyright (c) 2005-2009 IntelleSoft.
|
|
* All rights reserved.
|
|
*
|
|
* Description: Wait cursor.
|
|
* Author: Maksim Pyatkovskiy.
|
|
*
|
|
* This source code is only intended as a supplement to the
|
|
* BugTrap package reference and related electronic documentation
|
|
* provided with the product. See these sources for detailed
|
|
* information regarding the BugTrap package.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "ResManager.h"
|
|
#include "Globals.h"
|
|
|
|
/**
|
|
* @addtogroup BugTrapUI BugTrap Graphical User Interface
|
|
* @{
|
|
*/
|
|
|
|
/// Wait cursor class.
|
|
class CWaitCursor
|
|
{
|
|
public:
|
|
/// Initialize wait cursor.
|
|
CWaitCursor(void);
|
|
/// Initialize and immediately show wait cursor.
|
|
explicit CWaitCursor(bool);
|
|
/// Destroy the object.
|
|
~CWaitCursor(void);
|
|
/// Shows wait cursor.
|
|
void BeginWait(void);
|
|
/// Closes wait cursor.
|
|
void EndWait(void);
|
|
|
|
private:
|
|
/// Protect the class from being accidentally copied.
|
|
CWaitCursor(const CWaitCursor& rWaitCursor);
|
|
/// Protect the class from being accidentally copied.
|
|
CWaitCursor& operator=(const CWaitCursor& rWaitCursor);
|
|
|
|
/// Handle of previous window cursor.
|
|
HCURSOR m_hOldCursor;
|
|
};
|
|
|
|
inline CWaitCursor::CWaitCursor(void)
|
|
{
|
|
m_hOldCursor = NULL;
|
|
}
|
|
|
|
/// Initialize and immediately show wait cursor.
|
|
inline CWaitCursor::CWaitCursor(bool)
|
|
{
|
|
m_hOldCursor = SetCursor(g_pResManager->m_hWaitCursor);
|
|
}
|
|
|
|
inline CWaitCursor::~CWaitCursor(void)
|
|
{
|
|
EndWait();
|
|
}
|
|
|
|
inline void CWaitCursor::BeginWait(void)
|
|
{
|
|
_ASSERTE(m_hOldCursor == NULL);
|
|
m_hOldCursor = SetCursor(g_pResManager->m_hWaitCursor);
|
|
}
|
|
|
|
/** @} */
|