winsplash.h
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:1k
源码类别:

OpenGL

开发平台:

Visual C++

  1. // winsplash.h
  2. //
  3. // Copyright (C) 2005, Chris Laurel <claurel@shatters.net>
  4. //
  5. // Win32 splash window
  6. //
  7. // This program is free software; you can redistribute it and/or
  8. // modify it under the terms of the GNU General Public License
  9. // as published by the Free Software Foundation; either version 2
  10. // of the License, or (at your option) any later version.
  11. #include <windows.h>
  12. #include <string>
  13. #include <celengine/image.h>
  14. class SplashWindow
  15. {
  16. public:
  17.     SplashWindow(const std::string& _imageFileName);
  18.     ~SplashWindow();
  19.     LRESULT CALLBACK windowProc(HWND, UINT uMsg, WPARAM wParam, LPARAM lParam);
  20.     void init();
  21.     void paint(HDC hDC);
  22.     HWND createWindow();
  23.     int messageLoop();
  24.     void showSplash();
  25.     int close();
  26.     bool createBitmap();
  27.     void updateWindow();
  28.     
  29.     void setMessage(const std::string& msg);
  30.     
  31. private:
  32.     HWND hwnd;
  33.     char* className;
  34.     std::string imageFileName;
  35.     Image* image;
  36.     HBITMAP hBitmap;
  37.     HBITMAP hCompositionBitmap;
  38.     bool useLayeredWindow;
  39.     std::string message;
  40.     unsigned int winWidth;
  41.     unsigned int winHeight;
  42. };