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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? bitmapdialog.cpp

?? 圖像處理軟件,功能比較基礎(chǔ)
?? CPP
字號:
/////////////////////////////////////////////////////////////////////////////
// Copyright (C) 1998 by J鰎g K鰊ig
// All rights reserved
//
// This file is part of the completely free tetris clone "CGTetris".
//
// This is free software.
// You may redistribute it by any means providing it is not sold for profit
// without the authors written consent.
//
// No warrantee of any kind, expressed or implied, is included with this
// software; use at your own risk, responsibility for damages (if any) to
// anyone resulting from the use of this software rests entirely with the
// user.
//
// Send bug reports, bug fixes, enhancements, requests, flames, etc., and
// I'll try to keep a version up to date.  I can be reached as follows:
//    J.Koenig@adg.de                 (company site)
//    Joerg.Koenig@rhein-neckar.de    (private site)
/////////////////////////////////////////////////////////////////////////////


// BitmapDialog.cpp
//

#include "stdafx.h"
#include "BitmapDialog.h"

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

/////////////////////////////////////////////////////////////////////////////
// CBitmapDialog dialog

CBitmapDialog::CBitmapDialog()
{
	CommonConstruct();
}


CBitmapDialog::CBitmapDialog(UINT uResource, CWnd* pParent /*=NULL*/)
	: CDialog(uResource, pParent)
{
	CommonConstruct();
}


CBitmapDialog::CBitmapDialog(LPCTSTR pszResource, CWnd* pParent /*=NULL*/)
	: CDialog(pszResource, pParent)
{
	CommonConstruct();
}


void CBitmapDialog::CommonConstruct()
{
	m_nType = BITMAP_TILE;
	VERIFY(m_HollowBrush.CreateStockObject(HOLLOW_BRUSH));

	//{{AFX_DATA_INIT(CBitmapDialog)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


BOOL CBitmapDialog :: SetBitmap(UINT uResource, int nType /*BITMAP_TILE*/) {
	m_nType = nType;
	ASSERT(m_nType == BITMAP_TILE || m_nType == BITMAP_STRETCH || m_nType == BITMAP_CENTER);
	return m_bmpBackground.LoadResource(uResource);
}


void CBitmapDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CBitmapDialog)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CBitmapDialog, CDialog)
	//{{AFX_MSG_MAP(CBitmapDialog)
	ON_WM_ERASEBKGND()
	ON_WM_CTLCOLOR()
	ON_WM_QUERYNEWPALETTE()
	ON_WM_PALETTECHANGED()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CBitmapDialog message handlers

BOOL CBitmapDialog::OnEraseBkgnd(CDC* pDC) 
{
	if(m_bmpBackground.GetPixelPtr() != 0) {
		ASSERT(m_nType == BITMAP_TILE || m_nType == BITMAP_STRETCH || m_nType == BITMAP_CENTER);
		
		CRect rc;
		GetClientRect(rc);
		int x = 0, y = 0;

		switch(m_nType) {
			case BITMAP_CENTER:
				// center the bitmap
				CDialog::OnEraseBkgnd(pDC);
				x = (rc.Width() - m_bmpBackground.GetWidth()) / 2;
				y = (rc.Height() - m_bmpBackground.GetHeight()) / 2;
				m_bmpBackground.DrawDIB(pDC, x, y);
				break;

			case BITMAP_STRETCH:
				// stretch bitmap so it will best fit to the dialog
				m_bmpBackground.DrawDIB(pDC, 0, 0, rc.Width(), rc.Height());
				break;

			default:
				// tile the bitmap
				while(y < rc.Height()) {
					while(x < rc.Width()) {
						m_bmpBackground.DrawDIB(pDC, x, y);
						x += m_bmpBackground.GetWidth();
					}
					x = 0;
					y += m_bmpBackground.GetHeight();
				}
				break;
		}
	} else
		// no bitmap set. behave like a normal dialog
		return CDialog::OnEraseBkgnd(pDC);

	return TRUE;
}

HBRUSH CBitmapDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	if(m_bmpBackground.GetPixelPtr() != 0) {
		switch(nCtlColor) {
			case CTLCOLOR_STATIC:
				// The Slider Control has CTLCOLOR_STATIC, but doesn't let
				// the background shine through,
				TCHAR lpszClassName[255];
				GetClassName(pWnd->m_hWnd, lpszClassName, 255);
				if(_tcscmp(lpszClassName, TRACKBAR_CLASS) == 0)
					return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

			case CTLCOLOR_BTN:
				// let static controls shine through
				pDC->SetBkMode(TRANSPARENT);
				return HBRUSH(m_HollowBrush);

			default:
				break;
		}
	}
	
	// if we reach this line, we haven't set a brush so far
	return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}

BOOL CBitmapDialog::OnQueryNewPalette() 
{
	CPalette * pPal = m_bmpBackground.GetPalette();
	if( pPal != 0 && GetSafeHwnd() != 0 ) {
		CClientDC dc(this);
		CPalette * pOldPalette = dc.SelectPalette(pPal, FALSE);
		UINT nChanged = dc.RealizePalette();
		dc.SelectPalette(pOldPalette, TRUE);

		if (nChanged == 0)
			return FALSE;

		Invalidate();
		return TRUE;
	}
	return CDialog::OnQueryNewPalette();
}

void CBitmapDialog::OnPaletteChanged(CWnd* pFocusWnd) 
{
	CPalette * pPal = m_bmpBackground.GetPalette();
	if( pPal != 0 && GetSafeHwnd() != 0 && pFocusWnd != this && ! IsChild(pFocusWnd) ) {
		CClientDC dc(this);
		CPalette * pOldPalette = dc.SelectPalette(pPal, TRUE);
		UINT nChanged = dc.RealizePalette();
		dc.SelectPalette(pOldPalette, TRUE);

		if( nChanged )
			Invalidate();
	} else
		CDialog::OnPaletteChanged(pFocusWnd);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区在线电影| 555夜色666亚洲国产免| 在线免费观看不卡av| 日韩你懂的在线观看| 国产精品久久毛片av大全日韩| 午夜成人免费视频| jvid福利写真一区二区三区| 在线电影一区二区三区| 国产精品网友自拍| 极品少妇xxxx精品少妇偷拍| 色婷婷久久综合| 日本一区二区三区免费乱视频 | 99久久99久久免费精品蜜臀| 欧美一区二区精品在线| 亚洲人一二三区| 国产精品一级片在线观看| 欧美日韩国产美| 亚洲情趣在线观看| 成人网在线播放| 久久久午夜精品| 日韩激情视频网站| 欧美写真视频网站| 亚洲精品免费电影| 99视频精品免费视频| 欧美精品一区二区在线播放| 秋霞影院一区二区| 日韩一区二区精品葵司在线| 亚洲成av人片一区二区梦乃| 在线观看视频一区二区| 亚洲黄一区二区三区| 99国产精品久久| 亚洲视频一区在线| 91免费看视频| 亚洲精品久久嫩草网站秘色| 色综合中文综合网| 欧美一区二区久久久| 亚洲成av人片在线观看无码| 欧美三片在线视频观看| 五月激情综合网| 678五月天丁香亚洲综合网| 视频一区二区三区在线| 91精品国产乱码久久蜜臀| 奇米影视一区二区三区小说| 日韩亚洲电影在线| 狠狠色综合色综合网络| 国产农村妇女精品| 99视频有精品| 亚洲r级在线视频| 91精品国产91久久综合桃花| 日本午夜精品一区二区三区电影| 日韩美女在线视频| 国产一区二区三区在线观看免费视频 | 偷拍自拍另类欧美| 91精品国产手机| 国产一区二区女| 成人欧美一区二区三区| 欧美系列亚洲系列| 激情综合色丁香一区二区| 精品91自产拍在线观看一区| 成年人网站91| 午夜精品福利视频网站| 精品福利一区二区三区免费视频| 国产成人免费网站| 亚洲伊人色欲综合网| 精品国产区一区| jlzzjlzz欧美大全| 日本一区中文字幕| 国产精品天干天干在观线| 在线观看欧美精品| 国产专区综合网| 亚洲一区二区在线免费观看视频| 精品日韩av一区二区| 91在线观看视频| 裸体一区二区三区| 一区免费观看视频| 精品伦理精品一区| 91福利国产精品| 国产乱人伦偷精品视频不卡| 亚洲欧美另类久久久精品| 欧美成人激情免费网| 色欧美片视频在线观看在线视频| 麻豆国产精品官网| 亚洲中国最大av网站| 久久久久久久久久久久久久久99| 欧美亚洲动漫精品| 成人小视频在线| 国产在线日韩欧美| 免费成人美女在线观看.| 一区二区三区四区不卡视频| 国产午夜精品福利| 欧美xfplay| 欧美日韩mp4| 欧美最猛黑人xxxxx猛交| 国产精品综合二区| 激情六月婷婷综合| 天堂成人国产精品一区| 亚洲精品乱码久久久久久久久| 国产午夜精品久久| wwwwww.欧美系列| 日韩欧美中文一区| 91精品国产福利| 555夜色666亚洲国产免| 欧美丝袜第三区| 在线观看亚洲一区| 91久久国产最好的精华液| 91在线无精精品入口| 丁香啪啪综合成人亚洲小说 | 99国产欧美久久久精品| 国产乱码精品一区二区三区av| 日韩电影免费一区| 日韩精品免费视频人成| 午夜欧美电影在线观看| 亚洲成人www| 视频一区视频二区中文字幕| 性久久久久久久久久久久| 一区二区三区鲁丝不卡| 一区二区三区在线观看欧美| 亚洲欧美日韩电影| 亚洲一区在线视频观看| 亚洲第一福利一区| 日韩电影一区二区三区四区| 日本欧美一区二区| 激情成人午夜视频| 国产高清精品久久久久| 成人午夜视频免费看| 成人高清视频在线| 成人app网站| 色丁香久综合在线久综合在线观看| 色综合久久99| 4438成人网| 久久人人爽爽爽人久久久| 亚洲国产高清在线观看视频| 国产精品网站在线播放| 亚洲激情图片小说视频| 午夜视频一区二区三区| 美国毛片一区二区三区| 国产精品91xxx| 99麻豆久久久国产精品免费优播| 91小视频在线观看| 制服丝袜亚洲播放| 国产亚洲精品免费| 一区二区三区**美女毛片| 石原莉奈一区二区三区在线观看| 久久av中文字幕片| eeuss鲁片一区二区三区| 欧美视频自拍偷拍| 欧美精品一区二区三区一线天视频| 国产精品沙发午睡系列990531| 亚洲综合久久久| 精品在线免费视频| 欧美成人官网二区| 欧美激情一区在线观看| 亚洲超碰精品一区二区| 国产99久久久国产精品免费看| 色呦呦日韩精品| 久久综合久久鬼色中文字| 国产精品久线观看视频| 日韩国产在线一| aaa欧美大片| 欧美一区二区三区视频在线观看| 中文字幕av资源一区| 日韩电影免费在线观看网站| 成人免费观看男女羞羞视频| 欧美一级精品大片| 国产精品精品国产色婷婷| 免费成人在线网站| 色偷偷久久人人79超碰人人澡| 精品福利一二区| 五月天视频一区| 色94色欧美sute亚洲线路一ni | 欧美日韩一区二区三区在线 | 欧美精品一二三| 中文字幕一区二区三区在线不卡| 蜜臀av一级做a爰片久久| 91精彩视频在线观看| 国产欧美日本一区视频| 免费欧美在线视频| 欧美吻胸吃奶大尺度电影| 国产精品视频一二| 国产一区二区福利| 欧美大肚乱孕交hd孕妇| 亚洲第一电影网| 91国产免费看| 亚洲精品国产a| 91麻豆国产福利在线观看| 国产视频视频一区| 国产麻豆精品视频| 91麻豆精品国产自产在线观看一区| 亚洲精品老司机| 色偷偷成人一区二区三区91| 国产精品久久毛片| 成人av免费在线观看| 国产免费成人在线视频| 国产精品一区在线| 337p粉嫩大胆色噜噜噜噜亚洲 | 一区二区免费在线| 91丨porny丨首页| 亚洲私人影院在线观看| 成人综合婷婷国产精品久久蜜臀| 久久日韩精品一区二区五区|