【VC开源代码栏目提醒】:网学会员VC开源代码为您提供TEXTRUE.cpp参考,解决您在TEXTRUE.cpp学习中工作中的难题,参考学习。
// TEXTRUE.cpp : implementation file
//
#include "stdafx.h"
#include "Designer.h"
#include "TEXTRUE.h"
#include <afxdlgs.h>
#include "MainFrm.h"
#include "DesignerView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// TEXTRUE dialog
//extern int jing[];
//extern int wei[];
//extern int calculate;
TEXTRUE::TEXTRUE(CWnd* pParent /*=NULL*/)
: CDialog(TEXTRUE::IDD, pParent)
{
//{{AFX_DATA_INIT(TEXTRUE)
m_jm = 0;
m_wm = 0;
//}}AFX_DATA_INIT
}
TEXTRUE::TEXTRUE(CView *pView)
{
this->m_type = 0;
for(int i =0;i<MAXJW;i++)
for(int j=0;j<MAXJW;j++)
this->m_jwlabel[j][i] =0;
//this->m_JN = this->m_jing_num;
//this->m_WN = this->m_wei_num;
// this->m_texture_color = RGB(255,0,0);
// CWnd *pButton;
// pButton = GetDlgItem(IDC_BUTTON_RED,NULL);
}
void TEXTRUE::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(TEXTRUE)
// DDX_Text(pDX, IDC_EDIT_JM, m_jm);
// DDX_Text(pDX, IDC_EDIT_WM, m_wm);
// DDX_Text(pDX, IDC_EDIT_WEINUM, m_WN);
// DDX_Text(pDX, IDC_EDIT_JINGNUM, m_JN);
//}}AFX_DATA_MAP
}
BOOL TEXTRUE::Create()
{
return CDialog::Create(TEXTRUE::IDD);
}
BEGIN_MESSAGE_MAP(TEXTRUE, CDialog)
//{{AFX_MSG_MAP(TEXTRUE)
ON_WM_PAINT()
ON_WM_LBUTTONDOWN()
ON_BN_CLICKED(IDC_BUTTON_BLUE, OnButtonBlue)
ON_BN_CLICKED(IDC_BUTTON_GREEN, OnButtonGreen)
ON_BN_CLICKED(IDC_BUTTON_RED, OnButtonRed)
ON_BN_CLICKED(IDC_BUTTON_YELLOW, OnButtonYellow)
ON_BN_CLICKED(IDC_BUTTON_TEXTURE_SAVE, OnButtonTextureSave)
ON_BN_CLICKED(ID_MOVE_TEXTURE, OnMoveTexture)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// TEXTRUE message handlers
void TEXTRUE::OnPaint()
{
CPaintDC dc(this); // device context for painting
this->DrawGrid(&dc);
this->FillGrid(&dc);
// TODO: Add your message handler code here
// Do not call CDialog::OnPaint() for painting messages
}
void TEXTRUE::DrawGrid(CDC *dc)
{
int TEXTURESTEP = STEP*2;
this->SetTextureRect();
int i,centerx,centery;
CPen Pen;
Pen.CreatePen(PS_SOLID, 1, RGB(128, 128, 128));
dc->SelectObject(&Pen);
CWnd *Chart;
Chart = GetDlgItem(IDC_STATIC_TEXTURE_CHART);
Chart->GetWindowRect(&m_texture_chart);
ScreenToClient(&m_texture_chart);
centerx = (m_texture_chart.right-m_texture_chart.left)/2+m_texture_chart.left;
centery = (m_texture_chart.bottom-m_texture_chart.top)/2+m_texture_chart.top;
m_centerpoint.x = centerx;
m_centerpoint.y = centery;
for(i = GridRect.top;i<=GridRect.bottom;i++)
{
dc->MoveTo(GridRect.left*TEXTURESTEP+centerx,(i*(int)(TEXTURESTEP*this->m_coeff))+centery);
dc->LineTo(GridRect.right*TEXTURESTEP+centerx,(i*(int)(TEXTURESTEP*this->m_coeff))+centery);
}
for(i = GridRect.left;i<=GridRect.right;i++)
{
dc->MoveTo(i*TEXTURESTEP+centerx,(int)(GridRect.top*(int)(TEXTURESTEP*this->m_coeff))+centery);
dc->LineTo(i*TEXTURESTEP+centerx,(int)(GridRect.bottom*(int)(TEXTURESTEP*this->m_coeff))+centery);
}
//delete Chart;
}
void TEXTRUE::ChangeButtonColor(CDC *pDC)
{
// COLORREF m_ButtonColor;
//m_ButtonColor=RGB (0 , 0 , 255);
// pDC->SetBkColor (m_clrBack);
}
void TEXTRUE::OnLButtonDown(UINT nFlags, CPoint point)
{
int a =0;
int TEXTURESTEP = STEP*2;
// TODO: Add your message handler code here and/or call default
if((point.x<m_centerpoint.x+(GridRect.right*TEXTURESTEP))&&(point.x>m_centerpoint.x+GridRect.left*TEXTURESTEP)
&&(point.y<m_centerpoint.y+(int)(GridRect.bottom*TEXTURESTEP*m_coeff))&&(point.y>m_centerpoint.y+(int)(GridRect.top*TEXTURESTEP*m_coeff))&&((point.x-m_centerpoint.x)%TEXTURESTEP !=0)&&((int)((point.y-m_centerpoint.y)*m_coeff)%(int)(m_coeff*TEXTURESTEP) !=0))
{
long x = point.x;
long y = point.y;
CDC *pdc;
CBrush cbr;
cbr.CreateSolidBrush(m_texture_color);
pdc =GetDC();
pdc->SelectObject(cbr);
pdc->FloodFill(x,y,RGB(128,128,128));
//pdc->FillRect(CRect(j*STEP+OFFSET+1,(int)(i*STEP*m_jwm)+OFFSET+1,j*STEP+STEP+OFFSET,(int)((i+1)*STEP*m_j