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

📄 dlinedlg2.cpp

📁 画图功能
💻 CPP
📖 第 1 页 / 共 3 页
字号:
  brush.DeleteObject();
  m_Static_ShowPenColor.ReleaseDC(pDC);
  }
  if(m_Check_Brush.GetCheck()==BST_CHECKED)
  {
  pDC=m_Static_ShowBrushColor.GetDC();
  m_Static_ShowBrushColor.GetClientRect(&rect);
  m_BrushColor=m_Color;
  brush.CreateSolidBrush(m_BrushColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowBrushColor.ReleaseDC(pDC); 
  }
  if(m_Check_Background.GetCheck()==BST_CHECKED)
  {
  pDC=m_Static_ShowBackgroundColor.GetDC();
  m_Static_ShowBackgroundColor.GetClientRect(&rect);
  m_BackgroundColor=m_Color;
  brush.CreateSolidBrush(m_BackgroundColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowBackgroundColor.ReleaseDC(pDC);
  }


  m_Blue=GetBValue(m_Color);
  m_Slider_Blue.SetPos(m_Blue);
  
  m_Red=GetRValue(m_Color);
  m_Slider_Red.SetPos(m_Red);
  
  m_Green=GetGValue(m_Color);
  m_Slider_Green.SetPos(m_Green);
  UpdateData(false);
}

void CDLineDlg2::OnStaticBitmap10() 
{
	// TODO: Add your control notification handler code here
  m_Color=RGB(255,0,255);	
  CDC * pDC; 
  CBrush brush;
  CRect rect;
  
  pDC=m_CStatic_ShowColor.GetDC();
  m_CStatic_ShowColor.GetClientRect(&rect);
  brush.CreateSolidBrush(m_Color);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_CStatic_ShowColor.ReleaseDC(pDC);
  
  
  if(m_Check_Pen.GetCheck()==BST_CHECKED)
  {
  pDC=m_Static_ShowPenColor.GetDC();
  m_Static_ShowPenColor.GetClientRect(&rect);
  m_PenColor=m_Color;
  brush.CreateSolidBrush(m_PenColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowPenColor.ReleaseDC(pDC);
  }
  if(m_Check_Brush.GetCheck()==BST_CHECKED)
  {
  pDC=m_Static_ShowBrushColor.GetDC();
  m_Static_ShowBrushColor.GetClientRect(&rect);
  m_BrushColor=m_Color;
  brush.CreateSolidBrush(m_BrushColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowBrushColor.ReleaseDC(pDC); 
  }
  if(m_Check_Background.GetCheck()==BST_CHECKED)
  {
  pDC=m_Static_ShowBackgroundColor.GetDC();
  m_Static_ShowBackgroundColor.GetClientRect(&rect);
  m_BackgroundColor=m_Color;
  brush.CreateSolidBrush(m_BackgroundColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowBackgroundColor.ReleaseDC(pDC);
  }


  m_Blue=GetBValue(m_Color);
  m_Slider_Blue.SetPos(m_Blue);
  
  m_Red=GetRValue(m_Color);
  m_Slider_Red.SetPos(m_Red);
  
  m_Green=GetGValue(m_Color);
  m_Slider_Green.SetPos(m_Green);
  UpdateData(false);
}

void CDLineDlg2::OnStaticBitmap9() 
{
	// TODO: Add your control notification handler code here
  m_Color=RGB(128,0,128);	
  CDC * pDC; 
  CBrush brush;
  CRect rect;
  
  pDC=m_CStatic_ShowColor.GetDC();
  m_CStatic_ShowColor.GetClientRect(&rect);
  brush.CreateSolidBrush(m_Color);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_CStatic_ShowColor.ReleaseDC(pDC);
  
  
  if(m_Check_Pen.GetCheck()==BST_CHECKED)
  {
  pDC=m_Static_ShowPenColor.GetDC();
  m_Static_ShowPenColor.GetClientRect(&rect);
  m_PenColor=m_Color;
  brush.CreateSolidBrush(m_PenColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowPenColor.ReleaseDC(pDC);
  }
  if(m_Check_Brush.GetCheck()==BST_CHECKED)
  {
  pDC=m_Static_ShowBrushColor.GetDC();
  m_Static_ShowBrushColor.GetClientRect(&rect);
  m_BrushColor=m_Color;
  brush.CreateSolidBrush(m_BrushColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowBrushColor.ReleaseDC(pDC); 
  }
  if(m_Check_Background.GetCheck()==BST_CHECKED)
  {
  pDC=m_Static_ShowBackgroundColor.GetDC();
  m_Static_ShowBackgroundColor.GetClientRect(&rect);
  m_BackgroundColor=m_Color;
  brush.CreateSolidBrush(m_BackgroundColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowBackgroundColor.ReleaseDC(pDC);
  }


  m_Blue=GetBValue(m_Color);
  m_Slider_Blue.SetPos(m_Blue);
  
  m_Red=GetRValue(m_Color);
  m_Slider_Red.SetPos(m_Red);
  
  m_Green=GetGValue(m_Color);
  m_Slider_Green.SetPos(m_Green);
  UpdateData(false);
}

void CDLineDlg2::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	
	// TODO: Add your message handler code here
	
  CDC * pDC;
  CRect rect;
  CBrush brush;
  
  pDC=m_CStatic_ShowColor.GetDC();
  m_CStatic_ShowColor.GetClientRect(&rect);
  brush.CreateSolidBrush(m_Color);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_CStatic_ShowColor.ReleaseDC(pDC);
  
  pDC=m_Static_ShowPenColor.GetDC();
  m_Static_ShowPenColor.GetClientRect(&rect);
  brush.CreateSolidBrush(m_PenColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowPenColor.ReleaseDC(pDC);

  pDC=m_Static_ShowBrushColor.GetDC();
  m_Static_ShowBrushColor.GetClientRect(&rect);
  brush.CreateSolidBrush(m_BrushColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowBrushColor.ReleaseDC(pDC); 

  pDC=m_Static_ShowBackgroundColor.GetDC();
  m_Static_ShowBackgroundColor.GetClientRect(&rect);
  brush.CreateSolidBrush(m_BackgroundColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowBackgroundColor.ReleaseDC(pDC);

  
  
  
  m_Blue=GetBValue(m_Color);
  m_Slider_Blue.SetPos(m_Blue);
  
  m_Red=GetRValue(m_Color);
  m_Slider_Red.SetPos(m_Red);
  
  m_Green=GetGValue(m_Color);
  m_Slider_Green.SetPos(m_Green);
  
  
  UpdateData(false);
	
	// Do not call CPropertyPage::OnPaint() for painting messages
}

BOOL CDLineDlg2::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_Slider_Blue.SetRange(0,255);
	m_Slider_Blue.SetPos(0);
	m_Slider_Blue.SetTicFreq(26);
    m_Slider_Red.SetRange(0,255);
	m_Slider_Red.SetPos(0);
	m_Slider_Red.SetTicFreq(26);
    m_Slider_Green.SetRange(0,255);
	m_Slider_Green.SetPos(0);
	m_Slider_Green.SetTicFreq(26);

     

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}





void CDLineDlg2::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
	// TODO: Add your message handler code here and/or call default
	
    if(pScrollBar->GetDlgCtrlID()==IDC_SLIDER_Red)
    {
		m_Red=m_Slider_Red.GetPos();
	}

   if(pScrollBar->GetDlgCtrlID()==IDC_SLIDER_Green)
    {
		m_Green=m_Slider_Green.GetPos();
	}
   if(pScrollBar->GetDlgCtrlID()==IDC_SLIDER_Blue)
    {
		m_Blue=m_Slider_Blue.GetPos();
	}
   
  m_Color=RGB(m_Red,m_Green,m_Blue); 
  CDC * pDC; 
  CBrush brush;
  CRect rect;
  
  pDC=m_CStatic_ShowColor.GetDC();
  m_CStatic_ShowColor.GetClientRect(&rect);
  brush.CreateSolidBrush(m_Color);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_CStatic_ShowColor.ReleaseDC(pDC);
  
  
  if(m_Check_Pen.GetCheck()==BST_CHECKED)
  {
  pDC=m_Static_ShowPenColor.GetDC();
  m_Static_ShowPenColor.GetClientRect(&rect);
  m_PenColor=m_Color;
  brush.CreateSolidBrush(m_PenColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowPenColor.ReleaseDC(pDC);
  }
  if(m_Check_Brush.GetCheck()==BST_CHECKED)
  {
  pDC=m_Static_ShowBrushColor.GetDC();
  m_Static_ShowBrushColor.GetClientRect(&rect);
  m_BrushColor=m_Color;
  brush.CreateSolidBrush(m_BrushColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowBrushColor.ReleaseDC(pDC); 
  }
  if(m_Check_Background.GetCheck()==BST_CHECKED)
  {
  pDC=m_Static_ShowBackgroundColor.GetDC();
  m_Static_ShowBackgroundColor.GetClientRect(&rect);
  m_BackgroundColor=m_Color;
  brush.CreateSolidBrush(m_BackgroundColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowBackgroundColor.ReleaseDC(pDC);
  }

	UpdateData(false);
 

	CPropertyPage::OnHScroll(nSBCode, nPos, pScrollBar);
}

void CDLineDlg2::OnBUTTONSelect() 
{
	// TODO: Add your control notification handler code here
  m_Draw_Status=Select_Color_Status;	

}

void CDLineDlg2::OnChange(COLORREF color)
{
  CDC * pDC; 
  CBrush brush;
  CRect rect;
  m_Color=color;
  pDC=m_CStatic_ShowColor.GetDC();
  m_CStatic_ShowColor.GetClientRect(&rect);
  brush.CreateSolidBrush(m_Color);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_CStatic_ShowColor.ReleaseDC(pDC);
  
  
  if(m_Check_Pen.GetCheck()==BST_CHECKED)
  {
  pDC=m_Static_ShowPenColor.GetDC();
  m_Static_ShowPenColor.GetClientRect(&rect);
  m_PenColor=m_Color;
  brush.CreateSolidBrush(m_PenColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowPenColor.ReleaseDC(pDC);
  }
  if(m_Check_Brush.GetCheck()==BST_CHECKED)
  {
  pDC=m_Static_ShowBrushColor.GetDC();
  m_Static_ShowBrushColor.GetClientRect(&rect);
  m_BrushColor=m_Color;
  brush.CreateSolidBrush(m_BrushColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowBrushColor.ReleaseDC(pDC); 
  }
  if(m_Check_Background.GetCheck()==BST_CHECKED)
  {
  pDC=m_Static_ShowBackgroundColor.GetDC();
  m_Static_ShowBackgroundColor.GetClientRect(&rect);
  m_BackgroundColor=m_Color;
  brush.CreateSolidBrush(m_BackgroundColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowBackgroundColor.ReleaseDC(pDC);
  }

	

  m_Blue=GetBValue(color);
  m_Slider_Blue.SetPos(m_Blue);
  
  m_Red=GetRValue(color);
  m_Slider_Red.SetPos(m_Red);
  
  m_Green=GetGValue(color);
  m_Slider_Green.SetPos(m_Green);
  UpdateData(false);

}

void CDLineDlg2::OnBUTTONColorDlg() 
{
	// TODO: Add your control notification handler code here

CColorDialog dlg;
if(dlg.DoModal()==IDOK)
{
  
	m_Color=dlg.m_cc.rgbResult;
	this->OnChange(m_Color);
}	

}

void CDLineDlg2::OnCHECKPen() 
{

	// TODO: Add your control notification handler code here
  CDC * pDC; 
  CBrush brush;
  CRect rect;
	
  pDC=m_Static_ShowPenColor.GetDC();
  m_Static_ShowPenColor.GetClientRect(&rect);
  m_PenColor=m_Color;
  brush.CreateSolidBrush(m_PenColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowPenColor.ReleaseDC(pDC);	


}

void CDLineDlg2::OnCHECKBrush() 
{
	// TODO: Add your control notification handler code here
  CDC * pDC; 
  CBrush brush;
  CRect rect;

  pDC=m_Static_ShowBrushColor.GetDC();
  m_Static_ShowBrushColor.GetClientRect(&rect);
  m_BrushColor=m_Color;
  brush.CreateSolidBrush(m_BrushColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowBrushColor.ReleaseDC(pDC);

	
}

void CDLineDlg2::OnCHECKBackground() 
{
	// TODO: Add your control notification handler code here
   
  CDC * pDC; 
  CBrush brush;
  CRect rect;

  pDC=m_Static_ShowBackgroundColor.GetDC();
  m_Static_ShowBackgroundColor.GetClientRect(&rect);
  m_BackgroundColor=m_Color;
  brush.CreateSolidBrush(m_BackgroundColor);
  pDC->FillRect(&rect,&brush);
  brush.DeleteObject();
  m_Static_ShowBackgroundColor.ReleaseDC(pDC);

}

HBRUSH CDLineDlg2::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here
	
	// TODO: Return a different brush if the default is not desired
   pDC->SetTextColor(RGB(0,100,255));
   pDC->SetBkColor(RGB(255,200,200));
   
   pDC->SetBkMode(TRANSPARENT);
	
	return hbr;
}


⌨️ 快捷键说明

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