windows-nt/Source/XPSP1/NT/shell/osshell/snapins/devmgr/snapin/printer.h
2020-09-26 16:20:57 +08:00

98 lines
2 KiB
C++

#ifndef __PRINTER_H_
#define __PRINTER_H_
/*++
Copyright (C) 1997-1999 Microsoft Corporation
Module Name:
printer.h
Abstract:
header file for printer.cpp
Author:
William Hsieh (williamh) created
Revision History:
--*/
class CPrintCancelDialog : public CDialog
{
public:
CPrintCancelDialog() : CDialog(IDD_PRINT_CANCEL)
{}
virtual void OnCommand(WPARAM wParam, LPARAM lParam);
};
static BOOL CALLBACK AbortPrintProc(HDC hDC, int Code);
class CPrinter
{
public:
CPrinter(HWND hwndOwner, HDC hDC);
CPrinter() : m_hDC(NULL), m_hwndOwner(NULL),
m_hLogFile(INVALID_HANDLE_VALUE)
{}
~CPrinter()
{
if (m_hDC)
DeleteDC(m_hDC);
if (INVALID_HANDLE_VALUE != m_hLogFile)
CloseHandle(m_hLogFile);
}
int StartDoc(LPCTSTR DocTitle);
int EndDoc();
int AbortDoc();
int PrintLine(LPCTSTR Text);
int FlushPage();
void Indent()
{
m_Indent++;
}
void UnIndent()
{
if (m_Indent)
m_Indent--;
}
void SetPageTitle(int TitleId)
{
m_strPageTitle.LoadString(g_hInstance, TitleId);
}
void LineFeed();
int PrintAll(CMachine& Machine);
int PrintSystemSummary(CMachine& Machine);
int PrintResourceSummary(CMachine& Machine);
int PrintAllClassAndDevice(CMachine* pMachine);
int PrintClass(CClass* pClass, BOOL PrintBanner = TRUE);
int PrintDevice(CDevice* pDevice, BOOL PrintBanner = TRUE);
int PrintDeviceDriver(CDevice* pDevice);
int PrintDeviceResource(CDevice* pDevice);
int PrintResourceSubtree(CResource* pRes);
static BOOL s_UserAborted;
static HWND s_hCancelDlg;
private:
HDC m_hDC;
HWND m_hwndOwner;
HANDLE m_hLogFile;
DWORD m_xChar;
DWORD m_yChar;
DWORD m_xMargin;
DWORD m_yTopMargin;
DWORD m_yBottomMargin;
DWORD m_CurLine;
DWORD m_CurPage;
int m_Indent;
String m_strPageTitle;
int m_Status;
CPrintCancelDialog m_CancelDlg;
};
#endif