📄 dlineproperty.cpp
字号:
// DLineProperty.cpp : implementation file
//
#include "stdafx.h"
#include "EastDraw.h"
#include "DLineProperty.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDLineProperty
IMPLEMENT_DYNAMIC(CDLineProperty, CPropertySheet)
CDLineProperty::CDLineProperty(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
{
m_DLineDlg1=new CDLineDlg1;
m_DLineDlg2=new CDLineDlg2;
// m_Mode=new CMode;
this->AddPage(m_DLineDlg1);
this->AddPage(m_DLineDlg2);
// this->AddPage(m_Mode);
//m_Parent=(CEastDrawView*)pParentWnd;
}
CDLineProperty::CDLineProperty(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(pszCaption, pParentWnd, iSelectPage)
{
m_DLineDlg1=new CDLineDlg1;
m_DLineDlg2=new CDLineDlg2;
// m_Mode=new CMode;
this->AddPage(m_DLineDlg1);
this->AddPage(m_DLineDlg2);
// this->AddPage(m_Mode);
}
CDLineProperty::~CDLineProperty()
{
}
BEGIN_MESSAGE_MAP(CDLineProperty, CPropertySheet)
//{{AFX_MSG_MAP(CDLineProperty)
ON_WM_CLOSE()
ON_WM_NCLBUTTONDBLCLK()
ON_WM_CTLCOLOR()
ON_WM_PAINT()
ON_WM_DRAWITEM()
ON_WM_NCPAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDLineProperty message handlers
void CDLineProperty::OnClose()
{
// TODO: Add your message handler code here and/or call default
this->ShowWindow(false);
//CPropertySheet::OnClose();
}
void CDLineProperty::OnNcLButtonDblClk(UINT nHitTest, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CPropertySheet::OnNcLButtonDblClk(nHitTest, point);
static BOOL s_bExchange=true;
CRect rect;
this->GetWindowRect(&rect);
s_bExchange?this->SetWindowPos(&wndTop,0,0,rect.Width(),rect.Height()/13+1,SWP_NOMOVE):
this->SetWindowPos(&wndTop,0,0,rect.Width(),(rect.Height()-1)*13,SWP_NOMOVE);
s_bExchange=!s_bExchange;
}
HBRUSH CDLineProperty::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CPropertySheet::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
pDC->SetTextColor(RGB(0,100,255));
pDC->SetBkColor(RGB(100,200,200));
pDC->SelectObject(&brush);
pDC->SetBkMode(OPAQUE);
// TODO: Return a different brush if the default is not desired
return hbr;
}
void CDLineProperty::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
CPen pen;
CRect rect;
pen.CreatePen(PS_SOLID,20,RGB(156,200,255));
CPen*oldPen=dc.SelectObject(&pen);
this->GetClientRect(&rect);
dc.SetBkColor(RGB(255,0,0));
dc.SetBkMode(TRANSPARENT);
dc.Rectangle(rect);
dc.SetBkMode(OPAQUE);
// Do not call CPropertySheet::OnPaint() for painting messages
}
void CDLineProperty::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct)
{
// TODO: Add your message handler code here and/or call default
CPropertySheet::OnDrawItem(nIDCtl, lpDrawItemStruct);
}
void CDLineProperty::OnNcPaint()
{
// TODO: Add your message handler code here
// Do not call for painting messages
CPropertySheet::OnNcPaint();
CPen pen;
CRect rect;
pen.CreatePen(PS_SOLID,2,RGB(0,0,255));
CDC *pDC=GetWindowDC();
this->GetWindowRect(rect);
this->ScreenToClient(&rect);
CPen*pOldPen=pDC->SelectObject(&pen);
pDC->MoveTo(rect.right+1,rect.top+20);
pDC->LineTo(rect.left+3,rect.top+20);
pDC->LineTo(rect.left+4,rect.bottom+17);
pDC->LineTo(rect.right+2,rect.bottom+17);
pDC->LineTo(rect.right+2,rect.top+19);
pDC->SelectObject(pOldPen);
pen.DeleteObject();
pen.CreatePen(PS_SOLID,1,RGB(255,0,0));
pDC->SelectObject(&pen);
pDC->MoveTo(rect.right-1,rect.top+21);
pDC->LineTo(rect.left+5,rect.top+21);
pDC->LineTo(rect.left+5,rect.bottom+16);
pDC->LineTo(rect.right,rect.bottom+16);
pDC->LineTo(rect.right,rect.top+20);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -