Annotation of mstools/samples/gridfont/font.hxx, revision 1.1

1.1     ! root        1: #ifndef __FONT_HXX_
        !             2: #define __FONT_HXX_
        !             3: 
        !             4: #include "canvas.hxx"
        !             5: 
        !             6: //========== CFont =============================================
        !             7: class CFont
        !             8: {      
        !             9: public: 
        !            10:         CFont(HFONT hfont);
        !            11:         CFont(TCHAR * szFace, int iHeight, 
        !            12:               BOOL fBold = FALSE, BOOL fItalic = FALSE, BOOL fUnder = FALSE);
        !            13:         ~CFont();
        !            14:         BOOL Create(LOGFONT& lf);
        !            15:         BOOL Update(int iHeight, BOOL fBold=FALSE);
        !            16:         operator HFONT()
        !            17:                 { return _hfont; };
        !            18:         BOOL Choose(HWND hwnd);
        !            19: protected:
        !            20:         HFONT _hfont;
        !            21:         BOOL _fDel;
        !            22: };
        !            23: 
        !            24: //========== CFontSelect =======================================
        !            25: class CFontSelect
        !            26: {
        !            27: public:
        !            28:         CFontSelect(CCanvas &canvas, HFONT hfont) :
        !            29:             _canvas(canvas)
        !            30:         {
        !            31:             _hfontOld = SelectFont(_canvas, hfont);
        !            32:         };
        !            33: 
        !            34:         ~CFontSelect()
        !            35:         {
        !            36:             // Make sure font is not selected, so it can be deleted
        !            37:             SelectFont(_canvas, _hfontOld);
        !            38:         }
        !            39: protected:
        !            40:         HFONT _hfontOld;
        !            41:         CCanvas &_canvas;
        !            42: };
        !            43: 
        !            44: //========== CBlackPen =======================================
        !            45: class CBlackPen
        !            46: {
        !            47: public:
        !            48:         CBlackPen(CCanvas &canvas, int iStyle, int iWidth) :
        !            49:             _canvas(canvas)
        !            50:         {
        !            51:             _hPen = CreatePen(iStyle,iWidth,RGB(0,0,0)); 
        !            52:             _hPenOld = SelectPen(_canvas, _hPen);
        !            53:         };
        !            54: 
        !            55:         ~CBlackPen()
        !            56:         {
        !            57:             // release pen
        !            58:             _hPen = SelectPen(_canvas, _hPenOld);
        !            59:             DeleteObject(_hPen);
        !            60:         }
        !            61: protected:
        !            62:         HPEN _hPen;     
        !            63:         HPEN _hPenOld;
        !            64:         CCanvas &_canvas;
        !            65: };
        !            66: 
        !            67: 
        !            68: #endif
        !            69: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.