亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? guiminisplitter.cpp

?? 該文件包含有C8051單片機中實現UART波特率自檢的功能
?? CPP
字號:
//-----------------------------------------------------------------------//
// This is a part of the GuiLib MFC Extention.							 //	
// Autor  :  Francisco Campos											 //
// (C) 2002 Francisco Campos <www.beyondata.com> All rights reserved     //
// This code is provided "as is", with absolutely no warranty expressed  //
// or implied. Any use is at your own risk.								 //		
// You must obtain the author's consent before you can include this code //
// in a software library.												 //
// If the source code in  this file is used in any application			 //
// then acknowledgement must be made to the author of this program		 //	
// fco_campos@tutopia.com													 //
//-----------------------------------------------------------------------//

#include "stdafx.h"
#include "..\header\GuiMiniSplitter.h"
#include "..\header\GuiDrawLayer.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CGuiMiniSplitter

CGuiMiniSplitter::CGuiMiniSplitter()
{
	bIniciaArrastre=FALSE;
	m_clrface=GuiDrawLayer::GetRGBColorFace();
	m_clrborder=GuiDrawLayer::GetRGBColorShadow();
	m_ToolLeft=NULL;
	m_ToolRight=NULL;

}

CGuiMiniSplitter::~CGuiMiniSplitter()
{
}


BEGIN_MESSAGE_MAP(CGuiMiniSplitter, CWnd)
	//{{AFX_MSG_MAP(CGuiMiniSplitter)
	ON_WM_SIZE()
	ON_WM_SYSCOLORCHANGE()
	ON_WM_PAINT()
	ON_WM_LBUTTONDOWN()
	ON_WM_LBUTTONUP()
	ON_WM_MOUSEMOVE()
	ON_WM_SETCURSOR()
	ON_WM_TIMER()
	ON_WM_ERASEBKGND()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CGuiMiniSplitter message handlers

BOOL CGuiMiniSplitter::Create(CWnd* pParentWnd)
{
	return CWnd::Create(0,0,
				 WS_CHILD|WS_VISIBLE,CRect(0,0,0,0), pParentWnd,0xffff);
}

void CGuiMiniSplitter::OnSize(UINT nType, int cx, int cy) 
{
	CWnd::OnSize(nType, cx, cy);
	RecalLayout();
	// TODO: Add your message handler code here
	
}

void CGuiMiniSplitter::RecalLayout()
{
	CRect m_rectCli;
	CRect m_rctemp;
	if (m_ToolLeft== NULL || m_ToolRight==NULL) return ;
	GetClientRect(m_rectCli);
	if (m_rectCli.IsRectEmpty()) return;
	if (m_rcSplitter.IsRectEmpty())
	{
		m_rcSplitter=m_rectCli;
		m_rcSplitter.right=m_rectCli.Width()/2;
		m_rcSplitter.left=m_rcSplitter.right-3;	
	}
	
	m_rcSplitter.right=m_rcSplitter.left+3;
	m_rctemp=m_rectCli;
	m_rctemp.right=m_rcSplitter.left-1;
	m_ToolLeft->MoveWindow(m_rctemp);
	m_rctemp=m_rectCli;
	m_rctemp.left=m_rcSplitter.right+1;
	m_ToolRight->MoveWindow(m_rctemp);

}
void CGuiMiniSplitter::OnSysColorChange() 
{
	CWnd::OnSysColorChange();
	
}

void CGuiMiniSplitter::OnPaint() 
{
	CPaintDC dc(this);
	CBrush cbr;
	CRect rcClient;
	GetClientRect(&rcClient);
	cbr.CreateSolidBrush(m_clrface);
	
	CDC			MemDC;
	CBitmap		m_BitmapMemDC;
	MemDC.CreateCompatibleDC(&dc);
	m_BitmapMemDC.CreateCompatibleBitmap(&dc,
				  rcClient.Width(),rcClient.Height());	

	CBitmap* m_bitmapOld=MemDC.SelectObject(&m_BitmapMemDC);
	MemDC.FillRect(&rcClient,&cbr);
	DrawSplitter(m_rcSplitter,&MemDC);
	
	dc.BitBlt(0,0,rcClient.Width(),rcClient.Height(),&MemDC,
		      rcClient.left,rcClient.top,SRCCOPY);
	MemDC.SelectObject(m_bitmapOld);
	m_BitmapMemDC.DeleteObject();
	MemDC.DeleteDC();
}


void CGuiMiniSplitter::OnLButtonUp(UINT nFlags, CPoint point) 
{
		if (bIniciaArrastre==TRUE)
		{
			bIniciaArrastre=FALSE;
			RecalLayout();
			ReleaseCapture ();	
			Invalidate();
		}
		
	
		CWnd::OnLButtonUp(nFlags, point);

}



void CGuiMiniSplitter::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	if (m_rcSplitter.PtInRect(point) && !bIniciaArrastre)
		{
			bIniciaArrastre=TRUE;		
			SetCapture ();
			InvalidateRect(m_rcSplitter,TRUE);
		}
	else
		CWnd::OnLButtonDown(nFlags, point);
}

void CGuiMiniSplitter::OnMouseMove(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CRect m_rectCli;
	GetClientRect(m_rectCli);
    if (bIniciaArrastre==TRUE)
    {
		m_rcSplitterOld=m_rcSplitter;
		if (point.x < m_rectCli.left+50) 
			m_rcSplitter.left=50;
		else if (point.x >m_rectCli.right-50)
			m_rcSplitter.left=m_rectCli.right-55;
		else 
		{
			m_rcSplitter.left=	point.x;
			m_rcSplitter.right=point.x+3;
		}
		CClientDC dc(this);
		
		DrawSplitter(m_rcSplitter,&dc);
		InvalidateRect(m_rcSplitterOld);
		RecalLayout();
	}
	else
		CWnd::OnMouseMove(nFlags, point);
}

BOOL CGuiMiniSplitter::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 
{
	// TODO: Add your message handler code here and/or call default
	CPoint ptCurPos;
	GetCursorPos (&ptCurPos);
	ScreenToClient (&ptCurPos);

	if (m_rcSplitter.PtInRect (ptCurPos))
	{
		SetCursor (LoadCursor(NULL, IDC_SIZEWE));
		return TRUE;
	}
		
	return CWnd::OnSetCursor(pWnd, nHitTest, message);
}

void CGuiMiniSplitter::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	
	CWnd::OnTimer(nIDEvent);
}

BOOL CGuiMiniSplitter::OnEraseBkgnd(CDC* pDC) 
{
	return TRUE;
}

void  CGuiMiniSplitter::SetColor(COLORREF m_clrFace,COLORREF m_clrBorder)
{
	if (!GetSafeHwnd()) return;
	if (!HIWORD(m_ToolLeft) || !HIWORD(m_ToolRight))
		return;
	m_clrface=m_clrFace;
	m_clrborder=m_clrBorder;

	m_ToolLeft->SetColor(m_clrface);
	m_ToolRight->SetColor(m_clrface);
}


BOOL CGuiMiniSplitter::AddMiniToolLeft(CGuiMiniTool * m_Toolleft)
{
	if (!m_Toolleft->Create(_T(""),WS_VISIBLE | WS_CHILD |SS_OWNERDRAW, 
						CRect(0,0,0,0), this))
		return FALSE;
	m_ToolLeft= m_Toolleft;
	return TRUE;
}

BOOL CGuiMiniSplitter::AddMiniToolRight(CGuiMiniTool * m_Toolright)
{
	CRect m_rectCli;
	GetClientRect(m_rectCli);
	if (!m_Toolright->Create(_T(""),WS_VISIBLE | WS_CHILD |SS_OWNERDRAW, 
						CRect(0,0,0,0), this))
		return FALSE;
	m_ToolRight=m_Toolright;
	RecalLayout();
	return TRUE;
}


void  CGuiMiniSplitter::DrawSplitter(CRect rc,CDC* pDC)
{
	//CClientDC dc(this);
	rc.top+=1;
	rc.bottom-=1;
	pDC->Draw3dRect(rc,m_clrborder,m_clrborder);

}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀av一区二区在线观看| 欧美成人aa大片| 亚洲综合丝袜美腿| 99久久国产综合精品色伊| 国产精品免费看片| 成人久久久精品乱码一区二区三区| 久久久久久久性| 国产成人av电影在线| 国产精品久久久一本精品| 91美女在线看| 亚洲成人动漫在线免费观看| 欧美精品久久99| 精品午夜久久福利影院| 国产午夜久久久久| 成人美女视频在线观看18| 亚洲天堂免费看| 欧美日韩高清一区二区三区| 蜜臀精品一区二区三区在线观看 | 91精品国产免费久久综合| 日本成人在线网站| 国产欧美一区二区精品忘忧草| 99久久精品国产一区二区三区| 亚洲一级二级三级在线免费观看| 日韩一区二区在线观看视频 | 日本视频一区二区三区| 2022国产精品视频| 91一区在线观看| 视频一区二区三区中文字幕| 精品国产91乱码一区二区三区| 成人激情动漫在线观看| 亚洲国产成人精品视频| 国产丝袜美腿一区二区三区| 欧美在线看片a免费观看| 国产一区久久久| 一区二区三区视频在线看| 精品久久久久香蕉网| 99riav久久精品riav| 精品亚洲免费视频| 一区二区三区在线视频观看58| 日韩一二三区不卡| 91丨porny丨户外露出| 毛片av一区二区| 亚洲综合视频在线观看| 亚洲国产精品ⅴa在线观看| 在线播放一区二区三区| av爱爱亚洲一区| 国产一区二区三区高清播放| 亚洲一区在线电影| 国产精品久99| 2019国产精品| 91麻豆精品国产91久久久使用方法| 成人18精品视频| 国内成人免费视频| 视频一区视频二区在线观看| 18成人在线观看| 久久久国产一区二区三区四区小说| 欧美电影一区二区| 91黄色在线观看| 成人va在线观看| 国产成人午夜视频| 九九热在线视频观看这里只有精品| 亚洲午夜久久久久中文字幕久| 国产精品二区一区二区aⅴ污介绍| 精品国产乱码久久久久久久久 | 欧美一区二区视频在线观看2020| 91丝袜美女网| 99国产精品久久久久| 国产电影一区在线| 国产综合久久久久久久久久久久 | 亚洲精品视频观看| 国产精品美女久久福利网站| 久久久久久久久久久99999| 精品久久久久久久久久久久包黑料 | 免费人成在线不卡| 日本欧美韩国一区三区| 日韩影院免费视频| 日韩国产精品久久久| 日韩电影免费一区| 蜜臀av在线播放一区二区三区| 日本午夜精品视频在线观看| 日韩激情一二三区| 热久久国产精品| 精品一区二区三区在线观看| 看片的网站亚洲| 久久国产精品色| 国产做a爰片久久毛片| 经典三级视频一区| 国产精品一区二区91| 国产激情视频一区二区在线观看 | 成人一级片网址| jlzzjlzz欧美大全| 91精品91久久久中77777| 91成人免费电影| 欧美日韩不卡一区| 91麻豆精品国产| 日韩精品一区二区三区视频 | 欧美激情一区二区三区蜜桃视频| 日本一区二区综合亚洲| 国产精品久久99| 亚洲妇女屁股眼交7| 蜜臀av国产精品久久久久| 国产一区二区不卡老阿姨| 99热在这里有精品免费| 在线国产电影不卡| 欧美一区二区精品| 久久精品这里都是精品| 中文av字幕一区| 亚洲一区二区三区四区的| 美女脱光内衣内裤视频久久网站 | 免播放器亚洲一区| 国产麻豆精品视频| 91精品办公室少妇高潮对白| 欧美一卡在线观看| 欧美高清在线视频| 亚洲第一主播视频| 国产乱码精品一区二区三区av| 97久久精品人人做人人爽| 欧美电影一区二区三区| 中文字幕免费不卡| 午夜精品久久久久久久99水蜜桃| 国产成人日日夜夜| 欧美写真视频网站| 久久久99精品久久| 亚洲高清视频的网址| 国产成人免费高清| 欧美一区二区三区男人的天堂| 国产精品高潮久久久久无| 日本不卡123| 91免费看片在线观看| 日韩精品在线一区二区| 亚洲欧美偷拍另类a∨色屁股| 免费成人结看片| 在线观看亚洲专区| 国产嫩草影院久久久久| 日韩va亚洲va欧美va久久| 99re这里只有精品视频首页| 久久女同精品一区二区| 日韩中文字幕1| 色婷婷精品久久二区二区蜜臂av | 在线不卡中文字幕| 亚洲欧美另类综合偷拍| 国产一区二区三区在线观看免费| 欧美探花视频资源| 国产精品久久免费看| 国产一区二区三区在线观看免费视频| 欧美三级电影精品| 亚洲精品免费在线| 成人激情免费视频| 国产午夜久久久久| 久久99热狠狠色一区二区| 欧美色精品天天在线观看视频| 国产精品成人免费| 国产成人精品综合在线观看 | 欧美三区免费完整视频在线观看| 国产精品美女久久久久久久| 国产精品综合网| 日韩精品一区国产麻豆| 青草av.久久免费一区| 欧美三级韩国三级日本三斤| 亚洲精品中文字幕乱码三区| 97国产精品videossex| 国产精品久久久久久久岛一牛影视 | 国产日韩欧美精品综合| 国产又粗又猛又爽又黄91精品| 4438成人网| 美女诱惑一区二区| 欧美大片免费久久精品三p| 日本不卡123| 欧美一区二区三区色| 日本视频在线一区| 日韩精品专区在线影院观看| 久久se精品一区二区| 久久综合狠狠综合久久综合88| 麻豆91精品91久久久的内涵| 日韩欧美一二区| 久久99国内精品| 精品国产乱码久久久久久1区2区| 狠狠色丁香久久婷婷综合_中| 精品成人私密视频| 国产成人精品亚洲777人妖 | 日本系列欧美系列| 精品久久久久一区| 国产suv一区二区三区88区| 亚洲国产精品成人综合色在线婷婷 | 韩国v欧美v亚洲v日本v| 久久综合九色欧美综合狠狠| 国产 日韩 欧美大片| 专区另类欧美日韩| 欧美视频一区在线观看| 蜜桃在线一区二区三区| 久久精品在线观看| 91麻豆免费视频| 亚洲国产成人av| 精品精品国产高清a毛片牛牛| 国产精品自拍三区| 自拍av一区二区三区| 欧美浪妇xxxx高跟鞋交| 国产永久精品大片wwwapp| 日韩毛片高清在线播放| 91精品国产免费|