VC++ Splash Window封装类CSplash
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
// ===========================================================================
// File Splash.h // Desc The interface of the CSplash class // =========================================================================== #ifndef _ABHI_SPLASH_H_ #define _ABHI_SPLASH_H_ #include "windows.h" // =========================================================================== // ======================================================================= // ======================================================================= // ======================================================================= // ======================================================================= // ======================================================================= // ======================================================================= LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); HWND m_hwnd; private: }; #endif //_ABHI_SPLASH_H_ |
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 |
// ===========================================================================
// File Splash.cpp // Desc The implementation file for the CSplash class. // =========================================================================== #include "splash.h" // =========================================================================== lpfnSetLayeredWindowAttributes g_pSetLayeredWindowAttributes; #define WS_EX_LAYERED 0x00080000 // =========================================================================== LRESULT CALLBACK CSplash::WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) return DefWindowProc (hwnd, uMsg, wParam, lParam) ; void CSplash:: OnPaint(HWND hwnd) // ======================================================================= RECT rect; ::SelectObject(hMemDC, hOldBmp); ::DeleteDC(hMemDC); void CSplash::Init() // ======================================================================= g_pSetLayeredWindowAttributes = (lpfnSetLayeredWindowAttributes) CSplash::CSplash() CSplash::CSplash(LPCTSTR lpszFileName, COLORREF colTrans) SetBitmap(lpszFileName); CSplash::~CSplash() HWND CSplash::RegAndCreateWindow() if(!RegisterClassEx (&wndclass)) // ======================================================================= ; // ======================================================================= int CSplash::DoLoop() // ======================================================================= return msg.wParam ; } void CSplash::ShowSplash() DWORD CSplash::SetBitmap(LPCTSTR lpszFileName) DWORD CSplash::SetBitmap(HBITMAP hBitmap) void CSplash::FreeResources() int CSplash::CloseSplash() bool CSplash::SetTransparentColor(COLORREF col) return MakeTransparent(); bool CSplash::MakeTransparent() |
测试调用:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
// ===========================================================================
// File SplashClient.cpp // Desc Test stub for the CSplash class // =========================================================================== #include "stdafx.h" #include "splash.h" int APIENTRY WinMain(HINSTANCE hInstance, // your start up code here // Close the splash screen // ======================================================================= Sleep(); splashAbout.CloseSplash(); ; |
效果图:
出处:https://www.codeproject.com/Articles/7658/CSplash-A-Splash-Window-Class
最新文章
- java selenium (十二) 操作弹出窗口
- Java学习日记之 Java-其他类型
- == 与 equals 区别
- 高性能滚动 scroll 及页面渲染优化
- C++中尖括号和引号的区别---转载
- (POJ2635)The Embarrassed Cryptographer(大数取模)
- [转载] TLS协议分析 与 现代加密通信协议设计
- UVA 573 (13.08.06)
- 解决android启动程序时,会出现一个短暂的白色空白界面的问题
- 实现nodejs的promises库(基于promise.js改写)
- 【Web探索之旅】第二部分第二课:服务器语言
- layer ifram 弹出框
- sendUserActionEvent() mView== null after clicking on button
- mysql常用基础操作语法(十一)~~字符串函数【命令行模式】
- mongodb应用
- ie7ajax 跨域 no transport 解决办法
- 为帮助保护你的安全,您的Web浏览器已经限制此文件显示可能访问您的计算机的活动内容
- hdu4027Can you answer these queries?【线段树】
- 用emoji表情包来可视化北京市历史天气状况!
- nexus 离线更新索引