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

📄 ex06adialog.cpp

📁 简单的用VC++6.0编写的对话框,该对话框包括了各种类型的控件.
💻 CPP
字号:
// Ex06aDialog.cpp : implementation file
//

#include "stdafx.h"
#include "ex06a.h"
#include "Ex06aDialog.h"

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

/////////////////////////////////////////////////////////////////////////////
// CEx06aDialog dialog

enum {nMin=0};
enum{nMax=100};

CEx06aDialog::CEx06aDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CEx06aDialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CEx06aDialog)
	m_strBio = _T("");
	m_nCat = -1;
	m_strDept = _T("");
	m_bInsDis = FALSE;
	m_strEduc = _T("");
	m_strLang = _T("");
	m_bInsLife = FALSE;
	m_nLoyal = 0;
	m_bInsMed = FALSE;
	m_strName = _T("");
	m_nRely = 0;
	m_strSkill = _T("");
	m_nSsn = 0;
	//}}AFX_DATA_INIT
}


void CEx06aDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CEx06aDialog)
	DDX_Text(pDX, IDC_BIO, m_strBio);
	DDX_Radio(pDX, IDC_CAT, m_nCat);
	DDX_LBString(pDX, IDC_DEPT, m_strDept);
	DDX_Check(pDX, IDC_DIS, m_bInsDis);
	DDX_CBString(pDX, IDC_EDUC, m_strEduc);
	DDX_CBString(pDX, IDC_LANG, m_strLang);
	DDX_Check(pDX, IDC_LIFE, m_bInsLife);
	DDX_Scroll(pDX, IDC_LOYAL, m_nLoyal);
	DDX_Check(pDX, IDC_MED, m_bInsMed);
	DDX_Text(pDX, IDC_NAME, m_strName);
	DDX_Scroll(pDX, IDC_RELY, m_nRely);
	DDX_CBString(pDX, IDC_SKILL, m_strSkill);
	DDX_Text(pDX, IDC_SSN, m_nSsn);
	DDV_MinMaxInt(pDX, m_nSsn, 0, 999999999);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CEx06aDialog, CDialog)
	//{{AFX_MSG_MAP(CEx06aDialog)
	ON_BN_CLICKED(IDC_SPECIAL, OnSpecial)
	ON_WM_HSCROLL()
	ON_WM_CTLCOLOR()
	ON_WM_PAINT()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CEx06aDialog message handlers

void CEx06aDialog::OnSpecial() 
{
	// TODO: Add your control notification handler code here
	TRACE("CEc06aDialog::OnSpecial\n");
}

BOOL CEx06aDialog::OnInitDialog() 
{
//	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	CListBox* pLB = (CListBox*)GetDlgItem(IDC_DEPT);

	pLB->InsertString(-1,"Documentation");
	pLB->InsertString(-1,"Accouring");
	pLB->InsertString(-1,"Human Relation");
	pLB->InsertString(-1,"Security");

	CScrollBar* pSB = (CScrollBar*)GetDlgItem(IDC_LOYAL);
	pSB->SetScrollRange(nMin,nMax);
	pSB = (CScrollBar*)GetDlgItem(IDC_RELY);
	pSB->SetScrollRange(nMin,nMax);

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

void CEx06aDialog::OnOK() 
{
	// TODO: Add extra validation here
	TRACE("CEx06aDialog::On\n");
//	CDialog::OnOK();
}

void CEx06aDialog::OnClickedOk()
{
	TRACE("CEx06aDialog::OnClickedOk\n");
	CDialog::OnOK();
}

void CEx06aDialog::OnCancel() 
{
	// TODO: Add extra cleanup here
//	TRACE("CEx06aDialog::On\n");
	CDialog::OnCancel();
}

void CEx06aDialog::OnClikedCancel()
{
	TRACE("CEx06Dialog::OnClikedCancel\n");
	CDialog::OnCancel();
}

void CEx06aDialog::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
	// TODO: Add your message handler code here and/or call default
	int nTemp1,nTemp2;
	nTemp1 = pScrollBar->GetScrollPos();
	switch(nSBCode)
	{
	case SB_THUMBPOSITION:
		pScrollBar->SetScrollPos(nPos);
		break;
	case SB_LINELEFT:
		nTemp2=(nMax-nMin)/10;
		if((nTemp1-nTemp2)<nMin)
			nTemp1=nMin;
		else
			nTemp1=nTemp1-nTemp2;
		pScrollBar->SetScrollPos(nTemp1);
		break;
	case SB_LINERIGHT:
		nTemp2=(nMax-nMin)/10;
		if((nTemp1+nTemp2)>nMax)
			nTemp1=nMax;
		else
			nTemp1=nTemp1+nTemp2;
		pScrollBar->SetScrollPos(nTemp1);
		break;
	}

	CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

HBRUSH CEx06aDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here
	if(nCtlColor == CTLCOLOR_EDIT)
	{
		pDC->SetBkColor(RGB(255,0,0));
	//	return m_hYellowBrush;
	}
	if(nCtlColor == CTLCOLOR_DLG)
	{
		pDC->SetBkColor(RGB(255,255,0));
	//	return m_hRedBrush;
	}
	// TODO: Return a different brush if the default is not desired
	return hbr;
}

void CEx06aDialog::OnPaint() 
{
//	CPaintDC dc(this); // device context for painting
	
	// TODO: Add your message handler code here

	CWnd* pWnd = GetDlgItem(IDC_STATIC1);
	CDC* pControlDC = pWnd->GetDC();

	pWnd->Invalidate();
	pWnd->UpdateWindow();
	pControlDC->SelectStockObject(BLACK_BRUSH);
	pControlDC->Rectangle(0,0,50,50);
	pWnd->ReleaseDC(pControlDC);
	
	// Do not call CDialog::OnPaint() for painting messages
}

⌨️ 快捷键说明

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