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

📄 ptctrl_bezzer.cpp

📁 wince下的画图程序
💻 CPP
字号:
#include "StdAfx.h"
#include "PtCtrl_Bezzer.h"

#include "CEPaint.h"


PtCtrl_Bezzer g_ptctl_bezzer;


INT InitPbCtrl_Bezzer(PtCtrl_Bezzer *pPtCtrl_Bezzer)
{
    InitPbCtrlBase((PtCtrlBase*)pPtCtrl_Bezzer);
	

	pPtCtrl_Bezzer->m_ptctrl_base.PtCtrl_Init = PtCtrl_Bezzer_Init;
	pPtCtrl_Bezzer->m_ptctrl_base.PtCtrl_Destroy = PtCtrl_Bezzer_Destroy;
	
	pPtCtrl_Bezzer->m_ptctrl_base.PtCtrl_OnPaintStart = PtCtrl_Bezzer_OnPaintStart;
	pPtCtrl_Bezzer->m_ptctrl_base.PtCtrl_OnPaintEnd = PtCtrl_Bezzer_OnPaintEnd;
	
	pPtCtrl_Bezzer->m_ptctrl_base.PtCtrl_OnStyleChange = PtCtrl_Bezzer_OnStyleChange;
	pPtCtrl_Bezzer->m_ptctrl_base.PtCtrl_OnColorChange = PtCtrl_Bezzer_OnColorChange;
	
	pPtCtrl_Bezzer->m_ptctrl_base.PtCtrl_OnMouseDown = PtCtrl_Bezzer_OnMouseDown;
	pPtCtrl_Bezzer->m_ptctrl_base.PtCtrl_OnMouseMove = PtCtrl_Bezzer_OnMouseMove;
	pPtCtrl_Bezzer->m_ptctrl_base.PtCtrl_OnMouseRelease = PtCtrl_Bezzer_OnMouseRelease;

	pPtCtrl_Bezzer->m_ptctrl_base.PtCtrl_OnDrawBoard = PtCtrl_Bezzer_OnDrawBoard;
	pPtCtrl_Bezzer->m_ptctrl_base.PtCtrl_OnDrawStyle = PtCtrl_Bezzer_OnDrawStyle;
		
	return 0;
}

INT PtCtrl_Bezzer_Init(PtCtrlBase* pPtCtrl,INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrlBase_Init(pPtCtrl);

	PtCtrl_Bezzer *pPtCtrl_Bezzer = (PtCtrl_Bezzer*)pPtCtrl;
	
	pPtCtrl_Bezzer->m_ptctrl_base.m_ctrl_id = PtCtrlType_Line;

	pPtCtrl_Bezzer->m_opt_flag = PtCtrl_Bezzer_Nothing;
	
	pPtCtrl_Bezzer->cx = -1;
	pPtCtrl_Bezzer->cy = -1;

	
	pPtCtrl_Bezzer->m_pen = NULL;
	pPtCtrl_Bezzer->m_init_draw_flag = FALSE;

	pPtCtrl_Bezzer->m_bak_hdc = NULL;
	pPtCtrl_Bezzer->m_bak_hbmp = NULL;

	memset(&pPtCtrl_Bezzer->m_bak_rect,0,sizeof(RECT));

	return 0;
}

INT PtCtrl_Bezzer_Destroy(PtCtrlBase* pPtCtrl, INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrlBase_Destroy(pPtCtrl);
   
    PtCtrl_Bezzer *pPtCtrl_Bezzer = (PtCtrl_Bezzer*)pPtCtrl;

	if(pPtCtrl_Bezzer->m_bak_hdc != NULL)
		DeleteDC(pPtCtrl_Bezzer->m_bak_hdc);

	if(pPtCtrl_Bezzer->m_pen != NULL)
		DeleteObject(pPtCtrl_Bezzer->m_pen);

	return 0;
}

INT PtCtrl_Bezzer_OnPaintStart(PtCtrlBase* pPtCtrl,  INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrlBase_OnPaintStart(pPtCtrl);

	PtCtrl_Bezzer *pPtCtrl_Bezzer = (PtCtrl_Bezzer*)pPtCtrl;
	
	pPtCtrl->PtCtrl_OnColorChange(pPtCtrl,m_pt_app_info.m_color_cur);
	
	
	return 0;
}

INT PtCtrl_Bezzer_OnPaintEnd(PtCtrlBase* pPtCtrl,  INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrlBase_OnPaintEnd(pPtCtrl);

	PtCtrl_Bezzer *pPtCtrl_Bezzer = (PtCtrl_Bezzer*)pPtCtrl;
    
    pPtCtrl_Bezzer->cx = -1;
	pPtCtrl_Bezzer->cy = -1;

	pPtCtrl_Bezzer->m_opt_flag = PtCtrl_Bezzer_Nothing;
	
	return 0;
}

INT PtCtrl_Bezzer_OnStyleChange(PtCtrlBase* pPtCtrl,  INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrlBase_OnStyleChange(pPtCtrl,tx);
	
	PtCtrl_Bezzer *pPtCtrl_Bezzer = (PtCtrl_Bezzer*)pPtCtrl;
	
	if(pPtCtrl_Bezzer->m_pen != NULL)
		DeleteObject(pPtCtrl_Bezzer->m_pen);
	
	
	switch(pPtCtrl_Bezzer->m_ptctrl_base.m_ctrl_style)
	{
	case 0:
	    pPtCtrl_Bezzer->m_pen = CreatePen(PS_SOLID,0,m_pt_app_info.m_color_cur);
		break;
	case 1:
		pPtCtrl_Bezzer->m_pen = CreatePen(PS_SOLID,2,m_pt_app_info.m_color_cur);
		break;
	case 2:
		pPtCtrl_Bezzer->m_pen = CreatePen(PS_SOLID,4,m_pt_app_info.m_color_cur);
		break;
	}
		
	return 0;
}

INT PtCtrl_Bezzer_OnColorChange(PtCtrlBase* pPtCtrl,  INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrlBase_OnColorChange(pPtCtrl,tx,ty);
	
	PtCtrl_Bezzer *pPtCtrl_Bezzer = (PtCtrl_Bezzer*)pPtCtrl;
	
	if(pPtCtrl_Bezzer->m_pen != NULL)
		DeleteObject(pPtCtrl_Bezzer->m_pen);

	switch(pPtCtrl_Bezzer->m_ptctrl_base.m_ctrl_style)
	{
	case 0:
		pPtCtrl_Bezzer->m_pen = CreatePen(PS_SOLID,0,m_pt_app_info.m_color_cur);
		break;
	case 1:
		pPtCtrl_Bezzer->m_pen = CreatePen(PS_SOLID,2,m_pt_app_info.m_color_cur);
		break;
	case 2:
		pPtCtrl_Bezzer->m_pen = CreatePen(PS_SOLID,4,m_pt_app_info.m_color_cur);
		break;
	}
	
	
	return 0;
}


INT PtCtrl_Bezzer_OnMouseDown(PtCtrlBase* pPtCtrl,  INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrlBase_OnMouseDown(pPtCtrl);
    
	PtCtrl_Bezzer *pPtCtrl_Bezzer = (PtCtrl_Bezzer*)pPtCtrl;

	switch(pPtCtrl_Bezzer->m_opt_flag)
	{
	case PtCtrl_Bezzer_Nothing:
		
		pPtCtrl_Bezzer->m_opt_flag = PtCtrl_Bezzer_Start;
		
		pPtCtrl_Bezzer->m_ptctrl_base.m_cx = tx;
		pPtCtrl_Bezzer->m_ptctrl_base.m_cy = ty;
		
		pPtCtrl_Bezzer->cx = tx;
		pPtCtrl_Bezzer->cy = ty;
		
		memset(pPtCtrl_Bezzer->m_point,0,sizeof(pPtCtrl_Bezzer->m_point));
		
		m_pt_app_info.m_pt_board_flag |= PT_BOARD_FLAG_PTCTRL;

		InvalidateRect(m_pt_app_info.m_pt_board_hwnd, &m_pt_app_info.m_pt_board_rect,FALSE);
		break;

	case PtCtrl_Bezzer_LinkFirstEnd:
	case PtCtrl_Bezzer_LinkPoint1:
		
		pPtCtrl_Bezzer->m_opt_flag ++;
		
		pPtCtrl_Bezzer->cx = tx;
		pPtCtrl_Bezzer->cy = ty;
	
		pPtCtrl_Bezzer->m_point[pPtCtrl_Bezzer->m_opt_flag - PtCtrl_Bezzer_LinkFirstEnd].x = pPtCtrl_Bezzer->cx;
		pPtCtrl_Bezzer->m_point[pPtCtrl_Bezzer->m_opt_flag - PtCtrl_Bezzer_LinkFirstEnd].y = pPtCtrl_Bezzer->cy;
       
		m_pt_app_info.m_pt_board_flag |= PT_BOARD_FLAG_PTCTRL;

		InvalidateRect(m_pt_app_info.m_pt_board_hwnd, &m_pt_app_info.m_pt_board_rect,FALSE);

		break;
		
	}

	return 0;
}

INT PtCtrl_Bezzer_OnMouseMove(PtCtrlBase* pPtCtrl,  INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrlBase_OnMouseMove(pPtCtrl);

    PtCtrl_Bezzer *pPtCtrl_Bezzer = (PtCtrl_Bezzer*)pPtCtrl;

	switch(pPtCtrl_Bezzer->m_opt_flag)
	{
	case PtCtrl_Bezzer_Start:
		if(pPtCtrl->m_mouse_state & PT_MOUSE_DOWN)
		{
            pPtCtrl_Bezzer->m_opt_flag = PtCtrl_Bezzer_LinkFirst;
			
			pPtCtrl_Bezzer->cx = tx;
			pPtCtrl_Bezzer->cy = ty;

            pPtCtrl_Bezzer->m_point[0].x = pPtCtrl_Bezzer->m_ptctrl_base.m_cx;
			pPtCtrl_Bezzer->m_point[0].y = pPtCtrl_Bezzer->m_ptctrl_base.m_cy;
        	
		}
		else
		{
			pPtCtrl_Bezzer->m_opt_flag = PtCtrl_Bezzer_End;
		}
		
		m_pt_app_info.m_pt_board_flag |= PT_BOARD_FLAG_PTCTRL;
		InvalidateRect(m_pt_app_info.m_pt_board_hwnd, &m_pt_app_info.m_pt_board_rect,FALSE);

		break;
  
    case PtCtrl_Bezzer_LinkFirst:
		if(pPtCtrl->m_mouse_state & PT_MOUSE_DOWN)
		{
            pPtCtrl_Bezzer->m_opt_flag = PtCtrl_Bezzer_LinkFirst;
			
			pPtCtrl_Bezzer->cx = tx;
			pPtCtrl_Bezzer->cy = ty;
		}
		else
		{
			pPtCtrl_Bezzer->m_opt_flag = PtCtrl_Bezzer_End;
		}
		
		m_pt_app_info.m_pt_board_flag |= PT_BOARD_FLAG_PTCTRL;
		InvalidateRect(m_pt_app_info.m_pt_board_hwnd, &m_pt_app_info.m_pt_board_rect,FALSE);
		
		break;
	
	}
    
	return 0;
}

INT PtCtrl_Bezzer_OnMouseRelease(PtCtrlBase* pPtCtrl,  INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrlBase_OnMouseRelease(pPtCtrl);

	PtCtrl_Bezzer *pPtCtrl_Bezzer = (PtCtrl_Bezzer*)pPtCtrl;

	switch(pPtCtrl_Bezzer->m_opt_flag)
	{
	case PtCtrl_Bezzer_Start:
	    pPtCtrl_Bezzer->m_opt_flag = PtCtrl_Bezzer_Nothing;
		break;
    
	case PtCtrl_Bezzer_LinkFirst:
			
		pPtCtrl_Bezzer->m_opt_flag = PtCtrl_Bezzer_LinkFirstEnd;
		
		pPtCtrl_Bezzer->m_point[3].x = pPtCtrl_Bezzer->cx;
		pPtCtrl_Bezzer->m_point[3].y = pPtCtrl_Bezzer->cy;
        
		m_pt_app_info.m_pt_board_flag |= PT_BOARD_FLAG_PTCTRL;
		InvalidateRect(m_pt_app_info.m_pt_board_hwnd, &m_pt_app_info.m_pt_board_rect,FALSE);
		break;
	}

	return 0;
}


INT PtCtrl_Bezzer_OnDrawBoard(PtCtrlBase* pPtCtrl,  INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrl_Bezzer *pPtCtrl_Bezzer = (PtCtrl_Bezzer*)pPtCtrl;

	RECT draw_rect;

	RECT rt;

	INT cx,cy;
#define FIX_PIXEL 3

	if(!pPtCtrl_Bezzer->m_init_draw_flag)
	{
        pPtCtrl_Bezzer->m_bak_hdc = CreateCompatibleDC(m_pt_app_info.m_pt_backup_hdc);
		pPtCtrl_Bezzer->m_bak_hbmp = CreateCompatibleBitmap(m_pt_app_info.m_pt_backup_hdc,m_pt_app_info.m_bmp_file_info.bmiHeader.biWidth,m_pt_app_info.m_bmp_file_info.bmiHeader.biHeight);
		SelectObject(pPtCtrl_Bezzer->m_bak_hdc,pPtCtrl_Bezzer->m_bak_hbmp);

		pPtCtrl_Bezzer->m_init_draw_flag = TRUE;
	}

	static int i;
	
	switch(pPtCtrl_Bezzer->m_opt_flag)
	{
	case PtCtrl_Bezzer_Start:
		
		BitBlt(pPtCtrl_Bezzer->m_bak_hdc,0,0,m_pt_app_info.m_bmp_file_info.bmiHeader.biWidth,m_pt_app_info.m_bmp_file_info.bmiHeader.biHeight,m_pt_app_info.m_pt_backup_hdc,0,0,SRCCOPY);

        memset(&pPtCtrl_Bezzer->m_bak_rect,0,sizeof(RECT));

		break;
	
	case PtCtrl_Bezzer_LinkFirst:
		
		if(pPtCtrl_Bezzer->m_ptctrl_base.m_cx < pPtCtrl_Bezzer->cx)
		{
			draw_rect.left  = pPtCtrl_Bezzer->m_ptctrl_base.m_cx - FIX_PIXEL;
			draw_rect.right = pPtCtrl_Bezzer->cx + FIX_PIXEL;
		}
		else
		{
			draw_rect.right  = pPtCtrl_Bezzer->m_ptctrl_base.m_cx + FIX_PIXEL;
			draw_rect.left = pPtCtrl_Bezzer->cx - FIX_PIXEL;
		}
		
		if(pPtCtrl_Bezzer->m_ptctrl_base.m_cy < pPtCtrl_Bezzer->cy)
		{
			draw_rect.top  = pPtCtrl_Bezzer->m_ptctrl_base.m_cy - FIX_PIXEL;
			draw_rect.bottom = pPtCtrl_Bezzer->cy + FIX_PIXEL;
		}
		else
		{
			draw_rect.bottom  = pPtCtrl_Bezzer->m_ptctrl_base.m_cy + FIX_PIXEL;
			draw_rect.top = pPtCtrl_Bezzer->cy - FIX_PIXEL;
 		}

		if(draw_rect.left < 0) 
			draw_rect.left = 0;
		
		if(draw_rect.top < 0)
			draw_rect.top = 0; 

		if(draw_rect.right >= m_pt_app_info.m_bmp_file_info.bmiHeader.biWidth)
            draw_rect.right = m_pt_app_info.m_bmp_file_info.bmiHeader.biWidth;
        
		if(draw_rect.bottom >= m_pt_app_info.m_bmp_file_info.bmiHeader.biHeight)
            draw_rect.bottom = m_pt_app_info.m_bmp_file_info.bmiHeader.biHeight;
		
		BitBlt(m_pt_app_info.m_pt_backup_hdc,
			pPtCtrl_Bezzer->m_bak_rect.left,
			pPtCtrl_Bezzer->m_bak_rect.top,
			pPtCtrl_Bezzer->m_bak_rect.right - pPtCtrl_Bezzer->m_bak_rect.left,
			pPtCtrl_Bezzer->m_bak_rect.bottom - pPtCtrl_Bezzer->m_bak_rect.top,
			pPtCtrl_Bezzer->m_bak_hdc,
			pPtCtrl_Bezzer->m_bak_rect.left,
			pPtCtrl_Bezzer->m_bak_rect.top,
			SRCCOPY);
// 		BitBlt(pPtCtrl->m_pdc,
// 			pPtCtrl_Bezzer->m_bak_rect.left,
// 			pPtCtrl_Bezzer->m_bak_rect.top,
// 			pPtCtrl_Bezzer->m_bak_rect.right - pPtCtrl_Bezzer->m_bak_rect.left,
// 			pPtCtrl_Bezzer->m_bak_rect.bottom - pPtCtrl_Bezzer->m_bak_rect.top,
// 			pPtCtrl_Bezzer->m_bak_hdc,
// 			pPtCtrl_Bezzer->m_bak_rect.left,
// 			pPtCtrl_Bezzer->m_bak_rect.top,
// 			SRCCOPY);

		MoveToEx(m_pt_app_info.m_pt_backup_hdc,pPtCtrl_Bezzer->m_ptctrl_base.m_cx,pPtCtrl_Bezzer->m_ptctrl_base.m_cy,NULL);
		//MoveToEx(pPtCtrl->m_pdc,pPtCtrl_Bezzer->m_ptctrl_base.m_cx,pPtCtrl_Bezzer->m_ptctrl_base.m_cy,NULL);
		
		SelectObject(m_pt_app_info.m_pt_backup_hdc,pPtCtrl_Bezzer->m_pen);
		//SelectObject(pPtCtrl->m_pdc,pPtCtrl_Bezzer->m_pen);
		
		
		LineTo(m_pt_app_info.m_pt_backup_hdc,pPtCtrl_Bezzer->cx,pPtCtrl_Bezzer->cy);
		//LineTo(pPtCtrl->m_pdc,pPtCtrl_Bezzer->cx,pPtCtrl_Bezzer->cy);


		rt = draw_rect;
		
		PT_SET_SMALL(rt.left,pPtCtrl_Bezzer->m_bak_rect.left);
		PT_SET_SMALL(rt.top,pPtCtrl_Bezzer->m_bak_rect.top);
		
		PT_SET_BIG(rt.right,pPtCtrl_Bezzer->m_bak_rect.right);
		PT_SET_BIG(rt.bottom,pPtCtrl_Bezzer->m_bak_rect.bottom);
		
		cx = rt.left - m_pt_app_info.m_pt_bakup_pos.x;
		cx = cx << m_pt_app_info.m_pt_zoom_size;
		
		cy = rt.top - m_pt_app_info.m_pt_bakup_pos.y;
		cy = cy << m_pt_app_info.m_pt_zoom_size;
		
		StretchBlt(pPtCtrl->m_pdc,
			cx,cy,
			(rt.right - rt.left)<<m_pt_app_info.m_pt_zoom_size,(rt.bottom - rt.top)<<m_pt_app_info.m_pt_zoom_size,
			m_pt_app_info.m_pt_backup_hdc,
			rt.left,rt.top,
			(rt.right - rt.left), (rt.bottom - rt.top),
			SRCCOPY);
		pPtCtrl_Bezzer->m_bak_rect = draw_rect;
			
		break;

	case PtCtrl_Bezzer_LinkFirstEnd:
		
		break;
	
    case PtCtrl_Bezzer_LinkPoint1:
	case PtCtrl_Bezzer_LinkPoint2:
		
		BitBlt(m_pt_app_info.m_pt_backup_hdc,0,0,m_pt_app_info.m_bmp_file_info.bmiHeader.biWidth,m_pt_app_info.m_bmp_file_info.bmiHeader.biHeight,pPtCtrl_Bezzer->m_bak_hdc,0,0,SRCCOPY);
		
		//BitBlt(m_pt_app_info.m_pt_backup_hdc,0,0,PT_PIC_SIZE_X,PT_PIC_SIZE_Y,pPtCtrl_Bezzer->m_bak_hdc,0,0,SRCCOPY);
		//BitBlt(pPtCtrl->m_pdc,0,0,PT_PIC_SIZE_X,PT_PIC_SIZE_Y,pPtCtrl_Bezzer->m_bak_hdc,0,0,SRCCOPY);
        

		SelectObject(m_pt_app_info.m_pt_backup_hdc,pPtCtrl_Bezzer->m_pen);
		//SelectObject(pPtCtrl->m_pdc,pPtCtrl_Bezzer->m_pen);
		
		
		if(pPtCtrl_Bezzer->m_opt_flag == PtCtrl_Bezzer_LinkPoint1)
			pPtCtrl_Bezzer->m_point[2] = pPtCtrl_Bezzer->m_point[3];
		
		PolyBezier(m_pt_app_info.m_pt_backup_hdc,pPtCtrl_Bezzer->m_point,4);
		//PolyBezier(pPtCtrl->m_pdc,pPtCtrl_Bezzer->m_point,4);
		
		StretchBlt(pPtCtrl->m_pdc,
			0,0,
			m_pt_app_info.m_pt_draw_rect.right,m_pt_app_info.m_pt_draw_rect.bottom,
			m_pt_app_info.m_pt_backup_hdc,
			m_pt_app_info.m_pt_bakup_pos.x,m_pt_app_info.m_pt_bakup_pos.y,
			m_pt_app_info.m_pt_draw_rect.right>>m_pt_app_info.m_pt_zoom_size,m_pt_app_info.m_pt_draw_rect.bottom>>m_pt_app_info.m_pt_zoom_size,
			SRCCOPY);


		if(pPtCtrl_Bezzer->m_opt_flag == PtCtrl_Bezzer_LinkPoint2)
			pPtCtrl_Bezzer->m_opt_flag = PtCtrl_Bezzer_Nothing;
		break;

	case PtCtrl_Bezzer_End:
        
		pPtCtrl_Bezzer->m_ptctrl_base.m_cx = pPtCtrl_Bezzer->cx;
		pPtCtrl_Bezzer->m_ptctrl_base.m_cy = pPtCtrl_Bezzer->cy;
		
		pPtCtrl_Bezzer->m_opt_flag = PtCtrl_Bezzer_Nothing;
		break;

    case PtCtrl_Bezzer_Cancel:
        
		BitBlt(m_pt_app_info.m_pt_backup_hdc,0,0,m_pt_app_info.m_bmp_file_info.bmiHeader.biWidth,m_pt_app_info.m_bmp_file_info.bmiHeader.biHeight,pPtCtrl_Bezzer->m_bak_hdc,0,0,SRCCOPY);

		//BitBlt(m_pt_app_info.m_pt_backup_hdc,0,0,PT_PIC_SIZE_X,PT_PIC_SIZE_Y,pPtCtrl_Bezzer->m_bak_hdc,0,0,SRCCOPY);
		//BitBlt(pPtCtrl->m_pdc,0,0,PT_PIC_SIZE_X,PT_PIC_SIZE_Y,pPtCtrl_Bezzer->m_bak_hdc,0,0,SRCCOPY);
        
		StretchBlt(pPtCtrl->m_pdc,
			0,0,
			m_pt_app_info.m_pt_draw_rect.right,m_pt_app_info.m_pt_draw_rect.bottom,
			m_pt_app_info.m_pt_backup_hdc,
			m_pt_app_info.m_pt_bakup_pos.x,m_pt_app_info.m_pt_bakup_pos.y,
			m_pt_app_info.m_pt_draw_rect.right>>m_pt_app_info.m_pt_zoom_size,m_pt_app_info.m_pt_draw_rect.bottom>>m_pt_app_info.m_pt_zoom_size,
			SRCCOPY);


		pPtCtrl_Bezzer->m_ptctrl_base.m_cx = pPtCtrl_Bezzer->cx;
		pPtCtrl_Bezzer->m_ptctrl_base.m_cy = pPtCtrl_Bezzer->cy;
		pPtCtrl_Bezzer->m_opt_flag = PtCtrl_Bezzer_Nothing;
	
	default :
		pPtCtrl_Bezzer->m_opt_flag = PtCtrl_Bezzer_Nothing;
		break;
	}

	return 0;
}


INT PtCtrl_Bezzer_OnDrawStyle(PtCtrlBase* pPtCtrl,  INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrl_Bezzer *pPtCtrl_Bezzer = (PtCtrl_Bezzer*)pPtCtrl;
	HPEN h_pen;
	
	RECT rt;
	GetWindowRect(m_pt_app_info.m_pt_style_bn_hwnd[tx],&rt);
	OffsetRect(&rt,-rt.left,-rt.top);
	
	if(tx == pPtCtrl->m_ctrl_style)
		FillRect(pPtCtrl->m_pdc,&rt,(HBRUSH)GetStockObject(WHITE_BRUSH));
	

	switch(tx)
	{
	case 0:
		h_pen = CreatePen(PS_SOLID,0,0);
		break;
	case 1:
		h_pen = CreatePen(PS_SOLID,2,0);
		break;
	case 2:
		h_pen = CreatePen(PS_SOLID,4,0);
		break;
	}
	
	MoveToEx(pPtCtrl->m_pdc,0,rt.bottom>>1,NULL);
	
	SelectObject(pPtCtrl->m_pdc,h_pen);
	
	LineTo(pPtCtrl->m_pdc,rt.right - 1,rt.bottom>>1);
	
	SelectObject(pPtCtrl->m_pdc,GetStockObject(WHITE_PEN));
	
	DeleteObject(h_pen);
	
	return 0;
}


⌨️ 快捷键说明

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