StaticSkin.cpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #include "StdAfx.h"
  2. #include "staticskin.h"
  3. IMPLEMENT_SERIAL( CStaticSkin , CObjectSkin , 1 )
  4. CStaticSkin::CStaticSkin( void )
  5. {
  6. m_nSkinType = keStaticSkin;
  7. NONCLIENTMETRICS nif;
  8. nif.cbSize = sizeof( nif );
  9. SystemParametersInfo( SPI_GETNONCLIENTMETRICS,sizeof( NONCLIENTMETRICS ),&nif,0 );
  10. m_fontStatic = nif.lfCaptionFont;
  11. m_bTransparent = TRUE;
  12. m_colorBack = GetSysColor( COLOR_BTNFACE );
  13. }
  14. CStaticSkin::CStaticSkin( CString strName ) : CObjectSkin( strName,keStaticSkin )
  15. {
  16. NONCLIENTMETRICS nif;
  17. nif.cbSize = sizeof( nif );
  18. SystemParametersInfo( SPI_GETNONCLIENTMETRICS,sizeof( NONCLIENTMETRICS ),&nif,0 );
  19. m_fontStatic = nif.lfCaptionFont;
  20. m_bTransparent = TRUE;
  21. m_colorBack = GetSysColor( COLOR_BTNFACE );
  22. }
  23. CStaticSkin::~CStaticSkin( void )
  24. {
  25. }
  26. void CStaticSkin::Serialize( CArchive & ar )
  27. {
  28. CObjectSkin::Serialize( ar );
  29. if ( ar.IsStoring() )
  30. {
  31. ar.Write( &m_fontStatic,sizeof( m_fontStatic ) );
  32. ar.Write( &m_bAutoFont,sizeof( m_bAutoFont ) );
  33. ar.Write( &m_bTransparent,sizeof( m_bTransparent ) );
  34. ar.Write( &m_nBackMode,sizeof( m_nBackMode ) );
  35. ar.Write( &m_imageBack,sizeof( m_imageBack ) );
  36. ar.Write( &m_colorBack,sizeof( m_colorBack ) );
  37. ar.Write( &m_textEffect,sizeof( m_textEffect ) );
  38. }
  39. else
  40. {
  41. ar.Read( &m_fontStatic,sizeof( m_fontStatic ) );
  42. ar.Read( &m_bAutoFont,sizeof( m_bAutoFont ) );
  43. ar.Read( &m_bTransparent,sizeof( m_bTransparent ) );
  44. ar.Read( &m_nBackMode,sizeof( m_nBackMode ) );
  45. ar.Read( &m_imageBack,sizeof( m_imageBack ) );
  46. ar.Read( &m_colorBack,sizeof( m_colorBack ) );
  47. ar.Read( &m_textEffect,sizeof( m_textEffect ) );
  48. }
  49. }