BOOL TrigEditorWindow::DlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch ( msg ) { case WM_ACTIVATE: if ( LOWORD(wParam) != WA_INACTIVE ) chkd.SetCurrDialog(hWnd); return FALSE; break; case WM_INITDIALOG: SetSmallIcon((HANDLE)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_PROGRAM_ICON), IMAGE_ICON, 16, 16, 0)); CreateSubWindows(hWnd); ReplaceChildFonts(defaultFont); RedrawWindow(hWnd, NULL, NULL, RDW_INVALIDATE); break; case WM_SIZE: DoSize(); break; case WM_CLOSE: triggersWindow.trigModifyWindow.Hide(); ClassDialog::DestroyDialog(); return FALSE; break; default: return FALSE; break; } return TRUE; }
BOOL MapSettingsWindow::DlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch ( msg ) { case WM_ACTIVATE: if ( LOWORD(wParam) != WA_INACTIVE ) chkd.SetCurrDialog(hWnd); break; case WM_INITDIALOG: { const char* tabs[7] = { "Map Properties", "Forces", "Unit Settings", "Upgrade Settings", "Tech Settings", "String Editor", "Wav Editor" }; hTabs = GetDlgItem(hWnd, IDC_MAPSETTINGSTABS); LPARAM icon = (LPARAM)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_PROGRAM_ICON), IMAGE_ICON, 16, 16, 0); SendMessage(hTabs, WM_SETFONT, (WPARAM)defaultFont, FALSE); SendMessage(hWnd, WM_SETICON, ICON_SMALL, icon); TCITEM item = { }; item.mask = TCIF_TEXT; item.iImage = -1; for ( int i=0; i<sizeof(tabs)/sizeof(const char*); i++ ) { item.pszText = (LPSTR)tabs[i]; item.cchTextMax = std::strlen(tabs[i]); TabCtrl_InsertItem(hTabs, i, &item); } mapPropertiesWindow.CreateThis(hTabs, WIN_MAPPROPERTIES); forcesWindow.CreateThis(hTabs, WIN_FORCES); unitSettingsWindow.CreateThis(hTabs, WIN_UNITSETTINGS); upgradeSettingsWindow.CreateThis(hTabs, WIN_UPGRADESETTINGS); techSettingsWindow.CreateThis(hTabs, WIN_TECHSETTINGS); stringEditorWindow.CreateThis(hTabs, WIN_STRINGEDITOR); wavEditorWindow.CreateThis(hTabs, WIN_WAVEDITOR); ReplaceChildFonts(defaultFont); RedrawWindow(hWnd, NULL, NULL, RDW_INVALIDATE); } break; case WM_MOUSEWHEEL: if ( currTab == MapSettings::TAB_STRINGEDITOR ) SendMessage(GetDlgItem(hTabs, WIN_STRINGEDITOR), WM_MOUSEWHEEL, wParam, lParam); else return FALSE; break; default: return FALSE; break; } return TRUE; }
BOOL TrigModifyWindow::DlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch ( msg ) { case WM_SHOWWINDOW: if ( wParam == FALSE && onTrigTextTab() ) trigModifyTextWindow.ParentHidden(); else if ( wParam == FALSE && currTab == TAB_CONDITIONS ) conditionsWindow.HideSuggestions(); return FALSE; break; case WM_ACTIVATE: if ( LOWORD(wParam) != WA_INACTIVE ) chkd.SetCurrDialog(hWnd); else // LOWORD(wParam) == WA_INACTIVE conditionsWindow.HideSuggestions(); return FALSE; break; case WM_NCACTIVATE: if ( (BOOL)wParam == FALSE ) conditionsWindow.HideSuggestions(); return FALSE; break; case WM_INITDIALOG: { SetSmallIcon((HANDLE)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_PROGRAM_ICON), IMAGE_ICON, 16, 16, 0 )); tabs.FindThis(hWnd, IDC_TRIGMODIFYTABS); const char* tabLabels[] = { "General", "Players", "Conditions", "Actions", "Text" }; for ( int i=0; i<sizeof(tabLabels)/sizeof(const char*); i++ ) tabs.InsertTab(i, tabLabels[i]); CreateSubWindows(hWnd); DoSize(); ReplaceChildFonts(defaultFont); RedrawWindow(hWnd, NULL, NULL, RDW_INVALIDATE); } break; case WM_SIZE: DoSize(); break; case WM_CLOSE: ShowWindow(hWnd, SW_HIDE); break; default: return FALSE; break; } return TRUE; }