Пример #1
0
void CRichEditDlg::OnPaint(HDC hPaintDc)
{
	CSysUnit::SetWindowToTransparence(m_hWnd, true);

	CRect WndRect = this->GetClientRect();
	m_BmpDc.Create(WndRect.Width(), WndRect.Height());

	HDC hMemoryDC = m_BmpDc.GetSafeHdc();
	HBITMAP hMemoryBitmap = m_BmpDc.GetBmpHandle();
	if (hMemoryDC != NULL && hMemoryBitmap != NULL)
	{
		Graphics DoGrap(hMemoryDC);

		SolidBrush FillBrush(Color(255, 0, 255, 255));
		DoGrap.FillRectangle(&FillBrush, 0, 0, WndRect.Width(), WndRect.Height());

//////////////////////////////////////////////////////////////////////////

		WndRect = this->GetWindowRect();
		CUiMethod::GetScreenBitmap(hMemoryDC, WndRect);

		// GDI 数据
//		m_GaussB.ImageGaussBlur((BYTE *)m_BmpDc.GetBits(), m_BmpDc.GetDcSize().cx, m_BmpDc.GetDcSize().cy, 6, 30, 6, 6);

		// GDI+ 数据
		Bitmap *ptBmp = Bitmap::FromHBITMAP(hMemoryBitmap, NULL);
		BitmapData LockedBmpData;
		ptBmp->LockBits(Rect(0, 0, m_BmpDc.GetDcSize().cx, m_BmpDc.GetDcSize().cy), ImageLockModeRead | ImageLockModeWrite, PixelFormat32bppARGB, &LockedBmpData);
		m_GaussB.ImageGaussBlur((BYTE *)LockedBmpData.Scan0, m_BmpDc.GetDcSize().cx, m_BmpDc.GetDcSize().cy, 6, 30, 6, 6);
		ptBmp->UnlockBits(&LockedBmpData);
		DoGrap.DrawImage(ptBmp, PointF(0, 0));
		delete ptBmp;

//////////////////////////////////////////////////////////////////////////

		// 开始画图
		m_pUiManager->OnPaint(hMemoryDC, WndRect);

		WndRect = this->GetClientRect();
		DrawFetionBkgndLine(hMemoryDC, WndRect);
		DrawGlassLine(hMemoryDC, m_GlassRect);

		{
			WndRect = this->GetWindowRect();
			POINT ptWinPos = {WndRect.left, WndRect.top};
			POINT ptSrc = {0, 0};
			SIZE sizeWindow = {WndRect.Width(), WndRect.Height()};
			::UpdateLayeredWindow(m_hWnd, hPaintDc, &ptWinPos, &sizeWindow, hMemoryDC, &ptSrc, 0, &m_Blend, ULW_ALPHA);
		}

		{
			//	CSysUnit::SetWindowToTransparence(m_hWnd, false);
			//	::BitBlt(hPaintDc, 0, 0, WndRect.Width(), WndRect.Height(),
			//		hMemoryDC, 0, 0, SRCCOPY);
		}
	}
}
Пример #2
0
void CBfDrawButton::DrawButton(Color OutR, Color UpBegin, Color UpEnd, Color DownBegin, Color DownEnd, Color BRColor, Color SRColor, COLORREF PtColor)
{
	CRect WndRect = m_WndRect;
	// 填充背景色
	SolidBrush FillBrush(Color(255, 255, 255));
	m_pDoGrap->FillRectangle(&FillBrush, WndRect.left, WndRect.top, WndRect.Width(), WndRect.Height());

	// 按钮外圈
	Pen OutLine(OutR);
	CRect OutRect(WndRect);
	OutRect.right--;
	OutRect.bottom--;
	RectF GRt = CUiMethod::CRect2RectF(OutRect);
	m_pDoGrap->DrawRectangle(&OutLine, GRt);

	// 上半部分高光
	CRect UpHRect(WndRect);
	UpHRect.left += 2;
	UpHRect.top += 2;
	UpHRect.right -= 2;
	UpHRect.bottom = (WndRect.Height() / 2) + WndRect.top;
	Point Pt1 = Point(UpHRect.left, UpHRect.top - 1), Pt2 = Point(UpHRect.left, UpHRect.bottom);
	LinearGradientBrush lgBrush1(Pt1, Pt2, UpBegin, UpEnd);
	m_pDoGrap->FillRectangle(&lgBrush1, UpHRect.left, UpHRect.top, UpHRect.Width(), UpHRect.Height());

	// 下半部分高光
	CRect DownHRect(WndRect);
	DownHRect.top = UpHRect.bottom;
	DownHRect.left += 2;
	DownHRect.right -= 2;
	DownHRect.bottom -= 2;
	Pt1 = Point(DownHRect.left, DownHRect.top - 1);
	Pt2 = Point(DownHRect.left, DownHRect.bottom);
	LinearGradientBrush lgBrush2(Pt1, Pt2, DownBegin, DownEnd);
	m_pDoGrap->FillRectangle(&lgBrush2, DownHRect.left, DownHRect.top, DownHRect.Width(), DownHRect.Height());

	// 四角高光
	Draw4Corner(BRColor, SRColor, PtColor);

	// 画焦点
	DrawFocus();

	// 文字
	DrawBtnText();
}
Пример #3
0
void QGraph::DrawCurve(int nIndex, QPainter &painter)
{
	painter.save();
	static double scaley;
	static int i, ptside;
	static QPoint From, To, Min, Max;
	static QRect rViewRect;

	ptside = 2;
	CCurve* pCurve = GetCurve(nIndex);

	scaley = m_scaley;

	QBrush FillBrush(m_BkColor);
	painter.setBrush(FillBrush);

	QPen CurvePen(pCurve->GetColor());
	CurvePen.setStyle(GetStyle(pCurve->GetStyle()));
	CurvePen.setWidth((int)pCurve->GetWidth());
	painter.setPen(CurvePen);

	Min.setX(int(xmin/m_scalex) +m_ptoffset.x());
	Min.setY(int(ymin/scaley) +m_ptoffset.y());
	Max.setX(int(xmax/m_scalex) +m_ptoffset.x());
	Max.setY(int(ymax/scaley) +m_ptoffset.y());
	rViewRect.setTopLeft(Min);
	rViewRect.setBottomRight(Max);

	if(pCurve->n>=1)
	{
		From.setX(int(pCurve->x[0]/m_scalex+m_ptoffset.x()));
		From.setY(int(pCurve->y[0]/scaley  +m_ptoffset.y()));

		if(pCurve->IsVisible())
		{
			for (i=1; i<pCurve->n;i++)
			{
				To.setX(int(pCurve->x[i]/m_scalex+m_ptoffset.x()));
				To.setY(int(pCurve->y[i]/scaley  +m_ptoffset.y()));
				painter.drawLine(From, To);
	
				From = To;
			}
		}

		if(pCurve->PointsVisible())
		{
			for (i=0; i<pCurve->n;i++)
			{
				if(pCurve->GetSelected() !=i)
					painter.drawRect(int(pCurve->x[i]/m_scalex+m_ptoffset.x())-ptside,
									 int(pCurve->y[i]/  scaley+m_ptoffset.y())-ptside,
									 2*ptside,2*ptside);
			}
		}
	}

	if(m_bHighlightPoint)
	{
		int point = pCurve->GetSelected();
		if(point>=0)
		{
			//highlight
			QColor HighColor(0,40, 150);
			CurvePen.setWidth((int)pCurve->GetWidth());
			CurvePen.setColor(HighColor);
			painter.setPen(CurvePen);
			To.setX(int(pCurve->x[point]/m_scalex+m_ptoffset.x()));
			To.setY(int(pCurve->y[point]/scaley  +m_ptoffset.y()));
			painter.drawRect(To.x()-ptside-1,To.y()-ptside-1, 2*(ptside+1),2*(ptside+1));
		}
	}
	painter.restore();
}
Пример #4
0
void CLLTDlg::UpdateView(double Alpha)
{
	CClientDC dc(this); // device context for painting

	CDC dcMem;
	dcMem.CreateCompatibleDC(&dc);
	dcMem.SetBkMode(TRANSPARENT);

	CRect dcMemRect(0,0,m_IterRect.Width(), m_IterRect.Height());
	CBitmap bmb;
	bmb.CreateCompatibleBitmap(&dc,m_IterRect.Width(), m_IterRect.Height());
	CBitmap *pOldBitmap = dcMem.SelectObject(&bmb);

	CBrush FillBrush(GetSysColor(COLOR_3DFACE));
	dcMem.FillRect(&dcMemRect,&FillBrush);

	CRect BltRect(0,0,m_IterRect.Width(), m_IterRect.Height());
	m_IterGraph.DrawGraph(&dcMem, &BltRect,false);

	dcMem.SetTextAlign(TA_LEFT);
	if(IsBlackAndWhite())	dcMem.SetTextColor(0);
	else					dcMem.SetTextColor(RGB(150,150,150));

	CFont TFont;
	TFont.CreatePointFont(85, "Symbol");
	CFont* pOldFont = dcMem.SelectObject(&TFont);
	dcMem.TextOut(50,35,"(|Da|)");
	CFont MFont;
	MFont.CreatePointFont(85, "Arial");
	dcMem.SelectObject(&MFont);
	
	CString strong;
	strong.Format("max = %.4f", m_pIterCurve->y[m_pIterCurve->n-1]);

	dcMem.TextOut(80,35,strong);

	CFont CvFont;
	CvFont.CreateFont(18,0,0,0,FW_BOLD,FALSE,FALSE,0,
			ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
			DEFAULT_QUALITY, FF_SWISS+VARIABLE_PITCH, "Arial");

	dcMem.SelectObject(&CvFont);

	dcMem.SetBkMode(TRANSPARENT);
	CString Title;

	if(!m_bType4){
		Title.Format("Alpha = %.2f°", Alpha);
	}
	else{
		Title.Format(" Iterations for QInf = %.2f m/s", Alpha);
	}
	dcMem.TextOut(200,5,Title);

	if(m_State ==1){
		if(IsBlackAndWhite()){
			dcMem.SetTextColor(0);
		}
		else{
			dcMem.SetTextColor(RGB(0,150,0));
		}
		dcMem.TextOut(200,35,"CONVERGED !");
	}
	else if (m_State ==2){
		if(IsBlackAndWhite()) 	dcMem.SetTextColor(0);
		else dcMem.SetTextColor(RGB(255,0,0));
		dcMem.TextOut(200,35,"UNCONVERGED...");
	}


	dc.BitBlt(m_IterRect.left, m_IterRect.top, m_IterRect.Width(), m_IterRect.Height(),
			  &dcMem,0, 0, SRCCOPY);
	dcMem.SelectObject(pOldFont);
	dcMem.SelectObject(pOldBitmap);
	bmb.DeleteObject();
	CvFont.DeleteObject();
	TFont.DeleteObject();
	MFont.DeleteObject();
	FillBrush.DeleteObject();
}
Пример #5
0
void CXInvClrDlg::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct)
{
    CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
    if (!pDC) return;
    int nSavedDC = pDC->SaveDC();
    if(nIDCtl==IDC_SPLINESTYLE)
    {
        LOGBRUSH lb;
        lb.lbStyle = BS_SOLID;
        lb.lbColor = RGB(100,100,100);
        CPen DotPen(PS_GEOMETRIC | PS_DOT, 1, &lb);
        CPen *pOldPen =  pDC->SelectObject(&DotPen);
        CBrush FillBrush(GetSysColor(COLOR_3DFACE));
        CBrush* pOldBrush = pDC->SelectObject(&FillBrush);
        CRect SRect ;
        GetDlgItem(IDC_SPLINESTYLE)->GetClientRect(&SRect);
        SRect.DeflateRect(2,2,2,2);
        pDC->Rectangle(&SRect);

        lb.lbStyle = BS_SOLID;
        lb.lbColor = m_SplineClr;
        CPen CurvePen(PS_GEOMETRIC | m_SplineStyle, GetPenWidth(m_SplineWidth,false), &lb);

        pDC->SelectObject(&CurvePen);
        pDC->MoveTo(5,8);
        pDC->LineTo(SRect.right-5,8);
        pDC->SelectObject(pOldPen);
        pDC->SelectObject(pOldBrush);
        pDC->RestoreDC(nSavedDC);
    }
    if(nIDCtl==IDC_REFLECTEDSTYLE)
    {
        LOGBRUSH lb;
        lb.lbStyle = BS_SOLID;
        lb.lbColor = RGB(100,100,100);
        CPen DotPen(PS_GEOMETRIC | PS_DOT, 1, &lb);
        CPen *pOldPen =  pDC->SelectObject(&DotPen);
        CBrush FillBrush(GetSysColor(COLOR_3DFACE));
        CBrush* pOldBrush = pDC->SelectObject(&FillBrush);
        CRect SRect ;
        GetDlgItem(IDC_REFLECTEDSTYLE)->GetClientRect(&SRect);
        SRect.DeflateRect(2,2,2,2);
        pDC->Rectangle(&SRect);

        lb.lbStyle = BS_SOLID;
        lb.lbColor = m_ReflectedClr;
        CPen CurvePen(PS_GEOMETRIC | m_ReflectedStyle, GetPenWidth(m_ReflectedWidth,false), &lb);

        pDC->SelectObject(&CurvePen);
        pDC->MoveTo(5,8);
        pDC->LineTo(SRect.right-5,8);
        pDC->SelectObject(pOldPen);
        pDC->SelectObject(pOldBrush);
        pDC->RestoreDC(nSavedDC);
    }
    else if(nIDCtl==IDC_MODFOIL)
    {
        LOGBRUSH lb;
        lb.lbStyle = BS_SOLID;
        lb.lbColor = RGB(100,100,100);
        CPen DotPen(PS_GEOMETRIC | PS_DOT, 1, &lb);
        CPen *pOldPen =  pDC->SelectObject(&DotPen);
        CBrush FillBrush(GetSysColor(COLOR_3DFACE));
        CBrush* pOldBrush = pDC->SelectObject(&FillBrush);
        CRect SRect ;
        GetDlgItem(IDC_MODFOIL)->GetClientRect(&SRect);
        SRect.DeflateRect(2,2,2,2);
        pDC->Rectangle(&SRect);

        lb.lbStyle = BS_SOLID;
        lb.lbColor = m_ModFoilClr;
        CPen CurvePen(PS_GEOMETRIC | m_ModFoilStyle, GetPenWidth(m_ModFoilWidth,false), &lb);

        pDC->SelectObject(&CurvePen);
        pDC->MoveTo(5,8);
        pDC->LineTo(SRect.right-5,8);
        pDC->SelectObject(pOldPen);
        pDC->SelectObject(pOldBrush);
        pDC->RestoreDC(nSavedDC);
    }
    else if(nIDCtl==IDC_REFFOIL)
    {
        LOGBRUSH lb;
        lb.lbStyle = BS_SOLID;
        lb.lbColor = RGB(100,100,100);
        CPen DotPen(PS_GEOMETRIC | PS_DOT, 1, &lb);
        CPen *pOldPen =  pDC->SelectObject(&DotPen);
        CBrush FillBrush(GetSysColor(COLOR_3DFACE));
        CBrush* pOldBrush = pDC->SelectObject(&FillBrush);
        CRect SRect ;
        GetDlgItem(IDC_REFFOIL)->GetClientRect(&SRect);
        SRect.DeflateRect(2,2,2,2);
        pDC->Rectangle(&SRect);

        lb.lbStyle = BS_SOLID;
        lb.lbColor = m_RefFoilClr;
        CPen CurvePen(PS_GEOMETRIC | m_RefFoilStyle, GetPenWidth(m_RefFoilWidth,false), &lb);

        pDC->SelectObject(&CurvePen);
        pDC->MoveTo(5,8);
        pDC->LineTo(SRect.right-5,8);
        pDC->SelectObject(pOldPen);
        pDC->SelectObject(pOldBrush);
        pDC->RestoreDC(nSavedDC);
    }
}
Пример #6
0
void CBodyGridDlg::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct) 
{
	CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
	if (!pDC) return;
//	int nSavedDC = dc.SaveDC();
	switch (nIDCtl)
	{

		case IDC_GRIDSTYLE:
		{
			LOGBRUSH lb;
			lb.lbStyle = BS_SOLID;
			lb.lbColor = RGB(100,100,100);
			CPen DotPen(PS_GEOMETRIC | PS_DOT, 1, &lb);
			CPen *pOldPen =  pDC->SelectObject(&DotPen);
			CBrush FillBrush(GetSysColor(COLOR_3DFACE));
			CBrush* pOldBrush = pDC->SelectObject(&FillBrush);
			CRect SRect ;
			GetDlgItem(IDC_GRIDSTYLE)->GetClientRect(&SRect);
			SRect.DeflateRect(2,2,2,2);
			pDC->Rectangle(&SRect);

			lb.lbStyle = BS_SOLID;
			lb.lbColor = m_Color;
			CPen CurvePen(PS_GEOMETRIC | m_Style, GetPenWidth(m_Width,false), &lb);

			pDC->SelectObject(&CurvePen);
			pDC->MoveTo(5,8);
			pDC->LineTo(SRect.right-5,8);
			pDC->SelectObject(pOldPen);
			pDC->SelectObject(pOldBrush);
			break;
		}

		case IDC_MINSTYLE:{
			LOGBRUSH lb;
			lb.lbStyle = BS_SOLID;
			lb.lbColor = RGB(100,100,100);
			CPen DotPen(PS_GEOMETRIC | PS_DOT, 1, &lb);
			CPen *pOldPen =  pDC->SelectObject(&DotPen);
			CBrush FillBrush(GetSysColor(COLOR_3DFACE));
			CBrush* pOldBrush = pDC->SelectObject(&FillBrush);
			CRect SRect ;
			GetDlgItem(IDC_MINSTYLE)->GetClientRect(&SRect);
			SRect.DeflateRect(2,2,2,2);
			pDC->Rectangle(&SRect);

			lb.lbStyle = BS_SOLID;
			lb.lbColor = m_MinColor;
			CPen CurvePen(PS_GEOMETRIC | m_MinStyle, GetPenWidth(m_MinWidth,false), &lb);

			pDC->SelectObject(&CurvePen);
			pDC->MoveTo(5,8);
			pDC->LineTo(SRect.right-5,8);
			pDC->SelectObject(pOldPen);
			pDC->SelectObject(pOldBrush);
			break;
		}


		case IDC_GRIDSTYLE2:{
			LOGBRUSH lb;
			lb.lbStyle = BS_SOLID;
			lb.lbColor = RGB(100,100,100);
			CPen DotPen(PS_GEOMETRIC | PS_DOT, 1, &lb);
			CPen *pOldPen =  pDC->SelectObject(&DotPen);
			CBrush FillBrush(GetSysColor(COLOR_3DFACE));
			CBrush* pOldBrush = pDC->SelectObject(&FillBrush);
			CRect SRect ;
			GetDlgItem(IDC_GRIDSTYLE2)->GetClientRect(&SRect);
			SRect.DeflateRect(2,2,2,2);
			pDC->Rectangle(&SRect);

			lb.lbStyle = BS_SOLID;
			lb.lbColor = m_Color2;
			CPen CurvePen(PS_GEOMETRIC | m_Style2, GetPenWidth(m_Width2,false), &lb);

			pDC->SelectObject(&CurvePen);
			pDC->MoveTo(5,8);
			pDC->LineTo(SRect.right-5,8);
			pDC->SelectObject(pOldPen);
			pDC->SelectObject(pOldBrush);
			break;
		}

		case IDC_MINSTYLE2:{
			LOGBRUSH lb;
			lb.lbStyle = BS_SOLID;
			lb.lbColor = RGB(100,100,100);
			CPen DotPen(PS_GEOMETRIC | PS_DOT, 1, &lb);
			CPen *pOldPen =  pDC->SelectObject(&DotPen);
			CBrush FillBrush(GetSysColor(COLOR_3DFACE));
			CBrush* pOldBrush = pDC->SelectObject(&FillBrush);
			CRect SRect ;
			GetDlgItem(IDC_MINSTYLE2)->GetClientRect(&SRect);
			SRect.DeflateRect(2,2,2,2);
			pDC->Rectangle(&SRect);

			lb.lbStyle = BS_SOLID;
			lb.lbColor = m_MinColor2;
			CPen CurvePen(PS_GEOMETRIC | m_MinStyle2, GetPenWidth(m_MinWidth2,false), &lb);

			pDC->SelectObject(&CurvePen);
			pDC->MoveTo(5,8);
			pDC->LineTo(SRect.right-5,8);
			pDC->SelectObject(pOldPen);
			pDC->SelectObject(pOldBrush);
			break;
		}

	}
}
Пример #7
0
void CViscDlg::UpdateView()
{
	CClientDC dc(this); // device context for painting
	int btnHeight = 50;

	CRect CltRect;
	GetClientRect(&CltRect);

	CDC dcMem;
	dcMem.CreateCompatibleDC(&dc);
	dcMem.SetBkMode(TRANSPARENT);

	CRect dcMemRect(0,0,CltRect.Width(), CltRect.Height()-btnHeight);
	CBitmap bmb;
	bmb.CreateCompatibleBitmap(&dc,CltRect.Width(),  CltRect.Height()-btnHeight);
	CBitmap * pOldBmp = dcMem.SelectObject(&bmb);

	CBrush FillBrush(GetSysColor(COLOR_3DFACE));
	dcMem.FillRect(&dcMemRect,&FillBrush);
	
	m_RmsGraph.DrawGraph(&dcMem, &m_ViscRect,false);
	m_RmsGraph.DrawLegend(&dcMem, false, m_LegendPlace);

	CFont CvFont;
	CvFont.CreateFont(18,0,0,0,FW_BOLD,FALSE,FALSE,0,
			ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
			DEFAULT_QUALITY, FF_SWISS+VARIABLE_PITCH, "Arial");
	CFont* pOldFont = dcMem.SelectObject(&CvFont);
	
	dcMem.SetTextAlign(TA_LEFT);
	dcMem.SetBkMode(TRANSPARENT);
	CString Title;
	dcMem.SetTextColor(RGB(0,0,0));

	if(!m_bType4){
		if (m_bAlpha)
			Title.Format("Alfa = %7.2f°", m_pXFoil->alfa*180.0/3.141592654);
		else
			Title.Format("Cl = %7.2f", m_pXFoil->clspec);
	}
	else{
		ReynoldsFormat(Title, m_pXFoil->reinf);
		Title = "Re = " + Title;
	}
	dcMem.TextOut(150,5,Title);

	if(m_pXFoil->lvconv){
		dcMem.SetTextColor(RGB(0,150,0));
		dcMem.TextOut(160,45,"CONVERGED !");
	}
	else {
		if(m_pIterThread->m_Iterations>=m_IterLim && !m_pXFoil->lvconv){
			dcMem.SetTextColor(RGB(255,0,0));
			dcMem.TextOut(160,45,"UNCONVERGED...");
		}
	}

	dc.BitBlt(0, CltRect.top, CltRect.Width(), m_ViscRect.Height()+42, &dcMem,0, 0, SRCCOPY);	
	dcMem.SelectObject(pOldFont);
	dcMem.SelectObject(pOldBmp);
	bmb.DeleteObject();
	CvFont.DeleteObject();
	FillBrush.DeleteObject();
}
Пример #8
0
void CGraphOptions::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct) 
{
	CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
	if (!pDC) return;
	int nSavedDC = pDC->SaveDC();
	if(nIDCtl==IDC_AXISSTYLE){
		LOGBRUSH lb;
		lb.lbStyle = BS_SOLID;
		lb.lbColor = RGB(100,100,100);
		CPen DotPen(PS_GEOMETRIC | PS_DOT, 1, &lb);
		CPen *pOldPen =  pDC->SelectObject(&DotPen);
		CBrush FillBrush(GetSysColor(COLOR_3DFACE));
		CBrush* pOldBrush = pDC->SelectObject(&FillBrush);
		CRect SRect ;
		GetDlgItem(IDC_AXISSTYLE)->GetClientRect(&SRect);
		SRect.DeflateRect(2,2,2,2);
		pDC->Rectangle(&SRect);

		lb.lbStyle = BS_SOLID;
		lb.lbColor = m_crColor;
		CPen CurvePen(PS_GEOMETRIC | m_nStyle, GetPenWidth(m_nWidth,false), &lb);

		pDC->SelectObject(&CurvePen);
		pDC->MoveTo(5,8);
		pDC->LineTo(SRect.right-5,8);
		pDC->SelectObject(pOldPen);
		pDC->SelectObject(pOldBrush);
	}
	else if(nIDCtl==IDC_XMAINSTYLE){
		LOGBRUSH lb;
		lb.lbStyle = BS_SOLID;
		lb.lbColor = RGB(100,100,100);
		CPen DotPen(PS_GEOMETRIC | PS_DOT, 1, &lb);
		CPen *pOldPen =  pDC->SelectObject(&DotPen);
		CBrush FillBrush(GetSysColor(COLOR_3DFACE));
		CBrush* pOldBrush = pDC->SelectObject(&FillBrush);
		CRect SRect ;
		GetDlgItem(IDC_XMAINSTYLE)->GetClientRect(&SRect);
		SRect.DeflateRect(2,2,2,2);
		pDC->Rectangle(&SRect);

		lb.lbStyle = BS_SOLID;
		lb.lbColor = m_XMClr;
		CPen CurvePen(PS_GEOMETRIC | m_XMStyle, GetPenWidth(m_XMWidth,false), &lb);

		pDC->SelectObject(&CurvePen);
		pDC->MoveTo(5,8);
		pDC->LineTo(SRect.right-5,8);
		pDC->SelectObject(pOldPen);
		pDC->SelectObject(pOldBrush);
	}
	else if(nIDCtl==IDC_YMAINSTYLE){
		LOGBRUSH lb;
		lb.lbStyle = BS_SOLID;
		lb.lbColor = RGB(100,100,100);
		CPen DotPen(PS_GEOMETRIC | PS_DOT, 1, &lb);
		CPen *pOldPen =  pDC->SelectObject(&DotPen);
		CBrush FillBrush(GetSysColor(COLOR_3DFACE));
		CBrush* pOldBrush = pDC->SelectObject(&FillBrush);
		CRect SRect ;
		GetDlgItem(IDC_YMAINSTYLE)->GetClientRect(&SRect);
		SRect.DeflateRect(2,2,2,2);
		pDC->Rectangle(&SRect);

		lb.lbStyle = BS_SOLID;
		lb.lbColor = m_YMClr;
		CPen CurvePen(PS_GEOMETRIC | m_YMStyle, GetPenWidth(m_YMWidth,false), &lb);

		pDC->SelectObject(&CurvePen);
		pDC->MoveTo(5,8);
		pDC->LineTo(SRect.right-5,8);
		pDC->SelectObject(pOldPen);
		pDC->SelectObject(pOldBrush);
	}
	else if(nIDCtl==IDC_XMINSTYLE){
		LOGBRUSH lb;
		lb.lbStyle = BS_SOLID;
		lb.lbColor = RGB(100,100,100);
		CPen DotPen(PS_GEOMETRIC | PS_DOT, 1, &lb);
		CPen *pOldPen =  pDC->SelectObject(&DotPen);
		CBrush FillBrush(GetSysColor(COLOR_3DFACE));
		CBrush* pOldBrush = pDC->SelectObject(&FillBrush);
		CRect SRect ;
		GetDlgItem(IDC_XMINSTYLE)->GetClientRect(&SRect);
		SRect.DeflateRect(2,2,2,2);
		pDC->Rectangle(&SRect);

		lb.lbStyle = BS_SOLID;
		lb.lbColor = m_XMinClr;
		CPen CurvePen(PS_GEOMETRIC | m_XMinStyle, GetPenWidth(m_XMinWidth,false), &lb);

		pDC->SelectObject(&CurvePen);
		pDC->MoveTo(5,8);
		pDC->LineTo(SRect.right-5,8);
		pDC->SelectObject(pOldPen);
		pDC->SelectObject(pOldBrush);
	}
	else if(nIDCtl==IDC_YMINSTYLE){
		LOGBRUSH lb;
		lb.lbStyle = BS_SOLID;
		lb.lbColor = RGB(100,100,100);
		CPen DotPen(PS_GEOMETRIC | PS_DOT, 1, &lb);
		CPen *pOldPen =  pDC->SelectObject(&DotPen);
		CBrush FillBrush(GetSysColor(COLOR_3DFACE));
		CBrush* pOldBrush = pDC->SelectObject(&FillBrush);
		CRect SRect ;
		GetDlgItem(IDC_YMINSTYLE)->GetClientRect(&SRect);
		SRect.DeflateRect(2,2,2,2);
		pDC->Rectangle(&SRect);

		lb.lbStyle = BS_SOLID;
		lb.lbColor = m_YMinClr;
		CPen CurvePen(PS_GEOMETRIC | m_YMinStyle, GetPenWidth(m_YMinWidth,false), &lb);

		pDC->SelectObject(&CurvePen);
		pDC->MoveTo(5,8);
		pDC->LineTo(SRect.right-5,8);
		pDC->SelectObject(pOldPen);
		pDC->SelectObject(pOldBrush);
	}
	pDC->RestoreDC(nSavedDC);

//	CDialog::OnDrawItem(nIDCt, lpDrawItemStruct);
}