pen.h
来自「Windows 图形编程 书籍」· C头文件 代码 · 共 81 行
H
81 行
#pragma once
//-----------------------------------------------------------------------------------//
// Windows Graphics Programming: Win32 GDI and DirectDraw //
// ISBN 0-13-086985-6 //
// //
// Written by Yuan, Feng www.fengyuan.com //
// Copyright (c) 2000 by Hewlett-Packard Company www.hp.com //
// Published by Prentice Hall PTR, Prentice-Hall, Inc. www.phptr.com //
// //
// FileName : pen.h //
// Description: GDI pen object wrapper //
// Version : 1.00.000, May 31, 2000 //
//-----------------------------------------------------------------------------------//
// Wrapper for GDI object selection
class KSelect
{
HGDIOBJ m_hOld;
HDC m_hDC;
public:
void Select(HDC hDC, HGDIOBJ hObject)
{
if ( hDC )
{
m_hDC = hDC;
m_hOld = SelectObject(hDC, hObject);
}
else
{
m_hDC = NULL;
m_hOld = NULL;
}
}
void UnSelect(void)
{
if ( m_hDC )
{
SelectObject(m_hDC, m_hOld);
m_hDC = NULL;
m_hOld = NULL;
}
}
};
class KPen : public KSelect
{
public:
HPEN m_hPen;
KPen(int style, int width, COLORREF color, HDC hDC=NULL)
{
m_hPen = CreatePen(style, width, color);
Select(hDC);
}
KPen(int style, int width, COLORREF color, int count, DWORD * gap, HDC hDC=NULL)
{
LOGBRUSH logbrush = { BS_SOLID, color, 0 };
m_hPen = ExtCreatePen(style, width, & logbrush, count, gap);
Select(hDC);
}
void Select(HDC hDC)
{
KSelect::Select(hDC, m_hPen);
}
~KPen()
{
UnSelect();
DeleteObject(m_hPen);
}
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?