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

📄 texteditdialog.cpp

📁 VC++模态和非模态对话框的使用.看看怎么样?
💻 CPP
字号:
// TextEditDialog.cpp : implementation file
//

#include "stdafx.h"
#include "E2_1.h"
#include "TextEditDialog.h"

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

/////////////////////////////////////////////////////////////////////////////
// CTextEditDialog dialog


CTextEditDialog::CTextEditDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CTextEditDialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTextEditDialog)
	m_TextBoxEdit = _T("");
	m_CT = FALSE;
	m_XHX = FALSE;
	m_XT = FALSE;
	m_BLUE_FONT = 0;
	m_GREEN_FONT = 0;
	m_RED_FONT = 0;
	//}}AFX_DATA_INIT
}


void CTextEditDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTextEditDialog)
	DDX_Control(pDX, IDC_RED_SPIN, m_RED);
	DDX_Control(pDX, IDC_GREEN_SPIN, m_GREEN);
	DDX_Control(pDX, IDC_BLUE_SPIN, m_BLUE);
	DDX_Control(pDX, IDC_TEXTBOX_EDIT, m_TextFONT);
	DDX_Text(pDX, IDC_TEXTBOX_EDIT, m_TextBoxEdit);
	DDX_Check(pDX, IDC_CT_CHECK, m_CT);
	DDX_Check(pDX, IDC_XHX_CHECK, m_XHX);
	DDX_Check(pDX, IDC_XT_CHECK, m_XT);
	DDX_Text(pDX, IDC_BLUE_EDIT, m_BLUE_FONT);
	DDX_Text(pDX, IDC_GREEN_EDIT, m_GREEN_FONT);
	DDX_Text(pDX, IDC_RED_EDIT, m_RED_FONT);

	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CTextEditDialog, CDialog)
	//{{AFX_MSG_MAP(CTextEditDialog)
	ON_BN_CLICKED(IDC_HT_RADIO, OnHtRadio)
	ON_BN_CLICKED(IDC_LS_RADIO, OnLsRadio)
	ON_BN_CLICKED(IDC_YY_RADIO, OnYyRadio)
	ON_BN_CLICKED(IDC_CT_CHECK, OnCtCheck)
	ON_BN_CLICKED(IDC_XT_CHECK, OnXtCheck)
	ON_BN_CLICKED(IDC_XHX_CHECK, OnXhxCheck)
	ON_WM_CTLCOLOR()
	ON_EN_CHANGE(IDC_BLUE_EDIT, OnChangeBlueEdit)
	ON_EN_CHANGE(IDC_GREEN_EDIT, OnChangeGreenEdit)
	ON_EN_CHANGE(IDC_RED_EDIT, OnChangeRedEdit)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTextEditDialog message handlers

BOOL CTextEditDialog::OnInitDialog() 
{
	CDialog::OnInitDialog();
	m_BLUE.SetRange(0,255);        //设置蓝色微调按钮范围
	m_GREEN.SetRange(0,255);       //设置绿色微调按钮范围
	m_RED.SetRange(0,255);         //设置红色微调按钮范围
	m_CT=m_XT=m_XHX=FALSE;
	                               //将粗体、斜体和下划线复选控件初始化为FALSE(不选中)
	m_TextBoxEdit=_T("北京大学");  //将文本编辑框初始化为“北京大学”
		UpdateData(FALSE);
	fontText.CreateFont(32,32,0,0,0,FALSE,FALSE,FALSE,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,
		                "黑体");
	m_TextFONT.SetFont(&fontText);   //将所设置字体施加在文本编辑框
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
void CTextEditDialog::OnYyRadio() 
{
	  temp=_T("幼圆");
	  fontText.DeleteObject();
fontText.CreateFont(32,32,0,0,0,m_XT,m_XHX,FALSE,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,
					CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,temp);
      m_TextFONT.SetFont(&fontText);//创建字体

	// TODO: Add your control notification handler code here
	
}
void CTextEditDialog::OnXtCheck() 
{
	m_XT=!m_XT;    //斜体状态取反
	fontText.DeleteObject();
	if(m_XT)
	{
		fontText.CreateFont(32,32,0,0,0,m_XT,m_XHX,FALSE,DEFAULT_CHARSET,
		OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,temp);

	}
     else 
	 {
		 fontText.CreateFont(32,32,0,0,0,m_XT,m_XHX,FALSE,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,
			 CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,temp);

	 }
	 m_TextFONT.SetFont(&fontText);

	// TODO: Add your control notification handler code here
	
}
void CTextEditDialog::OnXhxCheck() 
{
	m_XHX=!m_XHX;
	fontText.DeleteObject();
	fontText.CreateFont(32,32,0,0,800,m_XT,m_XHX,FALSE,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,
		CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,temp);
	   m_TextFONT.SetFont(&fontText);
	// TODO: Add your control notification handler code here
	
}


void CTextEditDialog::OnLsRadio() 
{
	   temp=_T("华文中宋");
       fontText.DeleteObject();
	   fontText.CreateFont(32,32,0,0,0,m_XT,m_XHX,FALSE,DEFAULT_CHARSET,
		   OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,temp);
	   m_TextFONT.SetFont(&fontText);
	// TODO: Add your control notification handler code here
	
}

void CTextEditDialog::OnHtRadio() 
{
	temp=_T("黑体");
	fontText.DeleteObject();
	fontText.CreateFont(32,32,0,0,0,m_XT,m_XHX,FALSE,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,
		DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,temp);
	    m_TextFONT.SetFont(&fontText);
	// TODO: Add your control notification handler code here
	
}


void CTextEditDialog::OnCtCheck() 
{
	m_CT=!m_CT;
	fontText.DeleteObject();
    fontText.CreateFont(32,32,0,0,800,m_XT,m_XHX,FALSE,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,
		CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,temp);
	   m_TextFONT.SetFont(&fontText);
	// TODO: Add your control notification handler code here
	
}




HBRUSH CTextEditDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	//获取文本框背景实例句柄
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	//如果要设置颜色的控件是文本框IDC_TEXTBOX_EDIT
   if(pWnd->GetDlgCtrlID()==IDC_TEXTBOX_EDIT)
		pDC->SetTextColor(RGB(m_RED_FONT,m_GREEN_FONT,m_BLUE_FONT));

	// TODO: Change any attributes of the DC here
	
	// TODO: Return a different brush if the default is not desired
	return hbr; //文本框背景色不变
}



void CTextEditDialog::OnChangeBlueEdit() 
{
	m_BLUE_FONT=GetDlgItemInt(IDC_BLUE_EDIT);//获取蓝色编辑框的数值
	if(fontText.GetSafeHandle()!=NULL)      //如果fontText已创建
	{
		m_TextFONT.SetFont(&fontText);     //设置字体,向父窗口发送WM_CTRCOLOR消息
	}
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	
}

void CTextEditDialog::OnChangeGreenEdit() 
{
	m_GREEN_FONT=GetDlgItemInt(IDC_GREEN_EDIT);//获取绿色编辑框的数值
	if(fontText.GetSafeHandle()!=NULL)      //如果fontText已创建
	{
		m_TextFONT.SetFont(&fontText);     //设置字体,向父窗口发送WM_CTRCOLOR消息
	}
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	
}

void CTextEditDialog::OnChangeRedEdit() 
{
    m_RED_FONT=GetDlgItemInt(IDC_RED_EDIT);//获取红色编辑框的数值
	if(fontText.GetSafeHandle()!=NULL)      //如果fontText已创建
	{
		m_TextFONT.SetFont(&fontText);     //设置字体,向父窗口发送WM_CTRCOLOR消息
	}
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	
}

⌨️ 快捷键说明

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