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

📄 ptctrl_getcolor.cpp

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

#include "CEPaint.h"

#include <afx.h>

PtCtrl_GetColor g_ptctl_getcolor;

INT InitPbCtrl_GetColor(PtCtrl_GetColor *pPtCtrl_GetColor)
{
    InitPbCtrlBase((PtCtrlBase*)pPtCtrl_GetColor);
	

	pPtCtrl_GetColor->m_ptctrl_base.PtCtrl_Init = PtCtrl_GetColor_Init;
	pPtCtrl_GetColor->m_ptctrl_base.PtCtrl_Destroy = PtCtrl_GetColor_Destroy;
	
	pPtCtrl_GetColor->m_ptctrl_base.PtCtrl_OnPaintStart = PtCtrl_GetColor_OnPaintStart;
	pPtCtrl_GetColor->m_ptctrl_base.PtCtrl_OnPaintEnd = PtCtrl_GetColor_OnPaintEnd;
	
	pPtCtrl_GetColor->m_ptctrl_base.PtCtrl_OnStyleChange = PtCtrl_GetColor_OnStyleChange;
	pPtCtrl_GetColor->m_ptctrl_base.PtCtrl_OnColorChange = PtCtrl_GetColor_OnColorChange;
	
	pPtCtrl_GetColor->m_ptctrl_base.PtCtrl_OnMouseDown = PtCtrl_GetColor_OnMouseDown;
	pPtCtrl_GetColor->m_ptctrl_base.PtCtrl_OnMouseMove = PtCtrl_GetColor_OnMouseMove;
	pPtCtrl_GetColor->m_ptctrl_base.PtCtrl_OnMouseRelease = PtCtrl_GetColor_OnMouseRelease;

	pPtCtrl_GetColor->m_ptctrl_base.PtCtrl_OnDrawBoard = PtCtrl_GetColor_OnDrawBoard;
	pPtCtrl_GetColor->m_ptctrl_base.PtCtrl_OnDrawStyle = PtCtrl_GetColor_OnDrawStyle;
		
	return 0;
}

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

	PtCtrl_GetColor *pPtCtrl_GetColor = (PtCtrl_GetColor*)pPtCtrl;
	
	pPtCtrl_GetColor->m_ptctrl_base.m_ctrl_id = PtCtrlType_GetColor;

	pPtCtrl_GetColor->m_opt_flag = PtCtrl_GetColor_Nothing;
	
	pPtCtrl_GetColor->cx = -1;
	pPtCtrl_GetColor->cy = -1;

	pPtCtrl_GetColor->m_pen = NULL;
	return 0;
}

INT PtCtrl_GetColor_Destroy(PtCtrlBase* pPtCtrl, INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrlBase_Destroy(pPtCtrl);
   
    PtCtrl_GetColor *pPtCtrl_GetColor = (PtCtrl_GetColor*)pPtCtrl;

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

	return 0;
}

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

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

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

	PtCtrl_GetColor *pPtCtrl_GetColor = (PtCtrl_GetColor*)pPtCtrl;
    
    pPtCtrl_GetColor->cx = -1;
	pPtCtrl_GetColor->cy = -1;

	pPtCtrl_GetColor->m_opt_flag = PtCtrl_GetColor_Nothing;
	

	return 0;
}

INT PtCtrl_GetColor_OnStyleChange(PtCtrlBase* pPtCtrl,  INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrlBase_OnStyleChange(pPtCtrl,tx);
	
	PtCtrl_GetColor *pPtCtrl_GetColor = (PtCtrl_GetColor*)pPtCtrl;
	
	
	return 0;
}

INT PtCtrl_GetColor_OnColorChange(PtCtrlBase* pPtCtrl,  INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrlBase_OnColorChange(pPtCtrl,tx,ty);
	
	PtCtrl_GetColor *pPtCtrl_GetColor = (PtCtrl_GetColor*)pPtCtrl;
	
	if(pPtCtrl_GetColor->m_pen != NULL)
		DeleteObject(pPtCtrl_GetColor->m_pen);

	pPtCtrl_GetColor->m_pen = CreatePen(PS_SOLID,0,m_pt_app_info.m_color_cur);
	
	
	return 0;
}


INT PtCtrl_GetColor_OnMouseDown(PtCtrlBase* pPtCtrl,  INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrlBase_OnMouseDown(pPtCtrl);
    
	PtCtrl_GetColor *pPtCtrl_GetColor = (PtCtrl_GetColor*)pPtCtrl;

	pPtCtrl_GetColor->m_opt_flag = PtCtrl_GetColor_SetPixel;
    
	pPtCtrl_GetColor->m_ptctrl_base.m_cx = abs(tx);
	pPtCtrl_GetColor->m_ptctrl_base.m_cy = abs(ty);

	pPtCtrl_GetColor->cx = abs(tx);
    pPtCtrl_GetColor->cy = abs(ty);

	//InvalidateRect(m_pt_app_info.m_pt_board_hwnd,NULL,FALSE);
    
	if(tx > 0 && ty > 0)
		pPtCtrl_GetColor->m_ptctrl_base.PtCtrl_OnColorChange(pPtCtrl,GetPixel(m_pt_app_info.m_pt_backup_hdc,pPtCtrl_GetColor->cx,pPtCtrl_GetColor->cy + (14 >> m_pt_app_info.m_pt_zoom_size)),0); // cursor height
	else
        pPtCtrl_GetColor->m_ptctrl_base.PtCtrl_OnColorChange(pPtCtrl,GetPixel(m_pt_app_info.m_pt_backup_hdc,pPtCtrl_GetColor->cx,pPtCtrl_GetColor->cy + (14 >> m_pt_app_info.m_pt_zoom_size)),1); // cursor height 
    

	RECT rt;

	GetWindowRect(GetDlgItem(m_pt_app_info.m_main_win_hwnd,IDC_SC_COLOR),&rt);
	RedrawWindow(m_pt_app_info.m_main_win_hwnd,&rt,NULL,RDW_INVALIDATE);

	//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);
	TRACE(L"On Mouse Down\n");
	
	return 0;
}

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

// 	if(pPtCtrl->m_mouse_state & PT_MOUSE_DOWN)
// 	{
// 		TRACE("OnMouseMove\n");
// 
// 		PtCtrl_GetColor *pPtCtrl_GetColor = (PtCtrl_GetColor*)pPtCtrl;
// 		pPtCtrl_GetColor->m_opt_flag = PtCtrl_GetColor_LinkLine;
// 		
// 		pPtCtrl_GetColor->cx = tx;
// 		pPtCtrl_GetColor->cy = ty;
// 		
// 				
// 		InvalidateRect(m_pt_app_info.m_pt_board_hwnd, &m_pt_app_info.m_pt_board_rect,FALSE);
// 		
// 	}
	

	return 0;
}

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


	return 0;
}


INT PtCtrl_GetColor_OnDrawBoard(PtCtrlBase* pPtCtrl,  INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrl_GetColor *pPtCtrl_GetColor = (PtCtrl_GetColor*)pPtCtrl;
	
	switch(pPtCtrl_GetColor->m_opt_flag)
	{
	case PtCtrl_GetColor_SetPixel:
		break;

	default :
		pPtCtrl_GetColor->m_opt_flag = PtCtrl_GetColor_Nothing;
		return 1;
	}
	
	pPtCtrl_GetColor->m_opt_flag = PtCtrl_GetColor_Nothing;
	return 0;
}

INT PtCtrl_GetColor_OnDrawStyle(PtCtrlBase* pPtCtrl,  INT tx /* = -1 */, INT ty /* = -1 */)
{
	PtCtrlBase_OnDrawStyle(pPtCtrl,tx);
	PtCtrl_GetColor *pPtCtrl_GetColor = (PtCtrl_GetColor*)pPtCtrl;

	
	return 0;
}

⌨️ 快捷键说明

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