mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.8 KiB
91 lines
2.8 KiB
/*++
|
|
|
|
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
|