windows-nt/Source/XPSP1/NT/admin/activec/nodemgr/tasksymbol.cpp
2020-09-26 16:20:57 +08:00

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;
}