📄 dlgshow.cpp
字号:
// DLGSHOW.cpp : 实现文件
//
#include "stdafx.h"
#include "k.h"
#include "DLGSHOW.h"
#include"math.h"
#include ".\dlgshow.h"
// DLGSHOW 对话框
IMPLEMENT_DYNAMIC(DLGSHOW, CDialog)
DLGSHOW::DLGSHOW(CWnd* pParent /*=NULL*/)
: CDialog(DLGSHOW::IDD, pParent)
{
}
DLGSHOW::~DLGSHOW()
{
}
void DLGSHOW::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(DLGSHOW, CDialog)
ON_WM_PAINT()
ON_WM_CREATE()
END_MESSAGE_MAP()
// DLGSHOW 消息处理程序
void DLGSHOW::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CDialog::OnPaint()
CRect rect;
GetClientRect(rect);
dc.FillSolidRect(rect,RGB(255,255,255));
Draw();
}
BOOL DLGSHOW::Draw()
{
CClientDC dc(this);
float MaxX,MaxY,MinX,MinY;
float tmp1,tmp3,tmp4,tmp5;
tmp1=255.0/ClsNum;
int i,tmp2;
MaxX=Pos[0];
MaxY=Pos[1];
MinX=Pos[0];
MinY=Pos[1];
for(i=0;i<SmpNum;i++)
{
if(Pos[2*i]>MaxX)
MaxX=Pos[2*i];
else if(Pos[2*i]<MinX)
MinX=Pos[2*i];
if(Pos[2*i+1]>MaxY)
MaxY=Pos[2*i];
else if(Pos[2*i+1]<MinY)
MinY=Pos[2*i];
}
float dx=fabs(MaxX-MinX);
float dy=fabs(MaxY-MinY);
CPen CoPen2(PS_DOT,1,RGB(0,0,0)),*OldPen;
dc.SelectObject(&CoPen2);
for(i=0;i<10;i++)
{
dc.MoveTo(i*190/dx+20,20);
dc.LineTo(i*190/dx+20,220);
dc.MoveTo(20,20+i*190/dy);
dc.LineTo(220,20+i*190/dy);
}
CPen CoPen1(PS_SOLID,1,RGB(0,0,0));
dc.SelectObject(&CoPen1);
//----画坐标轴----//
dc.MoveTo(20,20);
dc.LineTo(220,20);
dc.MoveTo(20,20);
dc.LineTo(20,220);
//-----画箭头-----//
dc.MoveTo(220,20);
dc.LineTo(215,17);
dc.MoveTo(220,20);
dc.LineTo(215,22);
dc.MoveTo(20,220);
dc.LineTo(17,215);
dc.MoveTo(20,220);
dc.LineTo(22,215);
//------写字------//
dc.TextOut(225,13,"X");
dc.TextOut(15,225,"Y");
for(i=0;i<SmpNum;i++)
{
tmp2=Cls[i]%3;
if(tmp2==0)
{
tmp3=1;
tmp4=0;
tmp5=0;
}
else if(tmp2==1)
{
tmp3=0;
tmp4=1;
tmp5=0;
}
else
{
tmp3=0;
tmp4=0;
tmp5=1;
}
CPen pen;
pen.CreatePen(PS_SOLID,5,RGB(tmp1*tmp3*Cls[i],tmp1*tmp4*Cls[i],tmp1*tmp5*Cls[i]));
OldPen=dc.SelectObject(&pen);
dc.MoveTo(20+Pos[2*i]*190/dx,20+Pos[2*i+1]*190/dy);
dc.LineTo(20+Pos[2*i]*190/dx,20+Pos[2*i+1]*190/dy);
}
dc.SelectObject(OldPen);
return TRUE;
}
int DLGSHOW::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: 在此添加您专用的创建代码
return 0;
}
BOOL DLGSHOW::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此添加专用代码和/或调用基类
return CDialog::PreCreateWindow(cs);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -