Скачиваний:
8
Добавлен:
01.05.2014
Размер:
3.76 Кб
Скачать
// Dlg3d.cpp : implementation file
//

#include "stdafx.h"
#include "GLlab.h"
#include "Dlg3d.h"

#include <gl\gl.h>
#include <gl\glu.h>

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

/////////////////////////////////////////////////////////////////////////////
// Dlg3d dialog


Dlg3d::Dlg3d(CWnd* pParent /*=NULL*/)
	: CDialog(Dlg3d::IDD, pParent)
{
	//{{AFX_DATA_INIT(Dlg3d)
	m_lampX = _T("-2.0");
	m_lampY = _T("2.0");
	m_lampZ = _T("0.0");
	m_AMBIENT = _T("50");
	m_DIFFUSE = _T("100");
	m_dX = _T("0.0");
	m_dY = _T("0.0");
	m_dZ = _T("0.0");
	m_Angle = 0;
	//}}AFX_DATA_INIT
	Color[0]=0;Color[1]=0;Color[2]=0;Color[3]=1;
	m_Slid1.SetPos(50);m_Slid2.SetPos(100);

	Rotate[0]=0;Rotate[1]=0;Rotate[2]=0;
}


void Dlg3d::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Dlg3d)
	DDX_Control(pDX, IDC_SLIDER2, m_Slid2);
	DDX_Control(pDX, IDC_SLIDER1, m_Slid1);
	DDX_Text(pDX, IDC_EDIT1, m_lampX);
	DDX_Text(pDX, IDC_EDIT2, m_lampY);
	DDX_Text(pDX, IDC_EDIT3, m_lampZ);
	DDX_Text(pDX, IDC_EDIT4, m_AMBIENT);
	DDX_Text(pDX, IDC_EDIT5, m_DIFFUSE);
	DDX_Text(pDX, IDC_EDIT6, m_dX);
	DDX_Text(pDX, IDC_EDIT7, m_dY);
	DDX_Text(pDX, IDC_EDIT8, m_dZ);
	DDX_Text(pDX, IDC_EDIT9, m_Angle);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(Dlg3d, CDialog)
	//{{AFX_MSG_MAP(Dlg3d)
	ON_BN_CLICKED(IDC_CHECK1, OnCheck1)
	ON_BN_CLICKED(IDC_CHECK2, OnCheck2)
	ON_BN_CLICKED(IDC_CHECK3, OnCheck3)
	ON_WM_HSCROLL()
	ON_BN_CLICKED(IDC_CHECK4, OnCheck4)
	ON_BN_CLICKED(IDC_CHECK5, OnCheck5)
	ON_BN_CLICKED(IDC_CHECK6, OnCheck6)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Dlg3d message handlers

void Dlg3d::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData(true);

	CDialog::OnOK();
}


void Dlg3d::OnCheck1() 
{
	// TODO: Add your control notification handler code here
	Color[0]=1;
//	UpdateData(false);
}

void Dlg3d::OnCheck2() 
{
	// TODO: Add your control notification handler code here
	Color[1]=1;
//	UpdateData(false);
}

void Dlg3d::OnCheck3() 
{
	// TODO: Add your control notification handler code here
	Color[2]=1;
//	UpdateData(false);	
}

BOOL Dlg3d::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	
	m_Slid1.SetRangeMin(1,false);
	m_Slid1.SetRangeMax(100,false);
	m_Slid2.SetRangeMin(1,false);
	m_Slid2.SetRangeMax(100,false);

	UpdateData(false);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void Dlg3d::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
	// TODO: Add your message handler code here and/or call default
	CSliderCtrl* slider = (CSliderCtrl* ) pScrollBar;
	
	if (nSBCode == SB_THUMBPOSITION) {
		if (slider->GetPos() == m_Slid1.GetPos())
			{ m_AMBIENT.Format("%ld",nPos);
			  UpdateData(false);
		}else{
			  m_DIFFUSE.Format("%ld",nPos);
			  UpdateData(false);
		}
	}else{
		if (nSBCode == SB_THUMBTRACK) {
			if (slider->GetPos() == m_Slid1.GetPos())
				{ m_AMBIENT.Format("%ld",nPos);
					UpdateData(false);
			}else{
					m_DIFFUSE.Format("%ld",nPos);
					UpdateData(false);
			}
		} else {
			CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
			}
	}
	
}

void Dlg3d::OnCheck4() 
{
	// TODO: Add your control notification handler code here
	Rotate[0]=1;
	
}

void Dlg3d::OnCheck5() 
{
	// TODO: Add your control notification handler code here
	Rotate[1]=1;

}

void Dlg3d::OnCheck6() 
{
	// TODO: Add your control notification handler code here
	Rotate[2]=1;
	
}
Соседние файлы в папке Лабораторная работа №42