BOOL CEntityDlg::PreTranslateMessage(MSG* pMsg) { // ---> sikk - Added //if ( pMsg->message == WM_LBUTTONDOWN || pMsg->message == WM_RBUTTONDOWN || pMsg->message == WM_MBUTTONDOWN ) { // g_Inspectors->BringWindowToTop(); //} // <--- sikk - Added if (pMsg->hwnd == editVal.GetSafeHwnd()) { if (pMsg->message == WM_LBUTTONDOWN) { editVal.SetFocus(); // return TRUE; // sikk - Don't return so we can do default message handling } } if (pMsg->hwnd == editKey.GetSafeHwnd()) { if (pMsg->message == WM_LBUTTONDOWN) { editKey.SetFocus(); // return TRUE; // sikk - Don't return so we can do default message handling } } if (GetFocus() == &editVal || GetFocus() == &editKey) { if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN ) { AddProp(); return TRUE; } } if (GetFocus() == listKeyVal.GetEditBox()) { if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN ) { listKeyVal.OnChangeEditBox(); listKeyVal.OnSelchange(); listKeyVal.OnKillfocusEditBox(); AddProp(); SetKeyValPairs(); return TRUE; } } if (GetFocus() == &listKeyVal) { if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_DELETE && editEntity) { DelProp(); return TRUE; } } if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_ESCAPE) { if (pMsg->wParam == VK_ESCAPE) { g_pParentWnd->GetCamera()->SetFocus(); Select_Deselect(); } return TRUE; } if ( pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN ) { // keeps ENTER from closing the dialog return TRUE; } if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_TAB) { if (GetFocus()) { int id = GetFocus()->GetDlgCtrlID(); for (int i = 0; i < TabCount; i++) { if (TabOrder[i] == id) { i++; if (i >= TabCount) { i = 0; } CWnd *next = GetDlgItem(TabOrder[i]); if (next) { next->SetFocus(); if (TabOrder[i] == IDC_EDIT_VAL) { editVal.SetSel(0, -1); } return TRUE; } } } } } if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RIGHT && pMsg->hwnd == slFrameSlider.GetSafeHwnd()) { int pos = slFrameSlider.GetPos() + 1; pos = (pos % slFrameSlider.GetRangeMax()); slFrameSlider.SetPos ( pos ); UpdateFromAnimationFrame (); return TRUE; } if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_LEFT && pMsg->hwnd == slFrameSlider.GetSafeHwnd()) { int pos = slFrameSlider.GetPos() - 1; if ( pos < 1 ) { pos = slFrameSlider.GetRangeMax(); } slFrameSlider.SetPos ( pos ); UpdateFromAnimationFrame (); return TRUE; } return CDialog::PreTranslateMessage(pMsg); }
void CEntityDlg::OnBnClickedButtonBrowse() { DelProp(); }
/* ========================= EntityWndProc ========================= */ BOOL CALLBACK EntityWndProc( HWND hwndDlg, // handle to dialog box UINT uMsg, // message WPARAM wParam, // first message parameter LPARAM lParam) // second message parameter { RECT rc; GetClientRect(hwndDlg, &rc); switch (uMsg) { case WM_CHAR : { char c = toupper(LOWORD(wParam)); if (c == 'N') g_pParentWnd->PostMessage(WM_COMMAND, ID_VIEW_ENTITY, 0); else if (c == 'O') g_pParentWnd->PostMessage(WM_COMMAND, ID_VIEW_CONSOLE, 0); else if (c == 'T') g_pParentWnd->PostMessage(WM_COMMAND, ID_VIEW_TEXTURE, 0); else DefWindowProc (hwndDlg, uMsg, wParam, lParam); break; } case WM_SIZE: DefWindowProc (hwndDlg, uMsg, wParam, lParam); break; case WM_DESTROY: SaveWindowPlacement(g_qeglobals.d_hwndEntity, "EntityWindowPlace"); DefWindowProc(hwndDlg, uMsg, wParam, lParam); break; case WM_GETMINMAXINFO: { LPMINMAXINFO lpmmi; lpmmi = (LPMINMAXINFO) lParam; lpmmi->ptMinTrackSize.x = 320; lpmmi->ptMinTrackSize.y = 700; } return 0; case WM_WINDOWPOSCHANGING: { LPWINDOWPOS lpwp; lpwp = (LPWINDOWPOS) lParam; DefWindowProc (hwndDlg, uMsg, wParam, lParam); lpwp->flags |= SWP_NOCOPYBITS; SizeEntityDlg(lpwp->cx-8, lpwp->cy-32); return 0; } return 0; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_BTN_ASSIGNSOUND: AssignSound(); break; case IDC_BTN_ASSIGNMODEL: AssignModel(); break; case IDC_E_DELPROP: DelProp(); SetFocus (g_qeglobals.d_hwndCamera); break; case IDC_E_0: SetKeyValue (edit_entity, "angle", "360"); SetFocus (g_qeglobals.d_hwndCamera); SetKeyValuePairs (); break; case IDC_E_45: SetKeyValue (edit_entity, "angle", "45"); SetFocus (g_qeglobals.d_hwndCamera); SetKeyValuePairs (); break; case IDC_E_90: SetKeyValue (edit_entity, "angle", "90"); SetFocus (g_qeglobals.d_hwndCamera); SetKeyValuePairs (); break; case IDC_E_135: SetKeyValue (edit_entity, "angle", "135"); SetFocus (g_qeglobals.d_hwndCamera); SetKeyValuePairs (); break; case IDC_E_180: SetKeyValue (edit_entity, "angle", "180"); SetFocus (g_qeglobals.d_hwndCamera); SetKeyValuePairs (); break; case IDC_E_225: SetKeyValue (edit_entity, "angle", "225"); SetFocus (g_qeglobals.d_hwndCamera); SetKeyValuePairs (); break; case IDC_E_270: SetKeyValue (edit_entity, "angle", "270"); SetFocus (g_qeglobals.d_hwndCamera); SetKeyValuePairs (); break; case IDC_E_315: SetKeyValue (edit_entity, "angle", "315"); SetFocus (g_qeglobals.d_hwndCamera); SetKeyValuePairs (); break; case IDC_E_UP: SetKeyValue (edit_entity, "angle", "-1"); SetFocus (g_qeglobals.d_hwndCamera); SetKeyValuePairs (); break; case IDC_E_DOWN: SetKeyValue (edit_entity, "angle", "-2"); SetFocus (g_qeglobals.d_hwndCamera); SetKeyValuePairs (); break; case IDC_BTN_HIDE: ::PostMessage(g_qeglobals.d_hwndMain, WM_COMMAND, ID_VIEW_CAMERATOGGLE, 0); break; case IDC_CHECK1: case IDC_CHECK2: case IDC_CHECK3: case IDC_CHECK4: case IDC_CHECK5: case IDC_CHECK6: case IDC_CHECK7: case IDC_CHECK8: case IDC_CHECK9: case IDC_CHECK10: case IDC_CHECK11: case IDC_CHECK12: case IDC_CHECK13: case IDC_CHECK14: case IDC_CHECK15: case IDC_CHECK16: case IDC_CHECK17: case IDC_CHECK18: case IDC_CHECK19: case IDC_CHECK20: case IDC_CHECK21: GetSpawnFlags(); SetFocus (g_qeglobals.d_hwndCamera); break; case IDC_E_PROPS: switch (HIWORD(wParam)) { case LBN_SELCHANGE: EditProp(); return TRUE; } break; case IDC_E_LIST: switch (HIWORD(wParam)) { case LBN_SELCHANGE: { int iIndex; eclass_t *pec; iIndex = SendMessage(hwndEnt[EntList], LB_GETCURSEL, 0, 0); pec = (eclass_t *)SendMessage(hwndEnt[EntList], LB_GETITEMDATA, iIndex, 0); UpdateSel(iIndex, pec); return TRUE; break; } case LBN_DBLCLK: CreateEntity (); SetFocus (g_qeglobals.d_hwndCamera); break; } break; default: return DefWindowProc( hwndDlg, uMsg, wParam, lParam ); } return 0; } return DefWindowProc (hwndDlg, uMsg, wParam, lParam); }