92 lines
2.8 KiB
C
92 lines
2.8 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (C) 1996-1999 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
report.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Header file for the report view.
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _REPORT_H_
|
||
|
#define _REPORT_H_
|
||
|
|
||
|
#include "commctrl.h"
|
||
|
|
||
|
class CSysmonControl;
|
||
|
|
||
|
class CReport
|
||
|
{
|
||
|
friend LRESULT APIENTRY ReportWndProc (HWND hWnd,
|
||
|
UINT uiMsg,
|
||
|
WPARAM wParam,
|
||
|
LPARAM lParam);
|
||
|
|
||
|
private:
|
||
|
|
||
|
CSysmonControl *m_pCtrl;
|
||
|
HWND m_hWnd;
|
||
|
RECT m_rect;
|
||
|
INT m_xValueWidth;
|
||
|
INT m_xReportWidth;
|
||
|
INT m_yReportHeight;
|
||
|
INT m_yLineHeight;
|
||
|
INT m_xMaxCounterWidth;
|
||
|
INT m_xMaxInstancePos;
|
||
|
INT m_xInstanceMargin;
|
||
|
void *m_pSelect;
|
||
|
INT m_nSelectType;
|
||
|
BOOL m_bConfigChange;
|
||
|
BOOL m_bFontChange;
|
||
|
|
||
|
void OnPaint ( void );
|
||
|
void SetScrollRanges ( void );
|
||
|
void OnHScroll ( INT iScrollCode, INT iScrollNewPos );
|
||
|
void OnVScroll ( INT iScrollCode, INT iScrollNewPos );
|
||
|
void OnLButtonDown ( INT xPos, INT yPos );
|
||
|
BOOL OnContextMenu ( INT xPos, INT yPos );
|
||
|
void OnDblClick ( INT xPos, INT yPos );
|
||
|
|
||
|
INT SetCounterPositions ( PCObjectNode pObject, HDC hDC );
|
||
|
INT SetInstancePositions ( PCObjectNode pObject, HDC hDC );
|
||
|
INT SetObjectPositions ( PCMachineNode pMachine, HDC hDC );
|
||
|
INT SetMachinePositions ( PCCounterTree pTree, HDC hDC );
|
||
|
|
||
|
void DrawReportHeaders ( HDC hDC );
|
||
|
void DrawReportValues ( HDC hDC );
|
||
|
void DrawReportValue ( HDC hDC, PCGraphItem pItem, INT xPos, INT yPos );
|
||
|
void DrawSelectRect ( HDC hDC, BOOL bState );
|
||
|
void Draw ( HDC hDC );
|
||
|
void ApplyChanges ( HDC hDC );
|
||
|
|
||
|
BOOL SelectName ( INT xPos, INT yPos, void **ppSelected, INT *nSelectType );
|
||
|
BOOL PtInName ( POINT pt, INT x, INT y, INT xWidth )
|
||
|
{ return (pt.x > x && pt.x < (x + xWidth) && pt.y > y && pt.y < (y + m_yLineHeight)); }
|
||
|
PCGraphItem GetItem ( void *pSelected, INT nSelectType );
|
||
|
BOOL SelectionDeleted ( PCGraphItem pItem );
|
||
|
BOOL LargeHexValueExists ( void );
|
||
|
void GetReportItemValue(PCGraphItem pItem, LPTSTR szValue);
|
||
|
public:
|
||
|
CReport ( void );
|
||
|
~CReport ( void );
|
||
|
|
||
|
BOOL Init ( CSysmonControl *pCtrl, HWND hWndParent ) ;
|
||
|
void AddItem ( PCGraphItem pItem );
|
||
|
void DeleteItem ( PCGraphItem pItem );
|
||
|
void DeleteSelection ( VOID );
|
||
|
void SizeComponents ( LPRECT pRect );
|
||
|
void ChangeFont ( void );
|
||
|
HWND Window ( void ) { return m_hWnd; }
|
||
|
void Update ( void );
|
||
|
void Render ( HDC hDC, HDC hAttribDC, BOOL fMetafile, BOOL fEntire, LPRECT pRect );
|
||
|
BOOL WriteFileReport(HANDLE hFile);
|
||
|
};
|
||
|
|
||
|
typedef CReport *PREPORT;
|
||
|
|
||
|
#endif
|