home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 23 / IOPROG_23.ISO / SOFT / VFORM.ZIP / Source / VBitmap.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-10-10  |  1.6 KB  |  52 lines

  1. // -------------------------------------------------------------------------
  2. // Copyright @ 1997 TCK Software, Incorporated
  3. // All Rights Reserved
  4. // -------------------------------------------------------------------------
  5. #ifndef __VBITMAP_H__
  6. #define __VBITMAP_H__
  7.  
  8. #ifdef VF_STATIC
  9.     #undef AFX_EXT_CLASS
  10.     #define AFX_EXT_CLASS
  11. #endif
  12.  
  13. // -------------------------------------------------------------------------
  14. // Extended CBitmap
  15. // - automatically creates and uses a palette
  16. // - in the simplest sense - always realizes the palette in the background
  17. // -------------------------------------------------------------------------
  18. class AFX_EXT_CLASS VBitmap : public CBitmap 
  19. {
  20. protected:
  21.     DECLARE_DYNAMIC(VBitmap)
  22.  
  23.     CPalette m_pal;        // palette
  24.     BITMAP   m_bm;        // bitmap info
  25.  
  26. public:
  27.     VBitmap();
  28.     ~VBitmap();
  29.  
  30.     CPalette*    GetPalette()        { return &m_pal; }
  31.     HPALETTE    GetPaletteHandle()    { return m_pal; }
  32.     BITMAP        GetBitmapInfo()        { return m_bm; }
  33.  
  34.     BOOL LoadFile(LPCTSTR szFile);
  35.     BOOL LoadRes(LPCTSTR szResourceName);
  36.     BOOL LoadRes(UINT uID)    { return LoadRes(MAKEINTRESOURCE(uID)); }
  37.  
  38.     BOOL Attach(HBITMAP hBitmap);                    // like CBitmap::Attach 
  39.                                                     // but creates the palette
  40.     BOOL CreatePalette(CPalette& pal);                // Creates the palette
  41.     UINT GetColorTable(RGBQUAD* colorTable, UINT nColors);
  42.  
  43.     BOOL Draw(CDC* pDC, const CRect* pRectDest=NULL, 
  44.                         const CRect* pRectSrc=NULL, CPalette* pPal=NULL);
  45.     BOOL DrawTiled(CDC* pDC, const CRect* pRectDest=NULL,
  46.                              const CRect* pRectSrc=NULL, CPalette* pPal=NULL);
  47.  
  48.     BOOL DeleteObject();                            // Resets palette and info
  49. };
  50.  
  51. #endif
  52.