110 lines
2.6 KiB
C++
110 lines
2.6 KiB
C++
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
//
|
|
// Copyright (C) Microsoft Corporation, 2000
|
|
//
|
|
// File: tasksymbol.cpp
|
|
//
|
|
// History: 17-Jan-2000 Vivekj added
|
|
//--------------------------------------------------------------------------
|
|
|
|
#include "stdafx.h"
|
|
#include "TaskSymbol.h"
|
|
#include "tasks.h"
|
|
|
|
//############################################################################
|
|
//############################################################################
|
|
//
|
|
// Traces
|
|
//
|
|
//############################################################################
|
|
//############################################################################
|
|
#ifdef DBG
|
|
|
|
CTraceTag tagTaskSymbol(TEXT("CTaskSymbol"), TEXT("CTaskSymbol"));
|
|
|
|
#endif //DBG
|
|
|
|
|
|
//############################################################################
|
|
//############################################################################
|
|
//
|
|
// Implementation of class CTaskSymbol
|
|
//
|
|
//############################################################################
|
|
//############################################################################
|
|
|
|
extern CEOTSymbol s_rgEOTSymbol[];
|
|
|
|
|
|
CTaskSymbol::CTaskSymbol()
|
|
: m_dwConsoleTaskID(0),
|
|
m_bSmall(0)
|
|
{
|
|
}
|
|
|
|
|
|
|
|
/*+-------------------------------------------------------------------------*
|
|
*
|
|
* CTaskSymbol::OnDraw
|
|
*
|
|
* PURPOSE: Draws out the symbol onto the DC specified in the ATL_DRAWINFO structure.
|
|
*
|
|
* PARAMETERS:
|
|
* ATL_DRAWINFO& di :
|
|
*
|
|
* RETURNS:
|
|
* HRESULT
|
|
*
|
|
*+-------------------------------------------------------------------------*/
|
|
HRESULT
|
|
CTaskSymbol::OnDraw(ATL_DRAWINFO& di)
|
|
{
|
|
DECLARE_SC(sc, TEXT("CTaskSymbol::OnDraw"));
|
|
RECT * pRect = (RECT *)di.prcBounds;
|
|
|
|
|
|
sc = ScCheckPointers(pRect);
|
|
if(sc)
|
|
return sc.ToHr();
|
|
|
|
CConsoleTask *pConsoleTask = CConsoleTask::GetConsoleTask(m_dwConsoleTaskID); // get the console task from the unique ID
|
|
|
|
COLORREF colorOld = SetTextColor (di.hdcDraw, ::GetSysColor (COLOR_WINDOWTEXT));
|
|
|
|
if(pConsoleTask)
|
|
pConsoleTask->Draw(di.hdcDraw, pRect, m_bSmall);
|
|
|
|
SetTextColor(di.hdcDraw, colorOld);
|
|
|
|
|
|
return sc.ToHr();
|
|
}
|
|
|
|
|
|
LRESULT
|
|
CTaskSymbol::OnLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
{
|
|
Fire_Click();
|
|
return 0;
|
|
}
|
|
|
|
// from winuser.h, for Windows 2000 and above only.
|
|
#define IDC_HAND MAKEINTRESOURCE(32649)
|
|
|
|
|
|
LRESULT
|
|
CTaskSymbol::OnSetCursor(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
{
|
|
static HCURSOR s_hCursorHand = ::LoadCursor(NULL, IDC_HAND);
|
|
|
|
// if the hand cursor is available, use it.
|
|
if(s_hCursorHand)
|
|
::SetCursor(s_hCursorHand);
|
|
|
|
return 0;
|
|
}
|
|
|