📄 globaldata.cpp
字号:
#include "stdafx.h"
#include "GlobalData.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
class CWellDataProcessView;
class CGmgsAnalyseWnd;
class CCurveCompareView;
class CCurveComposeWnd;
extern CCurveComposeWnd* g_pCurveComWnd = NULL;
extern CGmgsAnalyseWnd* g_pAnalyseWnd = NULL;
extern CWellDataProcessView* g_pGmgsView = NULL;
extern CCurveCompareView* g_pCompareView = NULL;
CString GetAppPath()
{
char lpFileName[256];
GetModuleFileName(NULL,lpFileName,256);
int nLen=strlen(lpFileName);
for(int i=nLen;i>=0;i--)
{
if (lpFileName[i]=='\\')
{
lpFileName[i]='\0';
break;
}
}
CString strPath;
strPath=lpFileName;
return strPath;
}
void DrawRect(CDC *pDC, CRect rect, COLORREF color)
{
CPen pen(PS_SOLID, 2, color);
CPen *pOrgPen = pDC->SelectObject(&pen);
pDC->MoveTo (rect.TopLeft());
pDC->LineTo (rect.right - 1,rect.top);
pDC->LineTo (rect.right - 1,rect.bottom -1 );
pDC->LineTo (rect.left ,rect.bottom - 1);
pDC->LineTo (rect.TopLeft ());
pDC->SelectObject(pOrgPen);
}
void DrawRectBottomLine(CDC *pDC, CRect rect)
{
pDC->MoveTo (rect.left, rect.bottom);
pDC->LineTo (rect.right, rect.bottom);
}
void DrawDragRect(CDC* pDC,CRect rect)
{
int nMode = pDC->SetROP2 (R2_NOTXORPEN);
CPen pen(PS_SOLID, 1, COR_RED);
CPen* pOldPen = pDC->SelectObject (&pen);
DrawInterpretFlag(pDC, rect.left, rect.right, rect.bottom);
pDC->SelectObject (pOldPen);
pDC->SetROP2 (nMode);
}
void DrawInterpretFlag(CDC* pDC, int x1, int x2, int y)
{
CPen pen(PS_SOLID, 1, RGB(255, 0, 0));
CPen *pOldPen = pDC->SelectObject(&pen);
pDC->MoveTo(x1, y);
pDC->LineTo(x1 + 8, y - 1);
pDC->LineTo(x1 + 8, y + 1);
pDC->LineTo(x1, y);
pDC->LineTo(x2, y);
pDC->LineTo(x2 - 8, y - 1);
pDC->LineTo(x2 - 8, y + 1);
pDC->LineTo(x2, y);
pDC->SelectObject(pOldPen);
}
void DrawDragLine(BOOL b, CDC *pDC, CPoint pt1, CPoint pt2, COLORREF color, int nWidth)
{
int nMode;
if(b)
nMode = pDC->SetROP2 ( R2_NOTXORPEN);
CPen pen(PS_SOLID, nWidth, color);
CPen* pOldPen = pDC->SelectObject(&pen);
pDC->MoveTo(pt1);
pDC->LineTo(pt2);
pDC->SelectObject (pOldPen);
if(b)
pDC->SetROP2 (nMode);
}
//////////////////////////////////////////////////////////////////////
//
// 进行标注注释输出
//
//////////////////////////////////////////////////////////////////////
void PutText(bool b, int x, int y, int nSizeWord, int nAngle, CString str, CDC *pDC)
{
int nMode;
CFont font;
CFont *oldfont;
font.CreateFont(
nSizeWord, // nHeight
0, // nWidth
nAngle, // nEscapement
0, // nOrientation
500, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
"Bold" // lpszFacename
);
oldfont = pDC->SelectObject(&font);
CSize size = pDC->GetTextExtent(str);
if(b)
{
nMode = pDC->SetBkMode(TRANSPARENT);
}
pDC->SetTextColor(COR_WHITE);
pDC->TextOut(x - size.cx / 2, y - size.cy / 2, str);
pDC->SelectObject(oldfont);
font.DeleteObject();
if(b)
pDC->SetBkMode(nMode);
}
void EraseRect(CDC* pDC,CRect rect,COLORREF color)
{
CBrush brush(color);
CBrush* pOldBrush = pDC->SelectObject (&brush);
pDC->PatBlt(rect.left ,rect.top ,rect.Width(),rect.Height(),PATCOPY);
pDC->SelectObject (pOldBrush);
}
float *conv(float *x,int n1,float *y,int n2)
{ float *x_expand,*y_invert,*z;
int i,n3,j;
if(n1<n2)
conv(y,n2,x,n1);
n3=n2*2-2+n1;
x_expand=(float *)malloc(n3*sizeof(float));
z=(float *)malloc((n2-1+n1)*sizeof(float));
y_invert=(float *)malloc(n2*sizeof(float));
for(i=0;i<n2;i++)
y_invert[i]=y[n2-1-i];
for(i=0;i<n3;i++)
x_expand[i]=0;
for(i=n2-1;i<n2-1+n1;i++)
x_expand[i]=x[i-(n2-1)];
for(i=0;i<n2-1+n1;i++)
{
z[i]=0;
for(j=0;j<n2;j++)
z[i]+=y_invert[j]*x_expand[i+j];
}
free(x_expand);
free(y_invert);
return z;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -