diff --git a/Contrib/Makensisw/makensisw.cpp b/Contrib/Makensisw/makensisw.cpp index a7d15ab2..fbe2fcba 100644 --- a/Contrib/Makensisw/makensisw.cpp +++ b/Contrib/Makensisw/makensisw.cpp @@ -211,7 +211,7 @@ DWORD CALLBACK SaveFileStreamCallback(DWORD_PTR dwCookie, LPBYTE pbBuff, LONG cb static void ToolBarSizeChanged(HWND hDlg) { RECT r; - HWND hEd = GetDlgItem(hDlg, IDC_LOGWIN); + HWND hEd = g_sdata.logwnd; GetWindowRect(g_toolbar.hwnd, &r); LONG tbh = RectH(r); GetWindowRect(hEd, &r); @@ -257,17 +257,18 @@ INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam switch (msg) { case WM_INITDIALOG: { - g_sdata.hwnd=hwndDlg; + g_sdata.hwnd=hwndDlg, g_sdata.logwnd = GetDlgItem(hwndDlg, IDC_LOGWIN); HICON hIcon = LoadIcon(g_sdata.hInstance,MAKEINTRESOURCE(IDI_ICON)); SetClassLongPtr(hwndDlg,GCLP_HICON,(LONG_PTR)hIcon); // Altered by Darren Owen (DrO) on 29/9/2003 // Added in receiving of mouse and key events from the richedit control - SendDlgItemMessage(hwndDlg,IDC_LOGWIN,EM_SETEVENTMASK,(WPARAM)NULL,ENM_SELCHANGE|ENM_MOUSEEVENTS|ENM_KEYEVENTS); + SendMessage(g_sdata.logwnd,EM_SETEVENTMASK,(WPARAM)NULL,ENM_SELCHANGE|ENM_MOUSEEVENTS|ENM_KEYEVENTS); InitializeLogWindow(); g_sdata.menu = GetMenu(g_sdata.hwnd); g_sdata.fileSubmenu = FindSubMenu(g_sdata.menu, IDM_FILE); g_sdata.editSubmenu = FindSubMenu(g_sdata.menu, IDM_EDIT); g_sdata.toolsSubmenu = FindSubMenu(g_sdata.menu, IDM_TOOLS); + SetMenuDefaultItem(FindSubMenu(g_sdata.menu, IDM_SCRIPT), IDM_RECOMPILE_TEST, MF_BYCOMMAND); RestoreMRUList(); CreateToolBar(); InitTooltips(g_sdata.hwnd); @@ -287,7 +288,7 @@ INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam if (suppwin4 && !FontExists(fontname)) fontname = sizeof(TCHAR) > 1 ? (LPCTSTR) msgothlocalutf : (LPCTSTR) msgothlocal932; } HFONT hFont = CreateFontPt(hwndDlg,fontsize,FW_NORMAL,FIXED_PITCH|FF_DONTCARE,fontcharset,fontname); - SendDlgItemMessage(hwndDlg,IDC_LOGWIN,WM_SETFONT,(WPARAM)hFont,0); + SendMessage(g_sdata.logwnd,WM_SETFONT,(WPARAM)hFont,0); g_sdata.compressor = COMPRESSOR_NONE_SELECTED; SetScript(_T("")); RestoreCompressor(); @@ -530,7 +531,7 @@ INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam case WM_NOTIFY: switch (((NMHDR*)lParam)->code ) { case EN_SELCHANGE: - EnableMenuItem(g_sdata.menu, IDM_COPYSELECTED, RicheditHasSelection(GetDlgItem(hwndDlg, IDC_LOGWIN)) ? MF_ENABLED : MF_GRAYED); + EnableMenuItem(g_sdata.menu, IDM_COPYSELECTED, RicheditHasSelection(g_sdata.logwnd) ? MF_ENABLED : MF_GRAYED); break; // Altered by Darren Owen (DrO) on 6/10/2003 @@ -543,7 +544,7 @@ INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam if(WM_RBUTTONUP == lpnmMsg->msg || (WM_KEYUP == lpnmMsg->msg && lpnmMsg->wParam == VK_APPS)) { POINT pt; - HWND edit = GetDlgItem(g_sdata.hwnd,IDC_LOGWIN); + HWND edit = g_sdata.logwnd; RECT r; GetCursorPos(&pt); @@ -616,7 +617,7 @@ INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam break; case WM_MAKENSIS_UPDATEUISTATE: { - UINT i, emptylog = SendDlgItemMessage(hwndDlg, IDC_LOGWIN, WM_GETTEXTLENGTH, 0, 0) == 0; + UINT i, emptylog = SendMessage(g_sdata.logwnd, WM_GETTEXTLENGTH, 0, 0) == 0; static const PACKEDCMDID_T nonemptylogids [] = { PACKCMDID(IDM_COPY), PACKCMDID(IDM_COPYALL), PACKCMDID(IDM_CLEARLOG), PACKCMDID(IDM_SELECTALL) }; for (i = 0; i < COUNTOF(nonemptylogids); ++i) EnableUICommand(UNPACKCMDID(nonemptylogids[i]), !emptylog); EnableUICommand(IDM_BROWSESCR, !!g_sdata.input_script); @@ -660,7 +661,7 @@ INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam case IDM_ABOUT: return ShowAboutDialog(hwndDlg)|TRUE; case IDM_SELECTALL: { - SendDlgItemMessage(g_sdata.hwnd, IDC_LOGWIN, EM_SETSEL, 0, -1); + SendMessage(g_sdata.logwnd, EM_SETSEL, 0, -1); return TRUE; } case IDM_LOADSCRIPT: @@ -703,20 +704,17 @@ INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam case IDM_CLEARLOG: { if (!g_sdata.thread) { - ClearLog(g_sdata.hwnd); + ClearLog(); } return TRUE; } case IDM_ZOOM_INC: g_sdata.log_zoom += 25; goto set_log_zoom; case IDM_ZOOM_DEC: g_sdata.log_zoom -= 25; goto set_log_zoom; case IDM_ZOOM_RST: - { g_sdata.log_zoom = 100; set_log_zoom: - HWND hLog = GetDlgItem(hwndDlg, IDC_LOGWIN); - SendMessage(hLog, EM_SETZOOM, g_sdata.log_zoom = STD_MAX((int)g_sdata.log_zoom, 25), 100); - InvalidateRect(hLog, 0, false); + SendMessage(g_sdata.logwnd, EM_SETZOOM, g_sdata.log_zoom = STD_MAX((int)g_sdata.log_zoom, 25), 100); + InvalidateRect(g_sdata.logwnd, 0, false); break; - } case IDM_RECOMPILE: { CompileNSISScript(); @@ -784,13 +782,13 @@ INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam return TRUE; } case IDM_COPY: - if (RicheditHasSelection(GetDlgItem(hwndDlg, IDC_LOGWIN))) goto logwndcopysel; + if (RicheditHasSelection(g_sdata.logwnd)) goto logwndcopysel; // fall through case IDM_COPYALL: CopyToClipboard(g_sdata.hwnd); return TRUE; case IDM_COPYSELECTED: logwndcopysel: - SendDlgItemMessage(g_sdata.hwnd, IDC_LOGWIN, WM_COPY, 0, 0); + SendMessage(g_sdata.logwnd, WM_COPY, 0, 0); return TRUE; case IDM_SAVE: { @@ -811,7 +809,7 @@ INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam WPARAM opts = sizeof(TCHAR) > 1 ? (SF_TEXT|SF_UNICODE) : (SF_TEXT); DWORD_PTR cookie[2] = { (DWORD_PTR)hFile, FALSE }; EDITSTREAM es = { (DWORD_PTR)&cookie, 0, SaveFileStreamCallback }; - SendMessage(GetDlgItem(g_sdata.hwnd, IDC_LOGWIN), EM_STREAMOUT, opts, (LPARAM)&es); + SendMessage(g_sdata.logwnd, EM_STREAMOUT, opts, (LPARAM)&es); CloseHandle(hFile); } } @@ -852,13 +850,13 @@ INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam if (lpfr->Flags & FR_MATCHCASE) flags |= FR_MATCHCASE; if (lpfr->Flags & FR_WHOLEWORD) flags |= FR_WHOLEWORD; FINDTEXTEX ft; - SendDlgItemMessage(hwndDlg, IDC_LOGWIN, EM_EXGETSEL, 0, (LPARAM)&ft.chrg); + SendMessage(g_sdata.logwnd, EM_EXGETSEL, 0, (LPARAM)&ft.chrg); ft.chrg.cpMin = (ft.chrg.cpMax == ft.chrg.cpMin) ? 0 : ft.chrg.cpMax; - ft.chrg.cpMax = (LONG) SendDlgItemMessage(hwndDlg, IDC_LOGWIN, WM_GETTEXTLENGTH, 0, 0); + ft.chrg.cpMax = (LONG) SendMessage(g_sdata.logwnd, WM_GETTEXTLENGTH, 0, 0); ft.lpstrText = lpfr->lpstrFindWhat; - ft.chrg.cpMin = (LONG) SendDlgItemMessage(hwndDlg, IDC_LOGWIN, EM_FINDTEXTEX, flags, (LPARAM)&ft); + ft.chrg.cpMin = (LONG) SendMessage(g_sdata.logwnd, EM_FINDTEXTEX, flags, (LPARAM)&ft); if (ft.chrg.cpMin != -1) - SendDlgItemMessage(hwndDlg, IDC_LOGWIN, EM_SETSEL, ft.chrgText.cpMin, ft.chrgText.cpMax); + SendMessage(g_sdata.logwnd, EM_SETSEL, ft.chrgText.cpMin, ft.chrgText.cpMax); else MessageBeep(MB_ICONASTERISK); } diff --git a/Contrib/Makensisw/makensisw.h b/Contrib/Makensisw/makensisw.h index c4c920ca..63b6b304 100644 --- a/Contrib/Makensisw/makensisw.h +++ b/Contrib/Makensisw/makensisw.h @@ -235,6 +235,7 @@ typedef struct NSISScriptData { DWORD warnings; HINSTANCE hInstance; HWND hwnd; + HWND logwnd; HMENU menu; HMENU fileSubmenu; HMENU editSubmenu; diff --git a/Contrib/Makensisw/utils.cpp b/Contrib/Makensisw/utils.cpp index 6e880712..a9268bad 100644 --- a/Contrib/Makensisw/utils.cpp +++ b/Contrib/Makensisw/utils.cpp @@ -203,14 +203,14 @@ void PlayAppSoundAsync(LPCSTR SoundName, int MBFallback) { void CopyToClipboard(HWND hwnd) { if (!hwnd || !OpenClipboard(hwnd)) return; - LRESULT len = SendDlgItemMessage(hwnd, IDC_LOGWIN, WM_GETTEXTLENGTH, 0, 0); + LRESULT len = SendMessage(g_sdata.logwnd, WM_GETTEXTLENGTH, 0, 0); HGLOBAL mem = GlobalAlloc(GMEM_MOVEABLE, (++len)*sizeof(TCHAR)); if (!mem) { CloseClipboard(); return; } TCHAR *txt = (TCHAR *)GlobalLock(mem); if (!txt) { CloseClipboard(); return; } EmptyClipboard(); txt[0] = 0; - SendDlgItemMessage(hwnd, IDC_LOGWIN, WM_GETTEXT, (WPARAM)(len), (LPARAM)txt); + SendMessage(g_sdata.logwnd, WM_GETTEXT, (WPARAM)(len), (LPARAM)txt); GlobalUnlock(mem); #ifdef _UNICODE SetClipboardData(CF_UNICODETEXT, mem); @@ -233,7 +233,7 @@ void ReleaseLogWindow() { #endif } void InitializeLogWindow() { - HWND hRE = GetDlgItem(g_sdata.hwnd, IDC_LOGWIN); + HWND hRE = g_sdata.logwnd; #ifdef RE_HAS_TOM IUnknown *pTD = 0, *pREO; if (SendMessage(hRE, EM_GETOLEINTERFACE, 0, (LPARAM)&pREO) && pREO) { @@ -263,7 +263,7 @@ HRESULT RicheditFreeze(void*pITextDocument, SIZE_T Freeze) void SetLogColor(enum LOGCOLOR lc) { enum { em_seteditstyle = (WM_USER + 204), ses_extendbackcolor = 4 }; - HWND hEd = GetDlgItem(g_sdata.hwnd, IDC_LOGWIN); + HWND hEd = g_sdata.logwnd; bool sysclr = lc >= LC_SYSCOLOR || !ReadRegSettingDW(REGCOLORIZE, true); static const COLORREF clrs[] = { RGB(0, 50, 0), RGB(210, 255, 210), RGB(50, 30, 0), RGB(255, 220, 190), RGB(50, 0, 0), RGB(255, 210, 210) }; CHARFORMAT cf; @@ -275,14 +275,14 @@ void SetLogColor(enum LOGCOLOR lc) SendMessage(hEd, EM_SETBKGNDCOLOR, sysclr, sysclr ? sysclr /*Irrelevant*/ : clrs[(lc * 2) + 1]); } -void ClearLog(HWND hwnd) { - SetDlgItemText(hwnd, IDC_LOGWIN, _T("")); +void ClearLog() { + SetWindowText(g_sdata.logwnd, _T("")); SetLogColor(LC_SYSCOLOR); SendMessage(g_sdata.hwnd, WM_MAKENSIS_UPDATEUISTATE, 0, 0); } void LogMessage(HWND hwnd,const TCHAR *str) { - HWND hLogWin = GetDlgItem(hwnd, IDC_LOGWIN); + HWND hLogWin = g_sdata.logwnd; #ifdef RE_HAS_TOM HRESULT hr = (HRESULT) SendMessage(hwnd, WM_MAKENSIS_FREEZEEDITOR, 0, true); // Force COM calls to UI thread #endif @@ -376,7 +376,7 @@ void EnableDisableItems(int on) HWND hFocus = g_sdata.focused_hwnd, hOptimal = hTestBtn; if (on && hCloseBtn == hFocus) hFocus = hOptimal; - if (!IsWindowEnabled(hFocus)) hFocus = GetDlgItem(hwndDlg, IDC_LOGWIN); + if (!IsWindowEnabled(hFocus)) hFocus = g_sdata.logwnd; SetDialogFocus(hwndDlg, hOptimal); SetDialogFocus(hwndDlg, hFocus); SetTimer(hwndDlg, TID_CONFIGURECLOSEORABORT, 1000, 0); @@ -388,10 +388,10 @@ void SetCompressorStats() TCHAR buf[1024]; bool found = false; - line_count = SendDlgItemMessage(g_sdata.hwnd, IDC_LOGWIN, EM_GETLINECOUNT, 0, 0); + line_count = SendMessage(g_sdata.logwnd, EM_GETLINECOUNT, 0, 0); for(i=0; i