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

📄 dlineproperty.cpp

📁 完整的基本图形绘制系统 .rar
💻 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 + -