From de557f6037589b5f5a0d75071f20f85de6fdd823 Mon Sep 17 00:00:00 2001 From: kichik Date: Sun, 9 Mar 2003 19:49:19 +0000 Subject: [PATCH] BGGradient & minize solution git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2258 212acab6-be3b-0410-9dea-997c60f758d6 --- Source/exehead/Main.c | 2 +- Source/exehead/Ui.c | 21 ++++++++++++++++----- Source/exehead/bgbg.c | 7 +++++++ Source/exehead/fileform.c | 2 +- 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/Source/exehead/Main.c b/Source/exehead/Main.c index 04811d7d..e232761d 100644 --- a/Source/exehead/Main.c +++ b/Source/exehead/Main.c @@ -226,7 +226,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst,LPSTR lpszCmdParam, hwnd=CreateDialogParam( g_hInstance, MAKEINTRESOURCE(IDD_VERIFY), - GetDesktopWindow(), + 0, verProc, (LPARAM)_LANG_VERIFYINGINST ); diff --git a/Source/exehead/Ui.c b/Source/exehead/Ui.c index 08f60a9b..49296f6a 100644 --- a/Source/exehead/Ui.c +++ b/Source/exehead/Ui.c @@ -370,7 +370,7 @@ int NSISCALL ui_doinstall(void) #endif//NSIS_CONFIG_SILENT_SUPPORT { g_hIcon=LoadImage(g_hInstance,MAKEINTRESOURCE(IDI_ICON2),IMAGE_ICON,0,0,LR_DEFAULTSIZE|LR_SHARED); - m_bgwnd=GetDesktopWindow(); + m_bgwnd=0; #ifdef NSIS_SUPPORT_BGBG if (g_inst_cmnheader->bg_color1 != -1) { @@ -392,8 +392,8 @@ int NSISCALL ui_doinstall(void) SystemParametersInfo(SPI_GETWORKAREA, 0, &vp, 0); - m_bgwnd = CreateWindow("_Nb","",WS_OVERLAPPED|WS_THICKFRAME|WS_CAPTION|WS_SYSMENU|WS_MAXIMIZEBOX|WS_MINIMIZEBOX, - vp.left,vp.top,vp.right-vp.left,vp.bottom-vp.top,GetDesktopWindow(),NULL,g_hInstance,NULL); + m_bgwnd = CreateWindowEx(WS_EX_TOOLWINDOW,"_Nb",0,WS_POPUP, + vp.left,vp.top,vp.right-vp.left,vp.bottom-vp.top,0,NULL,g_hInstance,NULL); } #endif//NSIS_SUPPORT_BGBG #ifdef NSIS_SUPPORT_CODECALLBACKS @@ -428,7 +428,7 @@ int NSISCALL ui_doinstall(void) } #endif - return DialogBox(g_hInstance,MAKEINTRESOURCE(IDD_INST),m_bgwnd,DialogProc); + return DialogBox(g_hInstance,MAKEINTRESOURCE(IDD_INST),0,DialogProc); } #endif//NSIS_CONFIG_VISIBLE_SUPPORT #ifdef NSIS_CONFIG_SILENT_SUPPORT @@ -593,6 +593,17 @@ nextPage: } } } + +#ifdef NSIS_SUPPORT_BGBG + if (uMsg == WM_WINDOWPOSCHANGED) + { + SetWindowPos(m_bgwnd, hwndDlg, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE); + } + if (uMsg == WM_SIZE) { + ShowWindow(m_bgwnd, wParam == SIZE_MINIMIZED ? SW_HIDE : SW_SHOW); + } +#endif //NSIS_SUPPORT_BGBG + if (uMsg == WM_NOTIFY_CUSTOM_READY) { DestroyWindow(m_curwnd); } @@ -642,7 +653,7 @@ nextPage: } #ifdef NSIS_CONFIG_LICENSEPAGE -// Changed by Amir Szekely 27th July 2002 + #define _RICHEDIT_VER 0x0200 #include #undef _RICHEDIT_VER diff --git a/Source/exehead/bgbg.c b/Source/exehead/bgbg.c index 7a55997b..dfb05c58 100644 --- a/Source/exehead/bgbg.c +++ b/Source/exehead/bgbg.c @@ -14,6 +14,13 @@ LRESULT CALLBACK BG_WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { + case WM_WINDOWPOSCHANGING: + { + LPWINDOWPOS wp = (LPWINDOWPOS) lParam; + wp->flags |= SWP_NOACTIVATE; + wp->hwndInsertAfter = g_hwnd; + break; + } case WM_PAINT: { static PAINTSTRUCT ps; diff --git a/Source/exehead/fileform.c b/Source/exehead/fileform.c index 228d3904..c7d38ff2 100644 --- a/Source/exehead/fileform.c +++ b/Source/exehead/fileform.c @@ -266,7 +266,7 @@ static int NSISCALL __ensuredata(int amount) hwnd=CreateDialogParam( g_hInstance, MAKEINTRESOURCE(IDD_VERIFY), - GetDesktopWindow(), + 0, verProc, (LPARAM)_LANG_UNPACKING );