📄 setline.cpp
字号:
// SetLine.cpp : 实现文件
//
#include "stdafx.h"
#include "GDraw.h"
#include "SetLine.h"
// CSetLine 对话框
IMPLEMENT_DYNAMIC(CSetLine, CDialog)
CSetLine::CSetLine(CWnd* pParent /*=NULL*/)
: CDialog(CSetLine::IDD, pParent)
, m_x1(10)
, m_y1(100)
, m_x2(200)
, m_y2(205)
, m_lf(0)
, m_size(0)
, color(0,0,0)
{
EnableAutomation();
}
CSetLine::~CSetLine()
{
}
void CSetLine::OnFinalRelease()
{
// 释放了对自动化对象的最后一个引用后,将调用
// OnFinalRelease。基类将自动
// 删除该对象。在调用该基类之前,请添加您的
// 对象所需的附加清除代码。
CDialog::OnFinalRelease();
}
void CSetLine::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_x1, m_x1);
DDV_MinMaxInt(pDX, m_x1, 0, 1024);
DDX_Text(pDX, IDC_y1, m_y1);
DDV_MinMaxInt(pDX, m_y1, 0, 768);
DDX_Text(pDX, IDC_x2, m_x2);
DDV_MinMaxInt(pDX, m_x2, 0, 1024);
DDX_Text(pDX, IDC_y2, m_y2);
DDV_MinMaxInt(pDX, m_y2, 0, 768);
DDX_CBIndex(pDX, IDC_shape, m_lf);
DDX_CBIndex(pDX, IDC_wide, m_size);
}
BEGIN_MESSAGE_MAP(CSetLine, CDialog)
ON_BN_CLICKED(IDC_Color, &CSetLine::OnBnClickedColor)
ON_WM_PAINT()
ON_STN_CLICKED(IDC_Color, &CSetLine::OnStnClickedColor)
END_MESSAGE_MAP()
BEGIN_DISPATCH_MAP(CSetLine, CDialog)
END_DISPATCH_MAP()
// 注意: 我们添加 IID_ISetLine 支持
// 以支持来自 VBA 的类型安全绑定。此 IID 必须同附加到 .IDL 文件中的
// 调度接口的 GUID 匹配。
// {0AFA55B1-1211-409A-9344-D7310196A13B}
static const IID IID_ISetLine =
{ 0xAFA55B1, 0x1211, 0x409A, { 0x93, 0x44, 0xD7, 0x31, 0x1, 0x96, 0xA1, 0x3B } };
BEGIN_INTERFACE_MAP(CSetLine, CDialog)
INTERFACE_PART(CSetLine, IID_ISetLine, Dispatch)
END_INTERFACE_MAP()
// CSetLine 消息处理程序
BOOL CSetLine::OnInitDialog()
{
CComboBox *pCB=(CComboBox* ) GetDlgItem(IDC_wide);
wchar_t buf[2]=L"1";
for(int i=0;i<9;i++)
{
pCB->AddString(buf);
buf[0]++;
}
pCB->AddString (L"10");
pCB->SetCurSel (0);
pCB->Clear ();
pCB=(CComboBox* ) GetDlgItem(IDC_shape);
pCB->AddString (L"实线");
pCB->AddString (L"点虚线");
pCB->AddString (L"点横线");
pCB->SetCurSel (0);
pCB->Clear ();
// SetDlgItemInt(IDC_x1,10);
// SetDlgItemInt(IDC_y1,20);
// SetDlgItemInt(IDC_x2,100);
// SetDlgItemInt(IDC_y2,200);
CDialog::OnInitDialog();
CWnd *pWnd=GetDlgItem (IDC_Color);
CDC *pDC=pWnd->GetDC ();
pDC->FillRect (CRect(0,0,95,31),&CBrush(color .ToCOLORREF ()));
pWnd->Invalidate ();
ReleaseDC(pDC);
// TODO: 在此添加额外的初始化
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CSetLine::OnBnClickedColor()
{
// TODO: 在此添加控件通知处理程序代码
CColorDialog ccd;
COLORREF col;
if(ccd.DoModal()==IDOK)
{
col=ccd.GetColor ();
color.SetFromCOLORREF (col);
}
CWnd *pWnd=GetDlgItem (IDC_Color);
CDC *pDC=pWnd->GetDC ();
pDC->FillRect (CRect(0,0,95,31),&CBrush(color .ToCOLORREF ()));
pWnd->Invalidate ();
ReleaseDC(pDC);
}
void CSetLine::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CDialog::OnPaint()
CWnd *pWnd=GetDlgItem (IDC_Color);
CDC *pDC=pWnd->GetDC ();
pDC->FillRect (CRect(0,0,95,31),&CBrush(color.ToCOLORREF ()));
ReleaseDC(pDC);
}
void CSetLine::OnStnClickedColor()
{
// TODO: 在此添加控件通知处理程序代码
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -