📄 dlgcommon.cpp
字号:
// DlgCommon.cpp : implementation file//#include "stdafx.h"#include "fusion.h"#include "DlgCommon.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// RxDlgCommon dialogRxDlgCommon::RxDlgCommon(CWnd* pParent /*=NULL*/) : CDialog(RxDlgCommon::IDD, pParent){ //{{AFX_DATA_INIT(RxDlgCommon) m_nTransformationMode = 1; m_nDistanceMapMode = 1; m_nLungRenderMode = 0; m_nIRMode = 0; //}}AFX_DATA_INIT m_pParentWnd = pParent; m_bActive = FALSE; m_strCaption = _T(""); m_nGripMargin = 24;}BEGIN_MESSAGE_MAP(RxDlgCommon, CDialog) //{{AFX_MSG_MAP(RxDlgCommon) // NOTE: the ClassWizard will add message map macros here //}}AFX_MSG_MAP ON_WM_NCACTIVATE() ON_WM_NCHITTEST() ON_WM_ERASEBKGND()END_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// RxDlgCommon message handlersBOOL RxDlgCommon::PreTranslateMessage(MSG* pMsg) { if(pMsg->message == WM_KEYDOWN) { if(pMsg->wParam == VK_ESCAPE || pMsg->wParam == VK_RETURN) return FALSE; } return CDialog::PreTranslateMessage(pMsg);}BOOL RxDlgCommon::OnNcActivate(BOOL bActive) { // If you want different look when inactive change this m_bActive = bActive; CRect rcClient, rcTemp; GetClientRect(rcClient); rcTemp.SetRect(rcClient.left, rcClient.top, rcClient.right, rcClient.top+18); InvalidateRect(rcTemp); return TRUE; }// 努扼捞攫飘 康开阑 努腐秦档 母记官甫 努腐茄 巴贸烦 馆券茄促.UINT RxDlgCommon::OnNcHitTest(CPoint point){ UINT nHitTest = CDialog::OnNcHitTest(point); // 母记 困摹 汲沥 CRect rect; GetClientRect(rect); rect.bottom = rect.top + 18; ScreenToClient(&point); if(nHitTest == HTCLIENT && rect.PtInRect(point)) nHitTest = HTCAPTION; return nHitTest;}BOOL RxDlgCommon::OnEraseBkgnd(CDC *pDC){ CRect rcClient; GetClientRect(rcClient); CDC dcMem; CBitmap bmpMem, *pOldBitmap; dcMem.CreateCompatibleDC(pDC); bmpMem.CreateCompatibleBitmap(pDC, rcClient.Width(), rcClient.Height()); pOldBitmap = dcMem.SelectObject(&bmpMem); OnDraw(&dcMem); pDC->BitBlt(0, 0, rcClient.Width(), rcClient.Height(), &dcMem, 0, 0, SRCCOPY); dcMem.SelectObject(pOldBitmap); bmpMem.DeleteObject(); dcMem.DeleteDC(); return TRUE;}void RxDlgCommon::OnDraw(CDC *pDC){ CRect rcClient, rcTemp; GetClientRect(&rcClient); int nSavedDC = pDC->SaveDC(); CBrush brush, *pOldBrush; brush.CreateSolidBrush(m_bActive ? RXCOLOR_500 : RXCOLOR_506); // 母记官 弊府扁(官帕) pOldBrush = pDC->SelectObject(&brush); rcTemp.SetRect(rcClient.left, rcClient.top, rcClient.right, rcClient.top+17); pDC->PatBlt(rcTemp.left, rcTemp.top, rcTemp.Width(), rcTemp.Height(), PATCOPY); pDC->SelectObject(pOldBrush); brush.DeleteObject(); CPen pen, *pOldPen; pen.CreatePen(PS_SOLID, 1, RGB(108,108,108)); pOldPen = pDC->SelectObject(&pen); pDC->MoveTo(rcTemp.left, rcTemp.top+17); pDC->LineTo(rcTemp.right, rcTemp.top+17); pDC->SelectObject(pOldPen); pen.DeleteObject(); // 母记官 弊府扁(扼牢) CPen penLight, penFace, penShadow; penLight.CreatePen (PS_SOLID, 1, m_bActive ? RXCOLOR_501 : RXCOLOR_507); penFace.CreatePen (PS_SOLID, 1, m_bActive ? RXCOLOR_502 : RXCOLOR_508); penShadow.CreatePen (PS_SOLID, 1, m_bActive ? RXCOLOR_503 : RXCOLOR_509); pOldPen = pDC->SelectObject(&penLight); pDC->MoveTo(rcTemp.left+ 8, 5); pDC->LineTo(rcTemp.right-m_nGripMargin, 5); pDC->MoveTo(rcTemp.left+ 8, 9); pDC->LineTo(rcTemp.right-m_nGripMargin, 9); pDC->SelectObject(&penFace); pDC->MoveTo(rcTemp.left+ 8, 6); pDC->LineTo(rcTemp.right-m_nGripMargin, 6); pDC->MoveTo(rcTemp.left+ 8, 10); pDC->LineTo(rcTemp.right-m_nGripMargin, 10); pDC->SelectObject(&penShadow); pDC->MoveTo(rcTemp.left+ 8, 7); pDC->LineTo(rcTemp.right-m_nGripMargin, 7); pDC->MoveTo(rcTemp.left+ 8, 11); pDC->LineTo(rcTemp.right-m_nGripMargin, 11); pDC->SelectObject(pOldPen); penLight.DeleteObject(); penFace.DeleteObject(); penShadow.DeleteObject(); // 母记官 弊府扁(母记) LOGFONT lf; this->GetFont()->GetLogFont(&lf); lf.lfWeight = FW_BOLD; CFont font, *pOldFont; font.CreateFontIndirect(&lf); pOldFont = pDC->SelectObject(&font); CString strTemp; if(m_strCaption.IsEmpty()) strTemp.Empty(); else strTemp = " " + m_strCaption + " "; pDC->SetBkColor(m_bActive ? RXCOLOR_500 : RXCOLOR_506); pDC->SetTextColor(RGB(198,198,198)); rcTemp.OffsetRect(0, 1); pDC->DrawText(strTemp, rcTemp, DT_SINGLELINE|DT_CENTER|DT_VCENTER); pDC->SetBkMode(TRANSPARENT); pDC->SetTextColor(m_bActive ? RGB( 0, 0, 0) : RGB( 78, 78, 78)); rcTemp.OffsetRect(0, -1); pDC->DrawText(strTemp, rcTemp, DT_SINGLELINE|DT_CENTER|DT_VCENTER); pDC->SelectObject(pOldFont); font.DeleteObject(); // 官帕 弊府扁 brush.CreateSolidBrush(RXCOLOR_510); pOldBrush = pDC->SelectObject(&brush); rcTemp.SetRect(rcClient.left, rcClient.top+18, rcClient.right, rcClient.bottom); pDC->PatBlt(rcTemp.left, rcTemp.top, rcTemp.Width(), rcTemp.Height(), PATCOPY); pDC->SelectObject(pOldBrush); brush.DeleteObject(); pDC->RestoreDC(nSavedDC);}/////////////////////////////////////////////////////////////////////////////void RxDlgCommon::DrawHorz(CDC *pDC, int x, int y, int size){ CPen pen, *pOldPen; pen.CreatePen(PS_SOLID, 1, RGB( 48, 48, 48)); pOldPen = pDC->SelectObject(&pen); pDC->MoveTo(x, y); pDC->LineTo(x+size, y); pDC->SelectObject(pOldPen); pen.DeleteObject(); pen.CreatePen(PS_SOLID, 1, RGB(228,228,228)); pOldPen = pDC->SelectObject(&pen); pDC->MoveTo(x, y+1); pDC->LineTo(x+size, y+1); pDC->SelectObject(pOldPen); pen.DeleteObject();}void RxDlgCommon::DrawStatic(CDC *pDC, int x, int y, CString string){ CFont *pOldFont = pDC->SelectObject(GetFont()); pDC->SetBkMode(TRANSPARENT); pDC->TextOut(x, y, string); pDC->SelectObject(pOldFont);}void RxDlgCommon::DrawStaticBox(CDC *pDC, CRect rect, CString string){ int nSavedDC = pDC->SaveDC(); pDC->Draw3dRect(rect, RGB(228,228,228), RGB(228,228,228)); rect.OffsetRect(-1,-1); pDC->Draw3dRect(rect, RGB( 48, 48, 48), RGB( 48, 48, 48)); pDC->SetBkColor(RXCOLOR_510); pDC->SetBkMode(OPAQUE); pDC->SetTextColor(RGB( 0, 0, 0)); if(!string.IsEmpty()) { LOGFONT lf; GetFont()->GetLogFont(&lf); lf.lfWeight = FW_BOLD; CFont font, *pOldFont; font.CreateFontIndirect(&lf); pOldFont = pDC->SelectObject(&font); string = " " + string + " "; pDC->TextOut(rect.left+10, rect.top-6, string); pDC->SelectObject(pOldFont); font.DeleteObject(); } pDC->RestoreDC(nSavedDC);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -