コード例 #1
0
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);
}
コード例 #2
0
void CEntityDlg::OnBnClickedButtonBrowse() {
    DelProp();
}
コード例 #3
0
/*
=========================
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);
}