⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ana2_32view.cpp

📁 VC环境下电力系统故障录波数据管理系统
💻 CPP
📖 第 1 页 / 共 3 页
字号:
// Ana2_32View.cpp : implementation file
//

#include "stdafx.h"
#include "wgl_32.h"
#include "Ana2_32View.h"

#include "math.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

const COLORREF ARGB = RGB(255,255,0);
const COLORREF BRGB = RGB(0,  255,0);
const COLORREF CRGB = RGB(255,0,  0);
#define PI 3.1415926

/////////////////////////////////////////////////////////////////////////////
// CAna2_32View

IMPLEMENT_DYNCREATE(CAna2_32View, CAna_32View)

CAna2_32View::CAna2_32View()
{WyyFactor = 0;}

CAna2_32View::~CAna2_32View()
{}


BEGIN_MESSAGE_MAP(CAna2_32View, CAna_32View)
	//{{AFX_MSG_MAP(CAna2_32View)
	ON_WM_LBUTTONDOWN()
	ON_WM_LBUTTONUP()
	ON_WM_RBUTTONDOWN()
	ON_WM_RBUTTONUP()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAna2_32View drawing

void CAna2_32View::OnDraw(CDC* pDC)
{
		
    CWgl_32Doc* pDoc = GetDocument();
	if(pDoc->AnaError)
		{ pDC->TextOut(100, 80, "无法正确取得故障线路的数据!"); return; }
	if(pDoc->m_FaultLineNo == -1)
		{  pDC->TextOut(100,100, "无故障线路!");	return;  }
	FFT();     

	CPen Pen[2][3], *OldPen;
	//CBrush Brush[3], *OldBrush;
	//LOGBRUSH lb;
    CRect rect;
	GetClientRect( &rect );
	WORD CurveHeigh = m_HalfCurveHeigh*2;
	
	int xl = rect.left+10;
	int xr = rect.right;
	int yt = rect.top+10;
	int yb = rect.bottom;
	int i;
    Pen[0][0].CreatePen(PS_SOLID, 1, ARGB);
	Pen[0][1].CreatePen(PS_SOLID, 1, BRGB);
	Pen[0][2].CreatePen(PS_SOLID, 1, CRGB);

	Pen[1][0].CreatePen(PS_SOLID, 1, ARGB);
	Pen[1][1].CreatePen(PS_SOLID, 1, BRGB);
	Pen[1][2].CreatePen(PS_SOLID, 1, CRGB);

/*	lb.lbStyle = BS_SOLID;
	lb.lbColor = ARGB;
    Brush[0].CreateBrushIndirect(&lb);
	lb.lbStyle = BS_SOLID;
	lb.lbColor = BRGB;
    Brush[1].CreateBrushIndirect(&lb);
	lb.lbStyle = BS_SOLID;
	lb.lbColor = CRGB;
    Brush[2].CreateBrushIndirect(&lb);*/

	as = -0.5;  ax = sqrt(3)/2.;
	bs = -0.5;  bx = -sqrt(3)/2.;
  
   /////////////////////  UUUUUU ////////////////////////
	Uas = A[0][1] + A[1][1] + A[2][1];  //ua实部
	Uax = B[0][1] + B[1][1] + B[2][1];  //ua虚部

	Ua = sqrt(Uas*Uas + Uax*Uax)/3.0;
	
	if(Uas<0)Ualpha[0] = 180 + atan(Uax/Uas)*180/PI;
	else   Ualpha[0] = atan(Uax/Uas)*180/PI;


	Ubs = A[0][1] + (as*A[1][1] -ax*B[1][1]) + (bs*A[2][1] - bx*B[2][1]);  //ub实部
    Ubx = B[0][1] + (as*B[1][1] +ax*A[1][1]) + (bs*B[2][1] + bx*A[2][1]);  //ub虚部

	Ub = sqrt(Ubs*Ubs + Ubx*Ubx)/3.0;
	if(Ubs<0) Ualpha[1] = atan(Ubx/Ubs)*180/PI +180;
	else Ualpha[1] = atan(Ubx/Ubs)*180/PI;

    Ucs = A[0][1] + (bs*A[1][1] -bx*B[1][1]) + (as*A[2][1] - ax*B[2][1]);  //uc实部
    Ucx = B[0][1] + (bs*B[1][1] +bx*A[1][1]) + (as*B[2][1] + ax*A[2][1]);  //uc虚部

	Uc = sqrt(Ucs*Ucs + Ucx*Ucx)/3.0;
    if(Ucs<0) Ualpha[2] = 180 + atan(Ucx/Ucs)*180/PI;
	else Ualpha[2] = atan(Ucx/Ucs)*180/PI;

    /////// Fa0, Fb0, Fc0  ///////
	Fa0s[0] = Ua*cos(Ualpha[0]*PI/180.);
	Fa0x[0] = Ua*sin(Ualpha[0]*PI/180.);
	Fa0[0]  = Ua;
	F0alpha[0][0] = Ualpha[0];

	Fb0s[0] = Fa0s[0];
	Fb0x[0] = Fa0x[0];
	Fb0[0]  = Ua;
	F0alpha[0][1] = Ualpha[0];

    Fc0s[0] = Fa0s[0];
	Fc0x[0] = Fa0x[0];
	Fc0[0]  = Ua;
	F0alpha[0][2] = Ualpha[0];
		   
    /////// Fa1, Fb1, Fc1    ///////
	Fa1s[0] = Ub*cos(Ualpha[1]*PI/180.);
	Fa1x[0] = Ub*sin(Ualpha[1]*PI/180.);
	Fa1[0] = Ub;
	F1alpha[0][0] = Ualpha[1];

    Fb1s[0] = bs*Fa1s[0] - bx*Fa1x[0];
	Fb1x[0] = bs*Fa1x[0] + bx*Fa1s[0];

	Fb1[0] = sqrt(Fb1s[0]*Fb1s[0] + Fb1x[0]*Fb1x[0]);
    if(Fb1s[0] < 0) F1alpha[0][1] = 180 + 180*atan(Fb1x[0]/Fb1s[0])/PI;
	else  F1alpha[0][1] =  180*atan(Fb1x[0]/Fb1s[0])/PI;

    Fc1s[0] = as*Fa1s[0] - ax*Fa1x[0];
	Fc1x[0] = as*Fa1x[0] + ax*Fa1s[0];

	Fc1[0] = sqrt(Fc1s[0]*Fc1s[0] + Fc1x[0]*Fc1x[0]);
    if(Fc1s[0] < 0) F1alpha[0][2] = 180 + atan(Fc1x[0]/Fc1s[0])*180/PI;
	else F1alpha[0][2] =  atan(Fc1x[0]/Fc1s[0])*180/PI;

    ////////////// Fa2, Fb2, Fc2 /////////////////
	Fa2s[0] = Uc*cos(Ualpha[2]*PI/180.);
	Fa2x[0] = Uc*sin(Ualpha[2]*PI/180.);
	Fa2[0] = Uc;
    F2alpha[0][0] = Ualpha[2];

	Fb2s[0] = as*Fa2s[0] - ax*Fa2x[0];
    Fb2x[0] = as*Fa2x[0] + ax*Fa2s[0];
	Fb2[0] = sqrt(Fb2s[0]*Fb2s[0] + Fb2x[0]*Fb2x[0]);
	if(Fb2s[0] < 0) F2alpha[0][1] = 180 + 180*atan(Fb2x[0]/Fb2s[0])/PI;
	else  F2alpha[0][1] =  180*atan(Fb2x[0]/Fb2s[0])/PI;

    Fc2s[0] = bs*Fa2s[0] - bx*Fa2x[0];
	Fc2x[0] = bs*Fa2x[0] + bx*Fa2s[0];
	
	Fc2[0] = sqrt(Fc2s[0]*Fc2s[0] + Fc2x[0]*Fc2x[0]);
    if(Fc2s[0] < 0) F2alpha[0][2] = 180 + atan(Fc2x[0]/Fc2s[0])*180/PI;
	else F2alpha[0][2] =  atan(Fc2x[0]/Fc2s[0])*180/PI;


    ////////////// Fa, Fb, Fc /////////////////
	Fas[0] = Fa0s[0] + Fa1s[0] + Fa2s[0];
	Fax[0] = Fa0x[0] + Fa1x[0] + Fa2x[0];
	Fa[0] = sqrt(Fas[0]*Fas[0] + Fax[0]*Fax[0]);
    if(Fas[0] < 0)Falpha[0][0] = 180 + atan(Fax[0]/Fas[0])*180/PI;
	else Falpha[0][0] =  atan(Fax[0]/Fas[0])*180/PI;


    Fbs[0] = Fb0s[0] + Fb1s[0] + Fb2s[0];
	Fbx[0] = Fb0x[0] + Fb1x[0] + Fb2x[0];
	Fb[0] = sqrt(Fbs[0]*Fbs[0] + Fbx[0]*Fbx[0]);
    if(Fbs[0] < 0)Falpha[0][1] = 180 + atan(Fbx[0]/Fbs[0])*180/PI;
	else Falpha[0][1] = atan(Fbx[0]/Fbs[0])*180/PI;

    Fcs[0] = Fc0s[0] + Fc1s[0] + Fc2s[0];
	Fcx[0] = Fc0x[0] + Fc1x[0] + Fc2x[0];
	Fc[0] = sqrt(Fcs[0]*Fcs[0] + Fcx[0]*Fcx[0]);
    if(Fcs[0] < 0)Falpha[0][2] = 180 + atan(Fcx[0]/Fcs[0])*180/PI;
	else Falpha[0][2] = atan(Fcx[0]/Fcs[0])*180/PI;
	
    ///////////////////   IIIIII   //////// 
	Ias = A[4][1] + A[5][1] + A[6][1];  //ua实部
	Iax = B[4][1] + B[5][1] + B[6][1];  //ua虚部

	Ia = sqrt(Ias*Ias + Iax*Iax)/3.0;
	if(Ias < 0) Ialpha[0] = 180 + 180*atan(Iax/Ias)/PI;
	else Ialpha[0] = 180*atan(Iax/Ias)/PI;

	Ibs = A[4][1] + (as*A[5][1] -ax*B[5][1]) + (bs*A[6][1] - bx*B[6][1]);  //ub实部
    Ibx = B[4][1] + (as*B[5][1] +ax*A[5][1]) + (bs*B[6][1] + bx*A[6][1]);  //ub虚部

	Ib = sqrt(Ibs*Ibs + Ibx*Ibx)/3.0;
	if(Ibs < 0)Ialpha[1] = 180 + 180*atan(Ibx/Ibs)/PI;
	else Ialpha[1] = 180*atan(Ibx/Ibs)/PI;

    Ics = A[4][1] + (bs*A[5][1] -bx*B[5][1]) + (as*A[6][1] - ax*B[6][1]);  //uc实部
    Icx = B[4][1] + (bs*B[5][1] +bx*A[5][1]) + (as*B[6][1] + ax*A[6][1]);  //uc虚部

	Ic = sqrt(Ics*Ics + Icx*Icx)/3.0;
	if(Ics < 0) Ialpha[2] = 180 + 180*atan(Icx/Ics)/PI;
	else Ialpha[2] = 180*atan(Icx/Ics)/PI;

    /////// Fa0, Fb0, Fc0  ///////
	Fa0s[1] = Ia*cos(Ialpha[0]*PI/180.);
	Fa0x[1] = Ia*sin(Ialpha[0]*PI/180.);
	Fa0[1]  = Ia;
	F0alpha[1][0] = Ialpha[0];

	Fb0s[1] = Fa0s[1];
	Fb0x[1] = Fa0x[1];
	Fb0[1]  = Ia;
	F0alpha[1][1] = Ialpha[0];

    Fc0s[1] = Fa0s[1];
	Fc0x[1] = Fa0x[1];
	Fc0[1]  = Ia;
	F0alpha[1][2] = Ialpha[0];

    //////// Fa1, Fb1 ,Fc1 //////////////////
	Fa1s[1] = Ib*cos(Ialpha[1]*PI/180.);
	Fa1x[1] = Ib*sin(Ialpha[1]*PI/180.);
    Fa1[1]  = Ib;
    F1alpha[1][0] = Ialpha[1];

    Fb1s[1] = bs*Fa1s[1] - bx*Fa1x[1];
	Fb1x[1] = bs*Fa1x[1] + bx*Fa1s[1];

	Fb1[1] = sqrt(Fb1s[1]*Fb1s[1] + Fb1x[1]*Fb1x[1]);
    if(Fb1s[1] < 0) F1alpha[1][1] = 180 + 180*atan(Fb1x[1]/Fb1s[1])/PI;
	else F1alpha[1][1] = 180*atan(Fb1x[1]/Fb1s[1])/PI;

    Fc1s[1] = as*Fa1s[1] - ax*Fa1x[1];
	Fc1x[1] = as*Fa1x[1] + ax*Fa1s[1];

	Fc1[1] = sqrt(Fc1s[1]*Fc1s[1] + Fc1x[1]*Fc1x[1]);
    if(Fc1s[1] < 0) F1alpha[1][2] = 180 + 180*atan(Fc1x[1]/Fc1s[1])/PI;
	else F1alpha[1][2]  = 180*atan(Fc1x[1]/Fc1s[1])/PI;

    //////////// Fa2, Fb2, Fc2 ////////////
	Fa2s[1] = Ic*cos(Ialpha[2]*PI/180.);
	Fa2x[1] = Ic*sin(Ialpha[2]*PI/180.);
	Fa2[1]  = Ic;
    F2alpha[1][0] = Ialpha[2];

	Fb2s[1] = as*Fa2s[1] - ax*Fa2x[1];
    Fb2x[1] = as*Fa2x[1] + ax*Fa2s[1];
	Fb2[1]  = sqrt(Fb2s[1]*Fb2s[1] + Fb2x[1]*Fb2x[1]);
	if(Fb2s[1] < 0) F2alpha[1][1] = 180 + 180*atan(Fb2x[1]/Fb2s[1])/PI;
	else  F2alpha[1][1] =  180*atan(Fb2x[1]/Fb2s[1])/PI;

    Fc2s[1] = bs*Fa2s[1] - bx*Fa2x[1];
	Fc2x[1] = bs*Fa2x[1] + bx*Fa2s[1];
	
	Fc2[1] = sqrt(Fc2s[1]*Fc2s[1] + Fc2x[1]*Fc2x[1]);
    if(Fc2s[1] < 0) F2alpha[1][2] = 180 + atan(Fc2x[1]/Fc2s[1])*180/PI;
	else F2alpha[1][2] =  atan(Fc2x[1]/Fc2s[1])*180/PI;

////////////// Fa, Fb, Fc /////////////////
	Fas[1] = Fa0s[1] + Fa1s[1] + Fa2s[1];
	Fax[1] = Fa0x[1] + Fa1x[1] + Fa2x[1];
	Fa[1] = sqrt(Fas[1]*Fas[1] + Fax[1]*Fax[1]);
    if(Fas[1] < 0)Falpha[1][0] = 180 + atan(Fax[1]/Fas[1])*180/PI;
	else Falpha[1][0] =  atan(Fax[1]/Fas[1])*180/PI;


    Fbs[1] = Fb0s[1] + Fb1s[1] + Fb2s[1];
	Fbx[1] = Fb0x[1] + Fb1x[1] + Fb2x[1];
	Fb[1] = sqrt(Fbs[1]*Fbs[1] + Fbx[1]*Fbx[1]);
    if(Fbs[1] < 0)Falpha[1][1] = 180 + atan(Fbx[1]/Fbs[1])*180/PI;
	else Falpha[1][1] = atan(Fbx[1]/Fbs[1])*180/PI;

    Fcs[1] = Fc0s[1] + Fc1s[1] + Fc2s[1];
	Fcx[1] = Fc0x[1] + Fc1x[1] + Fc2x[1];
	Fc[1] = sqrt(Fcs[1]*Fcs[1] + Fcx[1]*Fcx[1]);
    if(Fcs[1] < 0)Falpha[1][2] = 180 + atan(Fcx[1]/Fcs[1])*180/PI;
	else Falpha[1][2] = atan(Fcx[1]/Fcs[1])*180/PI;
    ////////////////////////////////////////

    int  xo, yo, xn,yn, xm, ym, xp, yp;
    double MaxU,MaxI;
    MaxU = max(Fa0[0], Fa1[0]);
    MaxU = max(MaxU, Fa2[0]);
    MaxU = max(MaxU, Fa[0]);
	FactorU[0] = 100.0/MaxU;
    
    MaxI = max(Fa0[1], Fa1[1]);
    MaxI = max(MaxI, Fa2[1]);
	MaxI = max(MaxI, Fa[1]);
    FactorU[1] = 100.0/MaxI + WyyFactor;
    int Alength = 16;
    int Awidth = 3;

    char tempstr[2][2]  = {"U","I"};
	char tempstr1[20];
	
	pDC->SetBkColor(RGB(64,128,128));
	int xd = 80;
    int width = 11;
	int r = 4;
    CFont FontD, FontX, *OldFont;
  
    FontD.CreatePointFont(110, "Times New Roman");
    FontX.CreatePointFont(90,  "Times New Roman");

	pDC->SetBkMode(OPAQUE);
	OldFont  =  pDC->SelectObject(&FontX);
	OldPen   =  pDC->SelectObject(&Pen[0][0]);
//	OldBrush =  pDC->SelectObject(&Brush[0]);

  for(i=0; i<2; i++)
  {
	xo = 180; 
	yo = 200;

	//////////////// U Fa1
	//pDC->SelectObject(&Brush[0]);
	pDC->SelectObject(&Pen[i][0]);
    pDC->MoveTo(xo, yo);
    xn = xo + int(FactorU[i]*Fa1s[i]);
    yn = yo - int(FactorU[i]*Fa1x[i]);
    xm = xn - int(Alength*cos(F1alpha[i][0]*PI/180.));
    ym = yn + int(Alength*sin(F1alpha[i][0]*PI/180.));
	if(i==0)
	{
    pDC->LineTo(xm, ym);
	pDC->MoveTo(xn, yn);
    pDC->LineTo(xm-int(Awidth*sin(F1alpha[i][0]*PI/180.)), int(ym - Awidth*cos(F1alpha[i][0]*PI/180.)));
    pDC->LineTo(xm+int(Awidth*sin(F1alpha[i][0]*PI/180.)), int(ym + Awidth*cos(F1alpha[i][0]*PI/180.)));
    pDC->LineTo(xn, yn);
	}
	//if(i==1)pDC->FloodFill((xn+xm)/2, (yn+ym)/2, ARGB);
	if(i==1)
	 {
	  pDC->LineTo(xn, yn);
	  pDC->Ellipse(xn-r, yn-r, xn+r, yn+r);
     }
	if(xo < xn){ xp = xn+5;  yp = yn; }
	else { xp = xn-xd;  yp = yn; }
	pDC->SelectObject(&FontD);
	pDC->SetTextColor(RGB(255,255,0));
    pDC->TextOut(xp, yp, tempstr[i]);
    xp += width-i*4; yp += 4;
    pDC->SelectObject(&FontX);
    sprintf(tempstr1, "1a1=%6.2lf", Fa1[i]);
	pDC->TextOut(xp, yp, tempstr1);
              
	/////////////////////// Fb1
	pDC->SelectObject(&Pen[i][1]);
//	pDC->SelectObject(&Brush[1]);
    pDC->MoveTo(xo, yo);
    xn = xo + int(FactorU[i]*Fb1s[i]);
    yn = yo - int(FactorU[i]*Fb1x[i]);
    xm = xn - int(Alength*cos(F1alpha[i][1]*PI/180.));
    ym = yn + int(Alength*sin(F1alpha[i][1]*PI/180.));
	if(i==0)
	{
    pDC->LineTo(xm, ym);
    pDC->MoveTo(xn, yn);
    pDC->LineTo(xm - int(Awidth*sin(F1alpha[i][1]*PI/180.)), ym - int(Awidth*cos(F1alpha[i][1]*PI/180.)));
    pDC->LineTo(xm + int(Awidth*sin(F1alpha[i][1]*PI/180.)), ym + int(Awidth*cos(F1alpha[i][1]*PI/180.)));
    pDC->LineTo(xn, yn);
	}
	if(i==1)
	 {
	  pDC->LineTo(xn, yn);
	  pDC->Ellipse(xn-r, yn-r, xn+r, yn+r);
     }
	//if(i==1)pDC->FloodFill((xn+xm)/2, (yn+ym)/2, BRGB);
	if(xo < xn){ xp = xn+5;  yp = yn; }
	else { xp = xn-xd;  yp = yn; }
	pDC->SelectObject(&FontD);
	pDC->SetTextColor(RGB(0,255,0));
    pDC->TextOut(xp, yp, tempstr[i]);
    xp += width-i*4; yp += 4;
    pDC->SelectObject(&FontX);
    sprintf(tempstr1, "1b1=%6.2lf", Fb1[i]);
	pDC->TextOut(xp, yp, tempstr1);
    
	//////////////////////////////Fc1
	pDC->SelectObject(&Pen[i][2]);
//	pDC->SelectObject(&Brush[2]);
    pDC->MoveTo(xo, yo);
    xn = xo + int(FactorU[i]*Fc1s[i]);
    yn = yo - int(FactorU[i]*Fc1x[i]);
    xm = xn - int(Alength*cos(F1alpha[i][2]*PI/180.));
    ym = yn + int(Alength*sin(F1alpha[i][2]*PI/180.));
	if(i==0)
	{
    pDC->LineTo(xm, ym);
    pDC->MoveTo(xn, yn);
    pDC->LineTo(xm - int(Awidth*sin(F1alpha[i][2]*PI/180.)), ym - int(Awidth*cos(F1alpha[i][2]*PI/180.)));
    pDC->LineTo(xm + int(Awidth*sin(F1alpha[i][2]*PI/180.)), ym + int(Awidth*cos(F1alpha[i][2]*PI/180.)));
    pDC->LineTo(xn, yn);
	}
	if(i==1)
	 {
	  pDC->LineTo(xn, yn);
	  pDC->Ellipse(xn-r, yn-r, xn+r, yn+r);
     }
//    if(i==1)pDC->FloodFill((xn+xm)/2, (yn+ym)/2, CRGB);
	if(xo < xn){ xp = xn+5;  yp = yn; }
	else { xp = xn-xd;  yp = yn; }
	pDC->SelectObject(&FontD);
	pDC->SetTextColor(RGB(255,0,0));
    pDC->TextOut(xp, yp, tempstr[i]);
    xp += width-i*4; yp += 4;
    pDC->SelectObject(&FontX);
    sprintf(tempstr1, "1c1=%6.2lf", Fc1[i]);
	pDC->TextOut(xp, yp, tempstr1);

     //////////////// U Fa2
    xo += 300;
	pDC->SelectObject(&Pen[i][0]);
//	pDC->SelectObject(&Brush[0]);
    pDC->MoveTo(xo, yo);
    xn = xo + int(FactorU[i]*Fa2s[i]);
    yn = yo - int(FactorU[i]*Fa2x[i]);
    xm = xn - int(Alength*cos(F2alpha[i][0]*PI/180.));
    ym = yn + int(Alength*sin(F2alpha[i][0]*PI/180.));
	if(i==0)
	{
    pDC->LineTo(xm, ym);
    pDC->MoveTo(xn, yn);
    pDC->LineTo(xm - int(Awidth*sin(F2alpha[i][0]*PI/180.)), ym - int(Awidth*cos(F2alpha[i][0]*PI/180.)));
    pDC->LineTo(xm + int(Awidth*sin(F2alpha[i][0]*PI/180.)), ym + int(Awidth*cos(F2alpha[i][0]*PI/180.)));
    pDC->LineTo(xn, yn);
	}
	if(i==1)
	 {
	  pDC->LineTo(xn, yn);
	  pDC->Ellipse(xn-r, yn-r, xn+r, yn+r);
     }
	//if(i==1)pDC->FloodFill((xn+xm)/2, (yn+ym)/2, ARGB);
	if(xo < xn){ xp = xn+5;  yp = yn; }
	else { xp = xn-xd;  yp = yn; }
	pDC->SelectObject(&FontD);
	pDC->SetTextColor(RGB(255,255,0));
    pDC->TextOut(xp, yp, tempstr[i]);
    xp += width-i*4; yp += 4;
    pDC->SelectObject(&FontX);
    sprintf(tempstr1, "1a2=%6.2lf", Fa2[i]);
	pDC->TextOut(xp, yp, tempstr1);

	//////////////////////Fb2
    pDC->SelectObject(&Pen[i][1]);
//	pDC->SelectObject(&Brush[1]);
	pDC->MoveTo(xo, yo);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -