📄 ctrlpage6.cpp
字号:
// CtrlPage6.cpp : 实现文件
//
#include "stdafx.h"
#include "ControlUse.h"
#include "CtrlPage6.h"
// CCtrlPage6 对话框
IMPLEMENT_DYNAMIC(CCtrlPage6, CPropertyPage)
CCtrlPage6::CCtrlPage6()
: CPropertyPage(CCtrlPage6::IDD)
{
DrawType=0;
}
CCtrlPage6::~CCtrlPage6()
{
}
void CCtrlPage6::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
DDX_Control(pDX, IDC_TAB1, m_Tab);
}
BEGIN_MESSAGE_MAP(CCtrlPage6, CPropertyPage)
ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, OnTcnSelchangeTab1)
ON_WM_PAINT()
END_MESSAGE_MAP()
// CCtrlPage6 消息处理程序
void CCtrlPage6::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
DrawType = m_Tab.GetCurSel();
InvalidateRect(&m_DrawArea);
*pResult = 0;
}
BOOL CCtrlPage6::OnInitDialog()
{
CPropertyPage::OnInitDialog();
// TODO: 在此添加额外的初始化
TC_ITEM TabCtrlItem;
TabCtrlItem.mask = TCIF_TEXT;
TabCtrlItem.pszText = "Line";
m_Tab.InsertItem( 0, &TabCtrlItem );
TabCtrlItem.pszText = "Ellipse";
m_Tab.InsertItem( 1, &TabCtrlItem );
TabCtrlItem.pszText = "Rectangle";
m_Tab.InsertItem( 2, &TabCtrlItem );
GetDlgItem(IDC_DRAWAREA)->GetWindowRect(&m_DrawArea);
ScreenToClient(&m_DrawArea);
return TRUE; // return TRUE unless you set the focus to a control
// 异常:OCX 属性页应返回 FALSE
}
void CCtrlPage6::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此添加消息处理程序代码
// 不为绘图消息调用 CPropertyPage::OnPaint()
switch(DrawType)
{
case 0:
dc.MoveTo(m_DrawArea.left+10,m_DrawArea.top+10);
dc.LineTo(m_DrawArea.right-10,m_DrawArea.bottom-10);
break;
case 1:
dc.Ellipse(m_DrawArea.left+10,m_DrawArea.top+20,m_DrawArea.right-10,m_DrawArea.bottom-10);
break;
case 2:
dc.Rectangle(m_DrawArea.left+10,m_DrawArea.top+20,m_DrawArea.right-10,m_DrawArea.bottom-10);
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -