1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /** (c) Nullsoft, Inc. C O N F I D E N T I A L
- ** Filename:
- ** Project:
- ** Description:
- ** Author:
- ** Created:
- **/
- #include "Main.h"
- #define SPLASH_TIMER 34
- //#define MODAL_SPLASHSCREEN
- static INT_PTR CALLBACK splashFunc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
- static int wait;
- void splashDlg(int wait_in_ms)
- {
- wait = wait_in_ms;
- #ifdef MODAL_SPLASHSCREEN
- DialogBox(hMainInstance, MAKEINTRESOURCE(IDD_SPLASH), NULL, splashFunc);
- #else
- CreateDialogW(hMainInstance, MAKEINTRESOURCE(IDD_SPLASH), NULL, splashFunc);
- #endif
- }
- static INT_PTR CALLBACK splashFunc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
- {
- RECT r;
- switch (uMsg)
- {
- case WM_INITDIALOG:
- GetWindowRect(GetDlgItem(hwndDlg, IDC_SPLASHIMG), &r);
- SetWindowPos(hwndDlg, 0, 0, 0, r.right - r.left, r.bottom - r.top, SWP_NOMOVE | SWP_NOZORDER);
- SetTimer(hwndDlg, SPLASH_TIMER, wait, NULL);
- return 0;
- case WM_KEYDOWN:
- case WM_LBUTTONDOWN: case WM_RBUTTONDOWN:
- #ifdef MODAL_SPLASHSCREEN
- EndDialog(hwndDlg, 0);
- #else
- DestroyWindow(hwndDlg);
- #endif
- return 0;
- case WM_TIMER:
- if (wParam == SPLASH_TIMER)
- {
- #ifdef MODAL_SPLASHSCREEN
- EndDialog(hwndDlg, 1);
- #else
- DestroyWindow(hwndDlg);
- #endif
- }
- return 0;;
- }
- return 0;
- }
|