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

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

?? childview.cpp

?? VC書籍 MFC+Widnows程序設計+Code.rar
?? CPP
字號:
// ChildView.cpp : implementation of the CChildView class
//

#include "stdafx.h"
#include "Colors.h"
#include "ChildView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CChildView

CChildView::CChildView()
{
	m_nShape = 1; // Triangle
	m_nColor = 0; // Red
}

CChildView::~CChildView()
{
}

BEGIN_MESSAGE_MAP(CChildView,CWnd )
	//{{AFX_MSG_MAP(CChildView)
	ON_WM_PAINT()
	ON_COMMAND(ID_SHAPE_CIRCLE, OnShapeCircle)
	ON_COMMAND(ID_SHAPE_TRIANGLE, OnShapeTriangle)
	ON_COMMAND(ID_SHAPE_SQUARE, OnShapeSquare)
	ON_UPDATE_COMMAND_UI(ID_SHAPE_CIRCLE, OnUpdateShapeCircle)
	ON_UPDATE_COMMAND_UI(ID_SHAPE_TRIANGLE, OnUpdateShapeTriangle)
	ON_UPDATE_COMMAND_UI(ID_SHAPE_SQUARE, OnUpdateShapeSquare)
	ON_WM_CONTEXTMENU()
	//}}AFX_MSG_MAP
	ON_COMMAND_RANGE (ID_COLOR_RED, ID_COLOR_BLUE, OnColor)
	ON_UPDATE_COMMAND_UI_RANGE (ID_COLOR_RED, ID_COLOR_BLUE, OnUpdateColor)
END_MESSAGE_MAP()

const COLORREF CChildView::m_clrColors[5] = {
	RGB ( 255,   0,   0), // Red
	RGB ( 255, 255,   0), // Yellow
	RGB (   0, 255,   0), // Green
	RGB (   0, 255, 255), // Cyan
	RGB (   0,   0, 255)  // Blue
};

/////////////////////////////////////////////////////////////////////////////
// CChildView message handlers

BOOL CChildView::PreCreateWindow(CREATESTRUCT& cs) 
{
	if (!CWnd::PreCreateWindow(cs))
		return FALSE;

	cs.dwExStyle |= WS_EX_CLIENTEDGE;
	cs.style &= ~WS_BORDER;
	cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS, 
		::LoadCursor(NULL, IDC_ARROW), HBRUSH(COLOR_WINDOW+1), NULL);

	return TRUE;
}

void CChildView::OnPaint() 
{
	CPoint points[3];
	CPaintDC dc(this);
	
	CRect rcClient;
	GetClientRect (&rcClient);

	int cx = rcClient.Width () / 2;
	int cy = rcClient.Height () / 2;
	CRect rcShape (cx - 45, cy - 45, cx + 45, cy + 45);

	CBrush brush (m_clrColors[m_nColor]);
	CBrush* pOldBrush = dc.SelectObject (&brush);

	switch (m_nShape) {	

	case 0: // Circle
		dc.Ellipse (rcShape);
		break;

	case 1: // Triangle
		points[0].x = cx - 45;
		points[0].y = cy + 45;
		points[1].x = cx;
		points[1].y = cy - 45;
		points[2].x = cx + 45;
		points[2].y = cy + 45;
		dc.Polygon (points, 3);
		break;

	case 2: // Square
		dc.Rectangle (rcShape);
		break;
	}
	dc.SelectObject (pOldBrush);
}

void CChildView::OnShapeCircle() 
{
	m_nShape = 0;
	Invalidate ();	
}

void CChildView::OnShapeTriangle() 
{
	m_nShape = 1;
	Invalidate ();	
}

void CChildView::OnShapeSquare() 
{
	m_nShape = 2;
	Invalidate ();	
}

void CChildView::OnUpdateShapeCircle(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck (m_nShape == 0);	
}

void CChildView::OnUpdateShapeTriangle(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck (m_nShape == 1);	
}

void CChildView::OnUpdateShapeSquare(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck (m_nShape == 2);	
}

void CChildView::OnColor (UINT nID)
{
	m_nColor = nID - ID_COLOR_RED;
	Invalidate ();
}

void CChildView::OnUpdateColor (CCmdUI* pCmdUI)
{
	pCmdUI->SetCheck ((int) pCmdUI->m_nID - ID_COLOR_RED == m_nColor);
}

void CChildView::OnContextMenu(CWnd* pWnd, CPoint point) 
{
    CRect rcClient;
    GetClientRect (&rcClient);

	int cx = rcClient.Width () / 2;
	int cy = rcClient.Height () / 2;
	CRect rcShape (cx - 45, cy - 45, cx + 45, cy + 45);
	
	CPoint pos = point;
	ScreenToClient (&pos);

	CPoint points[3];
	BOOL bShapeClicked = FALSE;
	int dx, dy;

	//
	// Hit test the shape.
	//
	switch (m_nShape) {

	case 0: // Circle
		dx = pos.x - cx;
		dy = pos.y - cy;
		if ((dx * dx) + (dy * dy) <= (45 * 45))
			bShapeClicked = TRUE;
		break;

	case 1: // Triangle
		if (rcShape.PtInRect (pos)) {
	        dx = min (pos.x - rcShape.left, rcShape.right - pos.x);
	        if ((rcShape.bottom - pos.y) < (2 * dx))
	            bShapeClicked = TRUE;
		}
		break;

	case 2: // Square
		if (rcShape.PtInRect (pos))
			bShapeClicked = TRUE;
		break;
	}

	//
	// Display a context menu if the shape was clicked.
	//
    if (bShapeClicked) {
        CMenu menu;
        menu.LoadMenu (IDR_CONTEXTMENU);
        CMenu* pContextMenu = menu.GetSubMenu (0);

        for (int i=0; i<5; i++)
            pContextMenu->ModifyMenu (ID_COLOR_RED + i,
                MF_BYCOMMAND | MF_OWNERDRAW, ID_COLOR_RED + i);

        pContextMenu->TrackPopupMenu (TPM_LEFTALIGN | TPM_LEFTBUTTON |
            TPM_RIGHTBUTTON, point.x, point.y, AfxGetMainWnd ());
        return;
    }

	//
	// Call the base class if the shape was not clicked.
	//
    CWnd::OnContextMenu (pWnd, point);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品免费看国产免费软件| 男男gaygay亚洲| 日韩精品一区二区三区视频播放 | 亚洲免费观看高清在线观看| 欧美精品久久久久久久多人混战| 99久久婷婷国产精品综合| 国产一区二区三区日韩| 日韩精品一二区| 自拍偷拍欧美精品| 国产三级精品三级在线专区| 欧美日韩极品在线观看一区| 日本二三区不卡| 91传媒视频在线播放| eeuss鲁一区二区三区| 国产成人av资源| 日日嗨av一区二区三区四区| 亚洲高清视频在线| 天堂av在线一区| 五月天欧美精品| 免费在线欧美视频| 午夜精品一区二区三区电影天堂 | 一级中文字幕一区二区| 国产精品久久久久精k8| 中文字幕色av一区二区三区| 国产欧美精品一区二区色综合| 久久网站热最新地址| 久久一区二区视频| 国产精品久久久久久亚洲毛片| 中文无字幕一区二区三区| 亚洲精品一区二区三区福利| 久久色在线视频| 国产精品嫩草99a| 亚洲美女偷拍久久| 一区二区三国产精华液| 日韩电影在线一区二区| 久久精品国产成人一区二区三区| 蜜乳av一区二区三区| 国产自产视频一区二区三区| 丁香五精品蜜臀久久久久99网站| 国产白丝网站精品污在线入口| 成人黄色综合网站| 91久久香蕉国产日韩欧美9色| 欧美日韩在线不卡| 久久丝袜美腿综合| 亚洲精品欧美综合四区| 五月天丁香久久| 精品一区精品二区高清| 99精品欧美一区二区蜜桃免费| 色一区在线观看| 日韩亚洲欧美在线观看| 在线观看欧美黄色| 精品久久久影院| 国产精品第13页| 日韩国产在线一| 粉嫩一区二区三区在线看| 欧美性一区二区| 久久九九国产精品| 亚洲一区欧美一区| 国产成人精品网址| 欧美一级高清片| 综合欧美亚洲日本| 韩国在线一区二区| 99久久精品99国产精品| 欧美一区二区三区人| 国产精品二三区| 国产综合久久久久久鬼色 | 日韩一区二区三区在线观看| 国产视频一区在线观看| 日本美女一区二区三区视频| 国产麻豆一精品一av一免费| 欧美日韩亚洲综合一区二区三区| 国产女人aaa级久久久级| 免费在线观看一区| 91蜜桃传媒精品久久久一区二区| 日韩美女在线视频| 无码av免费一区二区三区试看| 粉嫩一区二区三区性色av| 日韩视频在线观看一区二区| 日韩制服丝袜av| 日韩小视频在线观看专区| 人人精品人人爱| 亚洲精品在线电影| 成人手机电影网| 亚洲欧洲日韩一区二区三区| 成人a级免费电影| 亚洲精品第1页| 欧美在线观看18| 天堂av在线一区| ww久久中文字幕| 成人动漫一区二区在线| 亚洲免费观看高清完整| 欧美午夜不卡视频| 日本成人中文字幕| 久久久久久久电影| 91麻豆自制传媒国产之光| 亚洲一区二区五区| 欧美精品tushy高清| 精一区二区三区| 国产精品国产三级国产三级人妇| 91啪在线观看| 美女网站视频久久| 亚洲国产精品v| 欧美色视频在线观看| 美女精品一区二区| 国产欧美一区二区精品性色超碰| 色婷婷精品大在线视频| 奇米一区二区三区av| 亚洲国产精华液网站w| 色婷婷综合激情| 黑人巨大精品欧美黑白配亚洲 | 成人精品视频.| 亚洲a一区二区| 久久这里只有精品首页| 一本色道久久综合狠狠躁的推荐 | 高清不卡在线观看| 亚洲成人中文在线| 久久久不卡网国产精品一区| 色综合久久中文综合久久牛| 麻豆成人av在线| 亚洲猫色日本管| 久久精品日韩一区二区三区| 欧美日韩国产在线观看| 国产91高潮流白浆在线麻豆| 日韩中文字幕1| 一区二区三区四区乱视频| 久久综合五月天婷婷伊人| 欧美主播一区二区三区| 成人黄色免费短视频| 久久精品72免费观看| 一个色在线综合| 国产精品天美传媒| 精品播放一区二区| 欧美精品乱码久久久久久| 色悠悠久久综合| av中文一区二区三区| 国产91精品露脸国语对白| 久久国产精品区| 婷婷丁香激情综合| 亚洲国产一区二区三区青草影视| 日本一区二区电影| 久久精品一区二区三区av| 欧美tickling网站挠脚心| 欧美日本一区二区| 欧美日韩高清影院| 欧美亚洲精品一区| 在线观看国产91| 在线观看视频欧美| 欧美亚洲综合久久| 欧美中文字幕一区| 在线日韩一区二区| 91激情在线视频| 色先锋久久av资源部| 色噜噜久久综合| 欧美亚洲精品一区| 欧美日韩国产三级| 7777精品伊人久久久大香线蕉完整版 | 6080yy午夜一二三区久久| 欧美视频一区二区三区在线观看 | 欧美人妖巨大在线| 欧美日韩中文字幕一区二区| 欧美性一二三区| 日韩午夜电影av| 久久久久国产精品麻豆| 久久精品视频在线看| 日本一区二区三区久久久久久久久不 | 乱中年女人伦av一区二区| 日本欧美久久久久免费播放网| 免费精品视频在线| 国产成人精品三级| 色综合视频在线观看| 精品污污网站免费看| 欧美一区二区成人6969| 久久久久久亚洲综合| 亚洲啪啪综合av一区二区三区| 一区二区三区影院| 奇米影视7777精品一区二区| 国产伦精一区二区三区| 99国产精品国产精品毛片| 欧美三片在线视频观看| 精品播放一区二区| 亚洲理论在线观看| 蜜臀av一区二区在线观看| 国产suv精品一区二区三区| 欧洲另类一二三四区| 精品国产免费人成在线观看| 中文天堂在线一区| 无码av免费一区二区三区试看 | jiyouzz国产精品久久| 欧美男女性生活在线直播观看| 久久综合五月天婷婷伊人| 亚洲美女在线一区| 国产一区二区伦理| 欧美三级欧美一级| 欧美激情资源网| 美国十次综合导航| 欧美午夜一区二区三区免费大片| 久久夜色精品一区| 日韩高清不卡一区二区三区| av一区二区三区| 久久天天做天天爱综合色|