设为首页 加入收藏

TOP

窗体皮肤实现 - 在VC中简单实现绘制(五)(四)
2014-11-23 17:31:44 来源: 作者: 【 】 浏览:57
Tags:窗体 皮肤 实现 简单 绘制
ht, gWindowSize.bottom, 3, 3);
216 SetWindowRgn(hWnd, gRegion, TRUE);
217 if (hTmp)
218 DeleteObject(hTmp);
219 }
220 __finally {
221 gChangeSizeCalled = FALSE;
222 }
223 }
224 }
225
226 if (!bChanged)
227 return DefWindowProc(hWnd,message, wParam, lParam);
228
229 break;
230
231 case WM_DESTROY:
232 PostQuitMessage(0);
233 break;
234
235 case WM_QUIT:
236 if (gRegion) {
237 DeleteObject(gRegion);
238 gRegion = 0;
239 }
240 return DefWindowProc(hWnd, message, wParam, lParam);
241
242 default:
243 return DefWindowProc(hWnd, message, wParam, lParam);
244 }
245 return 0;
246 }
247
248 // Message handler for about box.
249 INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
250 {
251 UNREFERENCED_PARAMETER(lParam);
252 switch (message)
253 {
254 case WM_INITDIALOG:
255 return (INT_PTR)TRUE;
256
257 case WM_COMMAND:
258 if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
259 {
260 EndDialog(hDlg, LOWORD(wParam));
261 return (INT_PTR)TRUE;
262 }
263 break;
264 }
265 return (INT_PTR)FALSE;
266 }
267
268 void PaintNC(HWND hWnd, HDC dc)
269 {
270 HBRUSH hBrush;
271 RECT rw;
272 RECT rc;
273 POINT pt;
274
275 GetWindowRect(hWnd, &rw);
276 GetClientRect(hWnd, &rc);
277 pt.x = rc.left;
278 pt.y = rc.top;
279 ClientToScreen(hWnd, &pt);
280 OffsetRect(&rc, pt.x - rw.left, pt.y - rw.top);
281
282 ExcludeClipRect(dc, rc.left, rc.top, rc.right, rc.bottom);
283
284 OffsetRect(&rw, -rw.left, -rw.top);
285 hBrush = CreateSolidBrush(0xBF7B18);
286 FillRect(dc, &rw, hBrush);
287 DeleteObject(hBrush);
288 }
首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇VC #define EC(x) L##x 作用说明 下一篇VC版超级记事本

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: