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

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

?? picviewview.cpp

?? 基于EVC的用于window ce 50實現圖象瀏覽的一個小程序啊
?? CPP
字號:
// PicViewView.cpp : implementation of the CPicViewView class
//

#include "stdafx.h"
#include "PicView.h"

#include "PicViewDoc.h"
#include "PicViewView.h"

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


//---------------------------------------------------------------------------
//
//	CPicViewView
//
//---------------------------------------------------------------------------


IMPLEMENT_DYNCREATE(CPicViewView, CScrollView)

BEGIN_MESSAGE_MAP(CPicViewView, CScrollView)
	//{{AFX_MSG_MAP(CPicViewView)
	ON_WM_CREATE()
	ON_WM_SETFOCUS()
	ON_WM_DESTROY()
	ON_WM_LBUTTONDOWN()
	ON_WM_MOUSEMOVE()
	ON_WM_SIZE()
	ON_UPDATE_COMMAND_UI(ID_SHOW_TITLE, OnUpdateShowTitle)
	ON_COMMAND(ID_SHOW_TITLE, OnShowTitle)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


//---------------------------------------------------------------------------
//
//	CPicViewView construction/destruction
//
//---------------------------------------------------------------------------


CPicViewView::CPicViewView()
:	m_bHorz	(TRUE),
	m_bVert	(TRUE)
{
}


CPicViewView::~CPicViewView()
{
}


BOOL CPicViewView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CScrollView::PreCreateWindow(cs);
}


BOOL CPicViewView::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext) 
{
	return CWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
}


// CPicViewView::ContextMenu
//
//		Displays the context menu
//
void CPicViewView::ContextMenu(CPoint point)
{
	CMenu	mnuCtxt;
	CMenu*	pMenu;
	CWnd*	pWnd;

	if(mnuCtxt.LoadMenu(IDR_MENU_CONTEXT))
	{
		pWnd = AfxGetMainWnd();

		pMenu = mnuCtxt.GetSubMenu(0);
		if(pMenu)
		{
			pMenu->TrackPopupMenu(TPM_LEFTALIGN,
				point.x, point.y, pWnd);
		}
	}
}


//---------------------------------------------------------------------------
//
//	CPicViewView drawing
//
//---------------------------------------------------------------------------


// CPicViewView::OnDraw
//
//		Draw the bitmap at the appropriate zoom
//
void CPicViewView::OnDraw(CDC* pDC)
{
	CPicViewDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	HBITMAP	hBmp;
	CDC		dcMem;

	hBmp = pDoc->GetBitmap();
	if(hBmp)
	{
		CPoint	pt;
		CRect	rcClient;

		GetClientRect(&rcClient);
		pt = GetScrollPosition();

		dcMem.CreateCompatibleDC(NULL);
		dcMem.SelectObject(hBmp);

		pDC->StretchBlt(rcClient.left, rcClient.top, 
						rcClient.right, rcClient.bottom, 
						&dcMem, 
						pDoc->ScaleScreen(pt.x), 
						pDoc->ScaleScreen(pt.y),
						pDoc->ScaleScreen(rcClient.right),
						pDoc->ScaleScreen(rcClient.bottom),
						SRCCOPY);
	}
}


// CPicViewView::ScrollTo
//
//		Scrolls the view to the new position.
//		This is MFC code without the scroll, in order to avoid
//		"jagged" scrolling.
//
void CPicViewView::ScrollTo(CPoint point)
{
    int xMax = GetScrollLimit(SB_HORZ);
    int yMax = GetScrollLimit(SB_VERT);

    if(point.x < 0)
        point.x = 0;
    else if(point.x > xMax)
        point.x = xMax;
    if(point.y < 0)
        point.y = 0;
    else if(point.y > yMax)
        point.y = yMax;

	if(m_bHorz)
		SetScrollPos(SB_HORZ, point.x);
	if(m_bVert)
		SetScrollPos(SB_VERT, point.y);
}


//---------------------------------------------------------------------------
//
//	CPicViewView updating
//
//---------------------------------------------------------------------------


// CPicViewView::OnInitialUpdate
//
//		Initializes the view
//
void CPicViewView::OnInitialUpdate()
{
	CScrollView::OnInitialUpdate();
}


// CPicViewView::OnUpdate
//
//		Updates the view
//
void CPicViewView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) 
{
	CSize			sizeTotal;
	CPicViewDoc*	pDoc = GetDocument();

	ASSERT_VALID(pDoc);

	if(pDoc->GetBitmap())
	{
		sizeTotal.cx = pDoc->GetZoomWidth();
		sizeTotal.cy = pDoc->GetZoomHeight();

		SetScrollSizes(MM_TEXT, sizeTotal);

		InvalidateRect(NULL, FALSE);

		m_wndTitleBar.SetTitle(pDoc->GetTitle());
	}
}


//---------------------------------------------------------------------------
//
//	CPicViewView diagnostics
//
//---------------------------------------------------------------------------


#ifdef _DEBUG


void CPicViewView::AssertValid() const
{
	CScrollView::AssertValid();
}


void CPicViewView::Dump(CDumpContext& dc) const
{
	CScrollView::Dump(dc);
}


CPicViewDoc* CPicViewView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CPicViewDoc)));
	return (CPicViewDoc*)m_pDocument;
}


#endif //_DEBUG


//---------------------------------------------------------------------------
//
//	CPicViewView message handlers
//
//---------------------------------------------------------------------------


// CPicViewView::OnCreate
//
//		The view has been created
//
int CPicViewView::OnCreate(LPCREATESTRUCT lpCreateStruct )
{
	int iResult = CView::OnCreate(lpCreateStruct);

	if(iResult == 0)
	{
		ShowDoneButton(TRUE);

		m_wndTitleBar.Create(GetParent());
	}

	return iResult;
}


void CPicViewView::OnSetFocus(CWnd* pOldWnd)
{
	CView::OnSetFocus(pOldWnd);
	//::SHSipPreference(m_hWnd, SIP_UP);
}


void CPicViewView::OnDestroy()
{
	if(IsWindow(m_wndTitleBar))
		m_wndTitleBar.DestroyWindow();

	CView::OnDestroy();
}


// CPicViewView::OnLButtonDown
//
//		Handles the stylus tap
//
void CPicViewView::OnLButtonDown(UINT nFlags, CPoint point) 
{
	SHRGINFO	shrgi = {0};

	m_ptOrig = point;	// Store the initial point.

	//
	// Handle tap-and-hold
	//
	shrgi.cbSize		= sizeof(SHRGINFO);
	shrgi.hwndClient	= m_hWnd;
	shrgi.ptDown.x		= point.x;
	shrgi.ptDown.y		= point.y;
	shrgi.dwFlags		= SHRG_RETURNCMD;

	if(GN_CONTEXTMENU == ::SHRecognizeGesture(&shrgi))
	{
		ContextMenu(point);
	}
	else
	{
		Default();
	}
}


// CPicViewView::OnMouseMove
//
//		The user is dragging the view.
//		Scroll it accordingly, simulating the "tap-and-scroll"
//
void CPicViewView::OnMouseMove(UINT nFlags, CPoint point) 
{
	CPoint	ptDelta,
			ptScroll,
			pt;

	ptDelta		= m_ptOrig - point;
	m_ptOrig	= point;

	pt = GetScrollPosition();
	pt += ptDelta;

	ScrollTo(pt);
	InvalidateRect(NULL, FALSE);
	UpdateWindow();

	CScrollView::OnMouseMove(nFlags, point);
}


// CPicViewView::OnSize
//
//		The window was resized
//
void CPicViewView::OnSize(UINT nType, int cx, int cy) 
{
	CRect			rc;
	CPicViewDoc*	pDoc = GetDocument();

	ASSERT_VALID(pDoc);

	CScrollView::OnSize(nType, cx, cy);

	GetClientRect(&rc);

	m_bHorz = pDoc->GetZoomWidth()  > rc.Width();
	m_bVert = pDoc->GetZoomHeight() > rc.Height();
}


void CPicViewView::OnUpdateShowTitle(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck(IsWindow(m_wndTitleBar));
}


void CPicViewView::OnShowTitle() 
{
	CFrameWnd*	pFrame = (CFrameWnd*)GetParent();

	if(IsWindow(m_wndTitleBar))
		m_wndTitleBar.DestroyWindow();
	else
		m_wndTitleBar.Create(pFrame);

	pFrame->RecalcLayout();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩综合av| 精品精品国产高清一毛片一天堂| 亚洲在线观看免费| 日韩精品自拍偷拍| 91美女片黄在线| 亚洲精品菠萝久久久久久久| 日韩免费看网站| 95精品视频在线| 精品一二三四在线| 日韩伦理av电影| 欧美不卡一区二区三区四区| 91在线国产福利| 国产成人免费视频网站| 一区二区三区中文免费| 日韩写真欧美这视频| 91亚洲资源网| 久久99精品国产.久久久久久| 18成人在线观看| 欧美三级视频在线| 成人av电影观看| 国内精品伊人久久久久av影院| 亚洲天堂2014| 亚洲国产精品成人久久综合一区| 91搞黄在线观看| 成人综合在线网站| 久久 天天综合| 日日骚欧美日韩| 综合在线观看色| 国产欧美日韩另类一区| 日韩三级高清在线| 欧洲一区二区三区在线| 成人免费视频视频在线观看免费| 日本va欧美va精品发布| 亚洲最大成人网4388xx| 综合色中文字幕| 国产精品免费丝袜| 日韩美女天天操| 在线成人高清不卡| 欧美在线观看18| 色狠狠综合天天综合综合| 国产成a人亚洲精| 蜜臀av性久久久久蜜臀av麻豆| 亚洲美女屁股眼交3| 中文欧美字幕免费| 日韩精品资源二区在线| 日韩一级二级三级| 91精品国产综合久久久久久漫画| 欧美主播一区二区三区| 国产精品123| 国产精品亚洲专一区二区三区 | 精品视频一区二区不卡| 一本色道亚洲精品aⅴ| 成人av在线资源| av网站免费线看精品| 国产成人精品亚洲777人妖| 国产一区二区在线视频| 狠狠久久亚洲欧美| 国产又粗又猛又爽又黄91精品| 七七婷婷婷婷精品国产| 久草在线在线精品观看| 国产在线视频一区二区| 日本在线不卡一区| 蜜臀久久99精品久久久画质超高清| 亚洲成人av中文| 亚洲sss视频在线视频| 午夜久久久影院| 琪琪久久久久日韩精品| 久久精品久久久精品美女| 色综合一区二区| 91看片淫黄大片一级| 欧洲人成人精品| 在线播放中文一区| 日韩精品一区二区三区在线播放| 欧美日韩亚洲国产综合| 777久久久精品| 久久香蕉国产线看观看99| 久久久www成人免费无遮挡大片| 2017欧美狠狠色| 亚洲品质自拍视频| 久久精品理论片| 91首页免费视频| 欧美v国产在线一区二区三区| 日本一区二区三区在线观看| 亚洲h动漫在线| 成人av网站免费| 日韩欧美高清在线| 亚洲精品你懂的| 国产精品一区二区你懂的| 欧洲一区二区三区在线| 国产色产综合色产在线视频| 午夜免费欧美电影| 成人黄色免费短视频| 欧美一区三区二区| 一区二区三区四区国产精品| 国产在线播精品第三| 精品视频色一区| 18成人在线视频| 国产精品亚洲成人| 日韩精品一区二区三区中文精品| 夜夜嗨av一区二区三区网页| 国产盗摄女厕一区二区三区| 欧美美女一区二区三区| 亚洲三级免费观看| 国产精品资源网| 日韩欧美一区二区久久婷婷| 亚洲与欧洲av电影| 91视频91自| 国产精品天干天干在观线| 六月丁香婷婷久久| 欧美日韩国产高清一区二区三区 | 99在线精品观看| 久久久激情视频| 久久er99热精品一区二区| 国产精品毛片久久久久久久| 日本欧美加勒比视频| 在线观看网站黄不卡| 国产精品伦理在线| 国产精品资源站在线| 精品国产免费人成在线观看| 日韩专区在线视频| 欧美性大战久久久久久久| 亚洲欧美综合网| 不卡视频一二三四| 国产精品婷婷午夜在线观看| 国产99久久久久| 久久久久久日产精品| 国产伦精品一区二区三区免费迷| 日韩三级中文字幕| 麻豆国产欧美日韩综合精品二区| 337p亚洲精品色噜噜| 视频一区欧美精品| 91精品在线一区二区| 男女激情视频一区| 日韩欧美亚洲国产精品字幕久久久| 日韩二区三区四区| 日韩视频123| 精品一区二区免费在线观看| 日韩欧美国产系列| 国产一区二区三区电影在线观看| 久久亚洲精品小早川怜子| 国产成人精品网址| 中文字幕在线观看不卡| 色婷婷综合在线| 亚洲成av人片在线观看| 日韩视频中午一区| 国产一级精品在线| 中文字幕一区在线观看视频| 色噜噜狠狠色综合欧洲selulu| 一区二区三区四区乱视频| 欧美老女人第四色| 久久国产生活片100| 欧美国产欧美综合| 91在线国产福利| 午夜一区二区三区在线观看| 欧美一区二区福利视频| 国产在线一区二区综合免费视频| 国产清纯白嫩初高生在线观看91 | 欧美精品一级二级三级| 蜜桃视频一区二区三区| 久久综合九色综合97婷婷女人| 丁香天五香天堂综合| 一区二区欧美国产| 日韩一区二区三区精品视频| 国产精品99久久久久| 中文字幕一区二区三区蜜月| 欧美日韩午夜在线视频| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲色欲色欲www| 日韩午夜在线播放| av电影在线观看一区| 天天做天天摸天天爽国产一区| 久久一区二区视频| 日本高清视频一区二区| 激情欧美日韩一区二区| 亚洲精品免费在线| 久久久久一区二区三区四区| 色视频欧美一区二区三区| 青青草一区二区三区| 亚洲婷婷国产精品电影人久久| 宅男在线国产精品| eeuss影院一区二区三区 | 奇米四色…亚洲| 亚洲婷婷国产精品电影人久久| 欧美一区二区免费| 色综合久久综合网欧美综合网| 免费人成黄页网站在线一区二区| 国产精品伦一区二区三级视频| 7777精品伊人久久久大香线蕉完整版 | 欧美日本精品一区二区三区| 国产精品一区二区在线观看网站| 亚洲影视在线播放| 久久精品在线免费观看| 国产精品久久久久久久久搜平片| 欧洲精品在线观看| 成人中文字幕在线| 捆绑紧缚一区二区三区视频| 亚洲最大成人综合| 中文字幕中文字幕一区| www国产成人| 337p亚洲精品色噜噜噜|