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

📄 taldlg.cpp

📁 VC++6开发指南的源代码第7章-第11章
💻 CPP
字号:
// TalDlg.cpp : implementation file
//

#include "stdafx.h"
#include "TabDlgDemo.h"
#include "TalDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CTalDlg dialog


CTalDlg::CTalDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CTalDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTalDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CTalDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTalDlg)
	DDX_Control(pDX, IDC_TAB1, m_theTab);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CTalDlg, CDialog)
	//{{AFX_MSG_MAP(CTalDlg)
	ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, OnSelchangeTab1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTalDlg message handlers

BOOL CTalDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	TC_ITEM   m_pTCItem1;   
	m_pTCItem1.mask= TCIF_TEXT;   
	m_pTCItem1.pszText= "颜色";   
	m_theTab.InsertItem(0, &m_pTCItem1);   //添加标签项
	TC_ITEM   m_pTCItem2;   
	m_pTCItem2.mask = TCIF_TEXT;   
	m_pTCItem2.pszText = "字号";   
	m_theTab.InsertItem(1, &m_pTCItem2);  //添加标签项 
	CRect tabRect, itemRect;//计算标签控件的位置和区域
	int nX, nY, nXc, nYc;
	m_theTab.GetClientRect(&tabRect);
	m_theTab.GetItemRect(0, &itemRect);
	nX=itemRect.left;
	nY=itemRect.bottom+15;
	nXc=tabRect.right-itemRect.left-1;
	nYc=tabRect.bottom-nY-1;
	m_colordlg.Create(IDD_DIALOG1,this);  //创建标签页窗口 
	m_colordlg.SetWindowPos(&wndTop, nX, nY, nXc, nYc, SWP_SHOWWINDOW);//移动到指定位置显示
	m_fontdlg.Create(IDD_DIALOG2,this); 
	m_fontdlg.SetWindowPos(&wndTop, nX, nY, nXc, nYc, SWP_HIDEWINDOW);//移动到指定位置隐藏
	return TRUE;  // return TRUE unless you set the focus to a control	             
}

void CTalDlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	int iPage=m_theTab.GetCurSel();//所选标签号
	switch(iPage){
	case 0://颜色设置
   	m_colordlg.ShowWindow(SW_SHOW);
	m_fontdlg.ShowWindow(SW_HIDE);
	break;
    case 1://字体大小设置
	m_colordlg.ShowWindow(SW_HIDE);
	m_fontdlg.ShowWindow(SW_SHOW);
   break;
  }

	
	*pResult = 0;
}

void CTalDlg::OnOK() 
{
	// TODO: Add extra validation here
	m_colordlg.UpdateData(true);//获取颜色标签页数据
	switch(m_colordlg.m_radio)
	{
	case 0:
		fntColor=RGB(255,0,0);//红色
		break;
	case 1:
		fntColor=RGB(0,255,0);//绿色
		break;
	case 2:
		fntColor=RGB(0,0,255);//蓝色
		break;
	case 3:
		fntColor=RGB(m_colordlg.m_r,m_colordlg.m_g,m_colordlg.m_b);//自定义颜色
		break;
	}
	m_fontdlg.UpdateData(true);//获取字号标签页数据
	switch(m_fontdlg.m_radio)
	{
	case 0:
		m_height=60;//大号
		break;
	case 1:
		m_height=30;//中号
		break;
	case 2:
		m_height=15;//小号
		break;
	case 3:
		m_height=m_fontdlg.m_height;//自定义字号
		break;
	}
	CDialog::OnOK();
}

⌨️ 快捷键说明

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