WndBitmap.cpp
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /*****************************************************************************************
  2. // 界面窗口体系结构--位图窗口
  3. // Copyright : Kingsoft 2002
  4. // Author :   Wooy(Wu yue)
  5. // CreateTime: 2002-7-22
  6. *****************************************************************************************/
  7. #include "KWin32.h"
  8. #include "KIniFile.h"
  9. #include "WndBitmap.h"
  10. #include "KJpgFile.h"
  11. //--------------------------------------------------------------------------
  12. // 功能:构造函数
  13. //--------------------------------------------------------------------------
  14. KWndBitmap::KWndBitmap()
  15. {
  16. m_bBitmapLoaded = FALSE;
  17. }
  18. //--------------------------------------------------------------------------
  19. // 功能:析构函数
  20. //--------------------------------------------------------------------------
  21. KWndBitmap::~KWndBitmap()
  22. {
  23. m_Bitmap.Free();
  24. }
  25. //--------------------------------------------------------------------------
  26. // 功能:初始化
  27. //--------------------------------------------------------------------------
  28. BOOL KWndBitmap::Init(KIniFile* pIniFile, const char* pSection)
  29. {
  30. m_bBitmapLoaded = FALSE;
  31. if (KWndWindow::Init(pIniFile, pSection))
  32. {
  33. KJpgFile ImgJpg;
  34. char Buffer[80];
  35. pIniFile->GetString(pSection, "Image", "", Buffer, sizeof(Buffer));
  36. m_bBitmapLoaded = ImgJpg.Load(Buffer, &m_Bitmap);
  37. return TRUE;
  38. }
  39. return FALSE;
  40. }
  41. #ifdef _DEBUG
  42. #include "../../../../../Utility/Headers/iFont.h"
  43. #endif
  44. //--------------------------------------------------------------------------
  45. // 功能:绘制窗口
  46. //--------------------------------------------------------------------------
  47. void KWndBitmap::PaintWindow()
  48. {
  49. //to be replace
  50. // if (m_bBitmapLoaded && g_pCanvas)
  51. // {
  52. // g_pCanvas->DrawBitmap16(m_nAbsoluteLeft, m_nAbsoluteTop,
  53. // m_Bitmap.GetWidth(), m_Bitmap.GetHeight(), m_Bitmap.GetBitmap());
  54. // }
  55. #ifdef _DEBUG
  56. // else
  57. {
  58. KWndWindow::PaintWindow();
  59. if (l_pFont16)
  60. {
  61. l_pFont16->TextOut(m_Caption, KF_ZERO_END, m_nAbsoluteLeft + 3, m_nAbsoluteTop + 3);
  62. l_pFont16->TextOut(m_Caption, KF_ZERO_END, m_nAbsoluteLeft + 2, m_nAbsoluteTop + 2, 0xFFFFFFFF);
  63. }
  64. }
  65. #endif
  66. }