📄 framemain.cpp
字号:
m_pFMWndVR[RXSERIES_COM]->ShowDlgMixing(TRUE); } } UpdateWindow(); }}void RxFrameMain::RecalcLayout(int nRecalc){ int nCurMainMenu = RxGetCurMainMenu(); if(nCurMainMenu == IDF_TOP_3DFUSION) Frame3DF_Recalc(nRecalc);}/////////////////////////////////////////////////////////////////////////////void RxFrameMain::Frame3DF_InitSplitter(){ m_n3DFMatrix = FRAME_MATRIX_32; m_n3DFSeries = RXSERIES_REF; m_b3DFMPR = FALSE; m_n3DFLocalMin = -1; m_n3DFLocalMax = -1; m_nTBCurMode = BTN_ZOOM; m_pSpFrame3DF0_X1->Unbind(); m_pSpFrame3DF0_X1->BindToView(this, 200, 200); m_pSpFrame3DF0_X1->AttachAsLeftPane(IDF_MAIN_WND_VR_R); m_pSpFrame3DF0_X1->AttachAsRightPane(IDF_MAIN_WND_3DLOCALA_R); m_pSpFrame3DF0_X1->AttachAsRightPane(IDF_MAIN_SPB_3DF0_Y1); m_pSpFrame3DF0_X1->AttachAsRightPane(IDF_MAIN_WND_3DLOCALC_R); m_pSpFrame3DF0_X1->AttachAsRightPane(IDF_MAIN_SPB_3DF0_Y2); m_pSpFrame3DF0_X1->AttachAsRightPane(IDF_MAIN_WND_3DLOCALS_R); m_pSpFrame3DF0_Y1->Unbind(); m_pSpFrame3DF0_Y1->BindToView(this, 18, 18); m_pSpFrame3DF0_Y1->AttachAsTopPane(IDF_MAIN_WND_3DLOCALA_R); m_pSpFrame3DF0_Y1->AttachAsBottomPane(IDF_MAIN_WND_3DLOCALC_R); m_pSpFrame3DF0_Y2->Unbind(); m_pSpFrame3DF0_Y2->BindToView(this, 18, 18); m_pSpFrame3DF0_Y2->AttachAsTopPane(IDF_MAIN_WND_3DLOCALC_R); m_pSpFrame3DF0_Y2->AttachAsBottomPane(IDF_MAIN_WND_3DLOCALS_R); m_pSpFrame3DF1_X1->Unbind(); m_pSpFrame3DF1_X1->BindToView(this, 200, 200); m_pSpFrame3DF1_X1->AttachAsLeftPane(IDF_MAIN_WND_VR_R); m_pSpFrame3DF1_X1->AttachAsRightPane(IDF_MAIN_WND_3DLOCALA_R);}void RxFrameMain::Frame3DF_InitVRWnd(){ m_pFMWndVR[2]->VR_Initialize();}void RxFrameMain::Frame3DF_OnChangedMenu(){ int nSeries = RxGetCurSeries(); if(nSeries != m_n3DFSeries) m_n3DFSeries = nSeries; Frame3DF_FrameShow();}void RxFrameMain::Frame3DF_OnChangedSeries(int nCurSeries){ // yeni 2004.04.23 // for drawing red/blue edge in localizer// if(m_nTBCurMode == BTN_3DSRG)// m_nTBCurMode = BTN_PAN; if(m_n3DFSeries == nCurSeries) return; if(m_n3DFSeries == RXSERIES_COM && m_pFMWndVR[RXSERIES_COM]->GetBtnMixing()) m_pFMWndVR[RXSERIES_COM]->ShowDlgMixing(FALSE); Frame3DF_FrameHide(FALSE); // update localizer slider position int nMinPo, nMaxPo; m_pFMWnd3DLocalA[m_n3DFSeries]->GetSliderPos(nMinPo, nMaxPo); m_pFMWnd3DLocalA[nCurSeries]->SetSliderPos(nMinPo, nMaxPo, TRUE); m_pFMWnd3DLocalC[m_n3DFSeries]->GetSliderPos(nMinPo, nMaxPo); m_pFMWnd3DLocalC[nCurSeries]->SetSliderPos(nMinPo, nMaxPo, TRUE); m_pFMWnd3DLocalS[m_n3DFSeries]->GetSliderPos(nMinPo, nMaxPo); m_pFMWnd3DLocalS[nCurSeries]->SetSliderPos(nMinPo, nMaxPo, TRUE); m_n3DFSeries = nCurSeries; if(m_n3DFSeries == RXSERIES_COM && m_pFMWndVR[RXSERIES_COM]->GetBtnMixing()) m_pFMWndVR[RXSERIES_COM]->ShowDlgMixing(TRUE); CRect rcOldVR, rcNewVR; m_pFMWndVR[m_n3DFSeries]->GetWindowRect(rcOldVR); m_pFMWndVR[m_n3DFSeries]->ReCalMeasureVolume(FALSE); Frame3DF_FrameShow(); m_pFMWndVR[m_n3DFSeries]->GetWindowRect(rcNewVR); // 矫府令 傈券矫 OnSize 溜 拳搁俊 Volume俊 措茄 Update啊 登绢 乐瘤 救栏搁 荐悼栏肺 秦霖促. if(rcOldVR == rcNewVR) { if(m_nTBCurMode == BTN_3DMPR_BASIC) theFMDocVR.MPR_Initialize(CSize(rcNewVR.Width(), rcNewVR.Height())); m_pFMWndVR[m_n3DFSeries]->RedrawWnd(TRUE); } if(m_n3DFSeries == RXSERIES_COM){ m_pFMWnd3DMPR[m_n3DFSeries]->RedrawWnd(TRUE); if(m_nTBCurMode == BTN_MEASURE_DISTANCE || m_nTBCurMode == BTN_MEASURE_AREA || m_nTBCurMode == BTN_MEASURE_VOLUME) m_nTBCurMode = BTN_ZOOM; } }void RxFrameMain::Frame3DF_OnChangedMatrix(int nMatrix){ if(m_n3DFMatrix == nMatrix) return; Frame3DF_FrameHide(); m_n3DFMatrix = nMatrix; Frame3DF_FrameShow();}void RxFrameMain::Frame3DF_FrameShow(){ if(m_n3DFMatrix == FRAME_MATRIX_12) { if(m_n3DFSeries == RXSERIES_REF) { m_pSpFrame3DF1_X1->m_leftIDs.SetAt(0, IDF_MAIN_WND_VR_R); if(m_b3DFMPR) m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DMPR_R); else if(m_n3DFLocalMax == 0) m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_R); else if(m_n3DFLocalMax == 1) m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_R); else if(m_n3DFLocalMax == 2) m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALS_R); } else if(m_n3DFSeries == RXSERIES_FLT) { m_pSpFrame3DF1_X1->m_leftIDs.SetAt(0, IDF_MAIN_WND_VR_F); if(m_b3DFMPR) m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DMPR_F); else if(m_n3DFLocalMax == 0) m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_F); else if(m_n3DFLocalMax == 1) m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_F); else if(m_n3DFLocalMax == 2) m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALS_F); } else if(m_n3DFSeries == RXSERIES_COM) { m_pSpFrame3DF1_X1->m_leftIDs.SetAt(0, IDF_MAIN_WND_VR_C); if(m_b3DFMPR) m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DMPR_C); else if(m_n3DFLocalMax == 0) m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_C); else if(m_n3DFLocalMax == 1) m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_C); else if(m_n3DFLocalMax == 2) m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALS_C); } Frame3DF_Recalc(FRAME_RECALC_PART); RxSetActiveWnd(m_pFMWndVR[m_n3DFSeries]); m_pSpFrame3DF1_X1->VisibleAllPane(TRUE); } else if(m_n3DFMatrix == FRAME_MATRIX_32) { if(m_n3DFSeries == RXSERIES_REF) { m_pSpFrame3DF0_X1->m_leftIDs.SetAt(0, IDF_MAIN_WND_VR_R); m_pSpFrame3DF0_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_R); m_pSpFrame3DF0_X1->m_rightIDs.SetAt(2, IDF_MAIN_WND_3DLOCALC_R); m_pSpFrame3DF0_X1->m_rightIDs.SetAt(4, IDF_MAIN_WND_3DLOCALS_R); m_pSpFrame3DF0_Y1->m_topIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_R); m_pSpFrame3DF0_Y1->m_bottomIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_R); m_pSpFrame3DF0_Y2->m_topIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_R); m_pSpFrame3DF0_Y2->m_bottomIDs.SetAt(0, IDF_MAIN_WND_3DLOCALS_R); } else if(m_n3DFSeries == RXSERIES_FLT) { m_pSpFrame3DF0_X1->m_leftIDs.SetAt(0, IDF_MAIN_WND_VR_F); m_pSpFrame3DF0_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_F); m_pSpFrame3DF0_X1->m_rightIDs.SetAt(2, IDF_MAIN_WND_3DLOCALC_F); m_pSpFrame3DF0_X1->m_rightIDs.SetAt(4, IDF_MAIN_WND_3DLOCALS_F); m_pSpFrame3DF0_Y1->m_topIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_F); m_pSpFrame3DF0_Y1->m_bottomIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_F); m_pSpFrame3DF0_Y2->m_topIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_F); m_pSpFrame3DF0_Y2->m_bottomIDs.SetAt(0, IDF_MAIN_WND_3DLOCALS_F); } else if(m_n3DFSeries == RXSERIES_COM) { m_pSpFrame3DF0_X1->m_leftIDs.SetAt(0, IDF_MAIN_WND_VR_C); m_pSpFrame3DF0_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_C); m_pSpFrame3DF0_X1->m_rightIDs.SetAt(2, IDF_MAIN_WND_3DLOCALC_C); m_pSpFrame3DF0_X1->m_rightIDs.SetAt(4, IDF_MAIN_WND_3DLOCALS_C); m_pSpFrame3DF0_Y1->m_topIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_C); m_pSpFrame3DF0_Y1->m_bottomIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_C); m_pSpFrame3DF0_Y2->m_topIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_C); m_pSpFrame3DF0_Y2->m_bottomIDs.SetAt(0, IDF_MAIN_WND_3DLOCALS_C); } Frame3DF_Recalc(FRAME_RECALC_PART); RxSetActiveWnd(m_pFMWndVR[m_n3DFSeries]); m_pSpFrame3DF0_X1->VisibleAllPane(TRUE); }}void RxFrameMain::Frame3DF_FrameHide(BOOL bWithPane){ if(m_n3DFMatrix == FRAME_MATRIX_12) { if(bWithPane) m_pSpFrame3DF1_X1->VisibleAllPane(FALSE); else { m_pSpFrame3DF1_X1->VisibleLeftPane(FALSE); m_pSpFrame3DF1_X1->VisibleRightPane(FALSE); } } else if(m_n3DFMatrix == FRAME_MATRIX_32) { if(bWithPane) m_pSpFrame3DF0_X1->VisibleAllPane(FALSE); else { m_pSpFrame3DF0_X1->VisibleLeftPane(FALSE); m_pSpFrame3DF0_Y1->VisibleTopPane(FALSE); m_pSpFrame3DF0_Y2->VisibleTopPane(FALSE); m_pSpFrame3DF0_Y2->VisibleBottomPane(FALSE); } }}void RxFrameMain::Frame3DF_Recalc(int nRecalc){ CRect rcFClient; CRect rcSplitX1, rcSplitY1, rcSplitY2; RxGetMainFrame()->GetFrameRectMain(rcFClient); if(m_n3DFMatrix == FRAME_MATRIX_12) { m_pSpFrame3DF1_X1->GetClientRect(rcSplitX1); if(nRecalc == FRAME_RECALC_ALL || rcSplitX1.IsRectEmpty()) { int nCenterX = rcFClient.CenterPoint().x; rcSplitX1.SetRect(nCenterX-SPLIT_SIZE, rcFClient.top, nCenterX+SPLIT_SIZE, rcFClient.bottom); m_pSpFrame3DF1_X1->MoveWindow(rcSplitX1); } else if(nRecalc == FRAME_RECALC_PART) { m_pSpFrame3DF1_X1->GetWindowRect(rcSplitX1); ScreenToClient(rcSplitX1); rcSplitX1.bottom = rcFClient.bottom; m_pSpFrame3DF1_X1->MoveWindow(rcSplitX1); } else if(nRecalc == FRAME_RECALC_NO) { m_pSpFrame3DF1_X1->GetWindowRect(rcSplitX1); ScreenToClient(rcSplitX1); } CWnd *pWnd; CRect rcWnd; rcWnd.SetRect(rcFClient.left, rcSplitX1.top, rcSplitX1.left, rcSplitX1.bottom); pWnd = (CWnd *)GetDlgItem(m_pSpFrame3DF1_X1->m_leftIDs.GetAt(0)); pWnd->MoveWindow(rcWnd); rcWnd.SetRect(rcSplitX1.right, rcSplitX1.top, rcFClient.right, rcSplitX1.bottom); pWnd = (CWnd *)GetDlgItem(m_pSpFrame3DF1_X1->m_rightIDs.GetAt(0)); pWnd->MoveWindow(rcWnd); } else if(m_n3DFMatrix == FRAME_MATRIX_32) { m_pSpFrame3DF0_X1->GetClientRect(rcSplitX1); if(nRecalc == FRAME_RECALC_ALL || rcSplitX1.IsRectEmpty()) { int nCenterX1 = (rcFClient.Width() * 7) / 10; int nCenterY1 = rcFClient.Height() / 3; int nCenterY2 = nCenterY1 * 2; rcSplitX1.SetRect(nCenterX1-SPLIT_SIZE, rcFClient.top, nCenterX1+SPLIT_SIZE, rcFClient.bottom); m_pSpFrame3DF0_X1->MoveWindow(rcSplitX1); rcSplitY1.SetRect(nCenterX1+SPLIT_SIZE, nCenterY1-SPLIT_SIZE, rcFClient.right, nCenterY1+SPLIT_SIZE); m_pSpFrame3DF0_Y1->MoveWindow(rcSplitY1); rcSplitY2.SetRect(nCenterX1+SPLIT_SIZE, nCenterY2-SPLIT_SIZE, rcFClient.right, nCenterY2+SPLIT_SIZE); m_pSpFrame3DF0_Y2->MoveWindow(rcSplitY2); } else if(nRecalc == FRAME_RECALC_PART) { int nCenterY1 = rcFClient.Height() / 3; int nCenterY2 = nCenterY1 * 2; int nCenterY3 = (rcFClient.Height() - SPLIT_SIZE*4 - 18) / 2; m_pSpFrame3DF0_X1->GetWindowRect(rcSplitX1); ScreenToClient(rcSplitX1); rcSplitX1.bottom = rcFClient.bottom; m_pSpFrame3DF0_X1->MoveWindow(rcSplitX1); if(m_n3DFLocalMin == 0) { rcSplitY1.left = rcSplitX1.right; rcSplitY1.right = rcFClient.right; rcSplitY1.top = rcFClient.top+18; rcSplitY1.bottom = rcSplitY1.top+SPLIT_SIZE*2; m_pSpFrame3DF0_Y1->MoveWindow(rcSplitY1); rcSplitY2.left = rcSplitY1.left; rcSplitY2.right = rcSplitY1.right; rcSplitY2.top = rcSplitY1.bottom+nCenterY3; rcSplitY2.bottom = rcSplitY2.top+SPLIT_SIZE*2; m_pSpFrame3DF0_Y2->MoveWindow(rcSplitY2); } else if(m_n3DFLocalMin == 1) { rcSplitY1.left = rcSplitX1.right; rcSplitY1.right = rcFClient.right; rcSplitY1.top = nCenterY3; rcSplitY1.bottom = rcSplitY1.top+SPLIT_SIZE*2; m_pSpFrame3DF0_Y1->MoveWindow(rcSplitY1); rcSplitY2.left = rcSplitY1.left; rcSplitY2.right = rcSplitY1.right; rcSplitY2.top = rcSplitY1.bottom+18; rcSplitY2.bottom = rcSplitY2.top+SPLIT_SIZE*2; m_pSpFrame3DF0_Y2->MoveWindow(rcSplitY2); } else if(m_n3DFLocalMin == 2) { rcSplitY1.left = rcSplitX1.right; rcSplitY1.right = rcFClient.right; rcSplitY1.top = nCenterY3; rcSplitY1.bottom = rcSplitY1.top+SPLIT_SIZE*2; m_pSpFrame3DF0_Y1->MoveWindow(rcSplitY1); rcSplitY2.left = rcSplitY1.left; rcSplitY2.right = rcSplitY1.right; rcSplitY2.top = rcFClient.bottom-18-SPLIT_SIZE*2; rcSplitY2.bottom = rcFClient.bottom-18; m_pSpFrame3DF0_Y2->MoveWindow(rcSplitY2); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -