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

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

?? mousedemo1view.cpp

?? < VC++編程寶典>>配套源代碼, 對于想精通VC++的朋友很有幫助!
?? CPP
字號:
// MouseDemo1View.cpp : implementation of
// the CMouseDemo1View class
//

#include "stdafx.h"
#include "MouseDemo1.h"

#include "MouseDemo1Doc.h"
#include "MouseDemo1View.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMouseDemo1View

IMPLEMENT_DYNCREATE(CMouseDemo1View, CView)

BEGIN_MESSAGE_MAP(CMouseDemo1View, CView)
	//{{AFX_MSG_MAP(CMouseDemo1View)
	ON_WM_LBUTTONDOWN()
	ON_WM_LBUTTONUP()
	ON_WM_LBUTTONDBLCLK()
	ON_WM_RBUTTONDOWN()
	ON_WM_RBUTTONUP()
	ON_WM_RBUTTONDBLCLK()
	ON_WM_MOUSEMOVE()
	ON_COMMAND(ID_FILE_MOUSEINFORMATIONMODE_GRIDDISPLAY, OnFileMouseGriddisplay)
	ON_UPDATE_COMMAND_UI(ID_FILE_MOUSEINFORMATIONMODE_GRIDDISPLAY, OnUpdateFileMouseGriddisplay)
	ON_COMMAND(ID_FILE_MOUSEINFORMATIONMODE_POSITIONINFORMATION, OnFileMousePositioninformation)
	ON_UPDATE_COMMAND_UI(ID_FILE_MOUSEINFORMATIONMODE_POSITIONINFORMATION, OnUpdateFileMousePositioninformation)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMouseDemo1View construction/destruction

CMouseDemo1View::CMouseDemo1View()
{

	// Start in the mode that shows mouse
	// info, not the grid of rectangles.
	m_nInfoMode = MOUSE_SHOWINFO;

	// Clear the two dimensional grid array.
	for( int y=0; y<10; y++ )
		for( int x=0; x<10; x++ )
			m_nGrid[x][y] = 0;

}

CMouseDemo1View::~CMouseDemo1View()
{
}

BOOL CMouseDemo1View::PreCreateWindow(CREATESTRUCT& cs)
{
	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CMouseDemo1View drawing

void CMouseDemo1View::OnDraw(CDC* pDC)
{
	CMouseDemo1Doc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	// We only perform a redraw when we're
	// set to MOUSE_SHOWGRID mode.
	if( m_nInfoMode == MOUSE_SHOWGRID ){

		// Use the client rectangle
		// in order to draw the grid
		// rectangles in a size proportional
		// to the client rectangle.
		RECT Rect;
		GetClientRect( &Rect );

		// Create red, white and blue brushs.
		CBrush RedBrush( RGB( 255, 0, 0 ) );
		CBrush BlueBrush( RGB( 0, 0, 255 ) );
		CBrush WhiteBrush( RGB( 255, 255, 255 ) );
		CBrush *pUseBrush;

		// The grid has ten horizontal and ten
		// vertical components.
		for( int y=0; y<10; y++ ){
			for( int x=0; x<10; x++ ){

				// Assign DrawRect by calculating
				// one tenth of the client
				// rectangle.
				RECT DrawRect;
				DrawRect.left =
					( x * Rect.right ) / 10;
				DrawRect.top =
					( y * Rect.bottom ) / 10;
				DrawRect.right =
					DrawRect.left + ( Rect.right / 10 ) + 1;
				DrawRect.bottom =
					DrawRect.top + ( Rect.bottom / 10 );

				// Select the brush for drawing
				// based on whether the grid
				// is empty, set to left, or
				// set to right.
				pUseBrush = &WhiteBrush;
				if( m_nGrid[x][y] == 1 )
					pUseBrush = &BlueBrush;
				else if( m_nGrid[x][y] == 2 )
					pUseBrush = &RedBrush;

				// Draw the filled rectangle.
				pDC->FillRect( &DrawRect, pUseBrush );
				}
			}
		}

}

/////////////////////////////////////////////////////////////////////////////
// CMouseDemo1View diagnostics

#ifdef _DEBUG
void CMouseDemo1View::AssertValid() const
{
	CView::AssertValid();
}

void CMouseDemo1View::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CMouseDemo1Doc* CMouseDemo1View::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMouseDemo1Doc)));
	return (CMouseDemo1Doc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMouseDemo1View message handlers

void CMouseDemo1View::OnLButtonDown(UINT nFlags,
	CPoint point) 
{

	// Call the function that displays the mouse
	// information.
	ShowMouseInfo( "LButtonDown", point, 1 );

	// Call the default OnLButtonDown() function.
	CView::OnLButtonDown(nFlags, point);
}

void CMouseDemo1View::OnLButtonUp(UINT nFlags,
	CPoint point) 
{

	// Call the function that displays the mouse
	// information.
	ShowMouseInfo( "LButtonUp", point );
	
	// Call the default OnLButtonUp() function.
	CView::OnLButtonUp(nFlags, point);
}

void CMouseDemo1View::OnLButtonDblClk(UINT nFlags,
	CPoint point) 
{

	// Call the function that displays the mouse
	// information.
	ShowMouseInfo( "LButtonDblClk", point );
	
	// Call the default OnLButtonDblClk() function.
	CView::OnLButtonDblClk(nFlags, point);
}

void CMouseDemo1View::OnRButtonDown(UINT nFlags, 
	CPoint point) 
{

	// Call the function that displays the mouse
	// information.
	ShowMouseInfo( "RButtonDown", point, 2 );
	
	// Call the default OnRButtonDown() function.
	CView::OnRButtonDown(nFlags, point);
}

void CMouseDemo1View::OnRButtonUp(UINT nFlags,
	CPoint point) 
{

	// Call the function that displays the mouse
	// information.
	ShowMouseInfo( "RButtonUp", point );
	
	// Call the default OnRButtonUp() function.
	CView::OnRButtonUp(nFlags, point);
}

void CMouseDemo1View::OnRButtonDblClk(UINT nFlags, 
	CPoint point) 
{

	// Call the function that displays the mouse
	// information.
	ShowMouseInfo( "RButtonDblClk", point );
	
	// Call the default OnRButtonDblClk() function.
	CView::OnRButtonDblClk(nFlags, point);
}

void CMouseDemo1View::OnMouseMove(UINT nFlags, 
	CPoint point) 
{

	// Only show the mouse position if
	// we're set to MOUSE_SHOWINFO
	if( m_nInfoMode == MOUSE_SHOWINFO ){
		CClientDC ClientDC( this );

		CString strInfo;

		// Copy the CPoint class so
		// that we can convert it to
		// screen coordinates.
		CPoint pt = point;

		// Convert to screen coordinates.
		ClientToScreen( &pt );

		// Format the information.
		strInfo.Format(
			"X:%d Y:%d ScnX:%d ScnY:%d            ",
			point.x, point.y,
			pt.x, pt.y );

		// Draw the information string to
		// the window.
		ClientDC.TextOut( 0, 0,
			strInfo, strInfo.GetLength() );
		}
	
	// Call the default OnMouseMove() function.
	CView::OnMouseMove(nFlags, point);
}

void CMouseDemo1View::ShowMouseInfo(
	const char *lpszText, CPoint point, int nFlag )
{

	// Perform the following code if
	// we're set to MOUSE_SHOWGRID.
	if( m_nInfoMode == MOUSE_SHOWGRID ){
		if( nFlag != -1 ){

			// Get the client rectangle
			// so that we can calculate which
			// x and y index the current
			// click position.
			RECT Rect;
			GetClientRect( &Rect );

			// Use the client rectangle
			// and divide by ten to calculate
			// the x and y grid indexes.
			int x = ( point.x * 10 ) / Rect.right;
			int y = ( point.y * 10 ) / Rect.bottom;

			// Either set the grid to left or right
			// button states, or clear them so that
			// the grid array is empty.
			if( m_nGrid[x][y] == nFlag )
				m_nGrid[x][y] = 0;
			else
				m_nGrid[x][y] = nFlag;

			// Cause the window to redraw.
			InvalidateRect( NULL, FALSE );
			UpdateWindow();
			}
		return;
		}

	// Get a DC to the client window.
	CClientDC ClientDC( this );

	CString strInfo;

	// Format the output string.
	strInfo.Format(
		"X:%d Y:%d %s        ",
		point.x, point.y, lpszText );

	// Draw the output string to the
	// window.
	ClientDC.TextOut( point.x, point.y,
		strInfo, strInfo.GetLength() );

}

void CMouseDemo1View::OnFileMouseGriddisplay() 
{

	// Set to MOUSE_SHOWGRID mode.
	if( m_nInfoMode != MOUSE_SHOWGRID ){
		m_nInfoMode = MOUSE_SHOWGRID;
		InvalidateRect( NULL, TRUE );
		UpdateWindow();
		}

}

void CMouseDemo1View::OnUpdateFileMouseGriddisplay(
	CCmdUI* pCmdUI) 
{

	// Set the menu check if we're
	// in MOUSE_SHOWGRID mode.
	pCmdUI->SetCheck( m_nInfoMode == MOUSE_SHOWGRID );

}

void CMouseDemo1View::OnFileMousePositioninformation() 
{

	// Set to MOUSE_SHOWINFO mode.
	if( m_nInfoMode != MOUSE_SHOWINFO ){
		m_nInfoMode = MOUSE_SHOWINFO;
		InvalidateRect( NULL, TRUE );
		UpdateWindow();
		}

}

void
CMouseDemo1View::OnUpdateFileMousePositioninformation(
	CCmdUI* pCmdUI) 
{

	// Set the menu check if we're
	// in MOUSE_SHOWINFO mode.
	pCmdUI->SetCheck( m_nInfoMode == MOUSE_SHOWINFO );

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av电影天堂一区二区在线| 日韩经典中文字幕一区| 国内成+人亚洲+欧美+综合在线| 欧美午夜精品久久久| 亚洲愉拍自拍另类高清精品| 日本伦理一区二区| 五月婷婷综合网| 欧美一级二级三级乱码| 捆绑变态av一区二区三区| 精品99一区二区| 波多野结衣精品在线| 亚洲欧美国产77777| 欧美日韩另类国产亚洲欧美一级| 亚洲一区二区三区美女| 日韩午夜在线播放| 国产美女一区二区| 一区二区三区在线看| 欧美日韩一级黄| 国产在线麻豆精品观看| 国产精品你懂的在线| 欧美吻胸吃奶大尺度电影| 麻豆成人免费电影| 日本一区二区视频在线| 在线精品视频一区二区三四| 青青草成人在线观看| 欧美国产丝袜视频| 欧美日韩高清一区二区三区| 国内精品免费**视频| 亚洲美女视频一区| 欧美va亚洲va香蕉在线| 色综合中文字幕国产| 性感美女极品91精品| 日本一区二区动态图| 欧美日韩另类一区| 成年人国产精品| 秋霞av亚洲一区二区三| 国产精品国产三级国产三级人妇 | 一区二区三区在线看| 日韩三级av在线播放| 91在线观看污| 精品一区二区三区免费| 亚洲精品五月天| 久久色在线视频| 欧美日韩一区视频| www.亚洲色图| 久久国产人妖系列| 亚洲国产综合在线| 成人欧美一区二区三区1314 | 777亚洲妇女| 99麻豆久久久国产精品免费| 免费看精品久久片| 亚洲国产成人av| 国产精品人妖ts系列视频 | 久久综合狠狠综合久久激情| 色婷婷一区二区三区四区| 欧美午夜在线一二页| 国产精品99久久久久久有的能看| 亚洲一区电影777| 亚洲女性喷水在线观看一区| 国产欧美日韩在线观看| 精品国产电影一区二区| 7777精品伊人久久久大香线蕉超级流畅 | 2023国产精华国产精品| 69堂成人精品免费视频| 日本韩国欧美在线| 99国产精品久久久久久久久久久| 九九九精品视频| 免费精品视频在线| 亚洲国产cao| 午夜精品福利视频网站| 亚洲女同ⅹxx女同tv| 亚洲婷婷国产精品电影人久久| 亚洲国产电影在线观看| 久久久噜噜噜久久中文字幕色伊伊| 宅男在线国产精品| 欧美一区二区高清| 日韩一区二区视频在线观看| 欧美精品久久一区二区三区| 欧美性大战久久久| 欧美久久久久久久久| 欧美一区二区在线视频| 欧美一区二区在线播放| 欧美一区二区在线免费观看| 日韩三级中文字幕| 久久久午夜电影| 国产日韩欧美a| 国产精品初高中害羞小美女文| 欧美激情一区二区三区蜜桃视频| 国产精品妹子av| 亚洲欧美激情视频在线观看一区二区三区| 国产精品久久精品日日| 亚洲色图视频网| 亚洲一区二区三区影院| 热久久一区二区| 国产乱码精品一区二区三区五月婷| 激情偷乱视频一区二区三区| 国产精品一级在线| 91捆绑美女网站| 欧美高清激情brazzers| 精品久久久久久久人人人人传媒| 2024国产精品| 亚洲免费成人av| 日韩avvvv在线播放| 狠狠v欧美v日韩v亚洲ⅴ| 国产xxx精品视频大全| 色哦色哦哦色天天综合| 欧美另类一区二区三区| 精品国偷自产国产一区| 国产精品久久久久久久久免费桃花 | 亚洲天堂成人在线观看| 亚洲国产精品久久久男人的天堂| 麻豆精品新av中文字幕| www.亚洲精品| 日韩欧美一区中文| 国产精品久久久久久久第一福利 | 成人免费观看视频| 欧美系列一区二区| 久久理论电影网| 亚洲婷婷综合久久一本伊一区| 亚洲成人av一区| 成人小视频免费观看| 欧美久久久久免费| 国产精品网站在线观看| 亚洲国产一区二区a毛片| 国产在线精品国自产拍免费| 在线精品视频一区二区| 久久嫩草精品久久久精品| 亚洲一区二区三区精品在线| 国产一区二区调教| 欧美日本韩国一区二区三区视频| 久久精品人人做人人爽人人| 首页欧美精品中文字幕| 99视频一区二区| 精品久久一区二区| 亚洲福利电影网| 91丨porny丨中文| 精品1区2区在线观看| 五月婷婷欧美视频| 色婷婷av一区二区三区软件| 久久久不卡网国产精品二区| 亚洲第一激情av| 日本高清视频一区二区| 中文字幕精品在线不卡| 日本va欧美va瓶| 欧美日韩亚洲综合一区二区三区 | 樱花影视一区二区| 国产不卡视频在线播放| 精品久久人人做人人爰| 天天色天天操综合| 色国产综合视频| 国产精品盗摄一区二区三区| 国产成人在线网站| 2023国产精品视频| 蜜臀va亚洲va欧美va天堂| 精品视频在线视频| 亚洲一级片在线观看| 色香蕉成人二区免费| 国产精品视频观看| 国产91精品一区二区麻豆亚洲| 欧美一级专区免费大片| 丝袜亚洲精品中文字幕一区| 欧美性欧美巨大黑白大战| 亚洲综合清纯丝袜自拍| 欧美视频一区二区| 亚洲尤物视频在线| 欧美日韩三级一区二区| 亚洲一区二区视频| 欧美喷潮久久久xxxxx| 日韩va欧美va亚洲va久久| 欧美日韩国产综合一区二区三区| 亚洲最新视频在线观看| 色婷婷精品久久二区二区蜜臂av | 成人精品免费网站| 中文字幕第一页久久| 成人久久视频在线观看| 亚洲国产电影在线观看| 99精品久久99久久久久| 亚洲激情综合网| 欧美日韩午夜精品| 日本系列欧美系列| 亚洲精品在线免费播放| 国产麻豆日韩欧美久久| 国产精品卡一卡二卡三| 在线视频国内一区二区| 亚洲va韩国va欧美va| 91精品国产91久久久久久最新毛片| 免费av网站大全久久| 久久久青草青青国产亚洲免观| 成人精品亚洲人成在线| 亚洲欧美另类在线| 欧美一区二区三区四区视频| 精品一二线国产| 国产精品萝li| 欧美日韩国产美女| 狠狠色2019综合网| 亚洲图片欧美激情| 欧美一区二区福利在线| 大胆亚洲人体视频| 午夜av区久久| 国产香蕉久久精品综合网|