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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? staticcounter.h

?? 《MFC窗口程序設(shè)計(jì)》書(shū)籍源碼 詳細(xì)講解MFC框架程序設(shè)計(jì)
?? H
字號(hào):
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// CStaticCounter - CStatic derived numeric counter display
//
// Author: Jason Hattingh
// Email:  jhattingh@greystonefx.com
//
// You may freely use or modify this code provided this
// notice is included in all derived versions.
//
// This class implements a LED style counter without the need for bitmap resources
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//#define WM_UPDATE_STATIC (WM_USER+0x411)		// user defined WM message

#if !defined(AFX_STATICCOUNTER_H__F666A491_3847_11D3_A58E_00805FC1DE10__INCLUDED_)
#define AFX_STATICCOUNTER_H__F666A491_3847_11D3_A58E_00805FC1DE10__INCLUDED_

#include "../stdafx.h"
#include "3DBar.h"

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// StaticCounter.h : header file
//

const unsigned short BARHEIGHTMIN = 6;

const DWORD STCOUNTER0    = 252;
const DWORD STCOUNTER1    = 96;
const DWORD STCOUNTER2    = 218;
const DWORD STCOUNTER3    = 242;
const DWORD STCOUNTER4    = 102;
const DWORD STCOUNTER5    = 182;
const DWORD STCOUNTER6    = 190;
const DWORD STCOUNTER7    = 224;
const DWORD STCOUNTER8    = 254;
const DWORD STCOUNTER9    = 246;
const DWORD STCOUNTER10  = 2;		// The minus sign [2]
const DWORD STCOUNTER11  = 256;	  // The "point"
const DWORD STCOUNTER12  = 257;	  // The "colon" (:)
const DWORD STCOUNTERALL  = 999;

const DWORD NOTCH1 = 128;
const DWORD NOTCH2 = 64;
const DWORD NOTCH3 = 32;
const DWORD NOTCH4 = 16;
const DWORD NOTCH5 = 8;
const DWORD NOTCH6 = 4;
const DWORD NOTCH7 = 2;		// The minus sign
const DWORD NOTCH8 = 1;		// Not used...

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// CStaticDC - memory DC
//
// Author: Keith Rule, keithr@europa.com,  Copyright 1996-1997, Keith Rule
//
// You may freely use or modify this code provided this copyright is included in all derived versions.
//
// History - 10/3/97 Fixed scrolling bug.
//                   Added print support.
//				 - 14/7/99 Added optional clip rect parameter [jgh]
//

	class CStaticDC : public CDC {
	private:
		CBitmap m_bitmap; // Offscreen bitmap
		CBitmap* m_oldBitmap; // bitmap originally found in CStaticDC
		CDC* m_pDC; // Saves CDC passed in constructor
		CRect m_rect; // Rectangle of drawing area.
		BOOL m_bMemDC; // TRUE if CDC really is a Memory DC.
	public:
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Function Header
		CStaticDC(CDC* pDC, CRect rect = CRect(0,0,0,0)) : CDC(), m_oldBitmap(NULL), m_pDC(pDC)
		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		{
			ASSERT(m_pDC != NULL); // If you asserted here, you passed in a NULL CDC.
			
			m_bMemDC = !pDC->IsPrinting();
			
			if (m_bMemDC){
				// Create a Memory DC
				CreateCompatibleDC(pDC);
				if ( rect == CRect(0,0,0,0) )
					pDC->GetClipBox(&m_rect);
				else
					m_rect = rect;

				m_bitmap.CreateCompatibleBitmap(pDC, m_rect.Width(), m_rect.Height());
				m_oldBitmap = SelectObject(&m_bitmap);
				SetWindowOrg(m_rect.left, m_rect.top);
			} else {
				// Make a copy of the relevent parts of the current DC for printing
				m_bPrinting = pDC->m_bPrinting;
				m_hDC = pDC->m_hDC;
				m_hAttribDC = pDC->m_hAttribDC;
			}
		}
		
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Function Header
		~CStaticDC()
		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		{
			if (m_bMemDC) {
				// Copy the offscreen bitmap onto the screen.
				m_pDC->BitBlt(m_rect.left, m_rect.top, m_rect.Width(), m_rect.Height(),
					this, m_rect.left, m_rect.top, SRCCOPY);
				//Swap back the original bitmap.
				SelectObject(m_oldBitmap);
			} else {
				// All we need to do is replace the DC with an illegal value,
				// this keeps us from accidently deleting the handles associated with
				// the CDC that was passed to the constructor.
				m_hDC = m_hAttribDC = NULL;
			}
		}
		
		// Allow usage as a pointer
		CStaticDC* operator->() {return this;}
		
		// Allow usage as a pointer
		operator CStaticDC*() {return this;}
	};


// End CStaticDC
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	Begin: class CStaticCounter
//
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

class CStaticCounter : public CStatic
{
// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CStaticCounter)
	//}}AFX_VIRTUAL

// Implementation
public:
	CStaticCounter();
	virtual ~CStaticCounter();

	void SetFormatString(CString strFormat="%.3d")	{ 
		m_strFormat = strFormat;
		if (m_strFormat.Find('f')>0) m_bFloat=TRUE; else m_bFloat=FALSE;
		Update(); 
	};

	void SetID(UINT uID) { m_uID=uID; };

	static CRect GetRect(UINT uID, CDialog* pDlg);

	void SetBarHeight(int nHeight=BARHEIGHTMIN) { 
		nHeight<BARHEIGHTMIN?m_nBarHeight=BARHEIGHTMIN:m_nBarHeight=nHeight;};

	void SetAllowInteraction(bool bValue=TRUE){m_bAllowInteraction=bValue;};

	float GetPos() { return m_fPos; };

	void SetPos( int nPos, bool bSetRange=FALSE, float fMin=0, float fMax=100 )	{
		m_bFloat=FALSE; 
		if (bSetRange)	{
			ASSERT(fMin <= fMax);
			SetRange(fMin, fMax); 
			if ( (float)nPos<fMin ) nPos = (int)fMin;
			if ( (float)nPos>fMax ) nPos = (int)fMax;
		}
		m_fPos = (float)nPos; 
		DisplayInt( (int)m_fPos );	
	};
	void SetPos( float fPos, bool bSetRange=FALSE, float fMin=0, float fMax=100 ){
		m_bFloat=TRUE; 
		if (bSetRange)	{
			ASSERT(fMin <= fMax);
			SetRange(fMin, fMax); 
			if ( fPos<fMin ) fPos = fMin;
			if ( fPos>fMax ) fPos = fMax;
		}
		m_fPos = fPos; 
		DisplayFloat( m_fPos ); 
	};

	void SetBlankPadding(int nPadding){ m_nBlankPadding = nPadding;};

	void SetRange( float fMin=0, float fMax=100 ) {	
		ASSERT(fMin <= fMax); 
		if ( m_fPos<fMin ) m_fPos = fMin;
		if ( m_fPos>fMax ) m_fPos = fMax;
		m_fMin = fMin;
		m_fMax = fMax;
	};

	void SetDrawFaded(bool bState=TRUE){	m_bDrawFadedNotches = bState;	};
	void SetDraw3DBar(bool bState=TRUE){	m_bDraw3DBar = bState;	};

	void Display( CString strDisplay )	{ m_strDisplay = strDisplay; Invalidate(FALSE);	};
	
	void DisplayInt(int nValue, bool bSetFmtStr=FALSE, CString strFormat="%.3d")	{ 
		m_bFloat=FALSE;
		if (bSetFmtStr) m_strFormat = strFormat;
		m_strDisplay.Format(m_strFormat, nValue); 
		Invalidate(FALSE); 
	};
	void DisplayFloat(float fValue, bool bSetFmtStr=FALSE, CString strFormat="%.2f")	{
		m_bFloat=TRUE; 
		if (bSetFmtStr) m_strFormat = strFormat;	
		m_strDisplay.Format(m_strFormat, fValue); 
		Update();	
	};
	void DisplayTime( CString strFormat = "%H:%M:%S" )	{ 
		m_bDraw3DBar=FALSE; Display( (CTime::GetCurrentTime()).Format(strFormat) ); };
	void DisplayTime(UINT uSecs, UINT uMins=0, UINT uHours=0, UINT uDays=0, CString strFormat="%D:%H:%M:%S") {	
		m_bDraw3DBar=FALSE; Display( (CTimeSpan(uDays, uHours, uMins, uSecs)).Format(strFormat) );	};

	void SetColourFaded(COLORREF crColor ){	m_bSpecifiedFadeColour = TRUE;	m_crDimForeground = crColor; Invalidate(FALSE); };
	void SetColours(COLORREF crFG, COLORREF crBG = 0, COLORREF crChannel=RGB(0,100,0)){ 
		m_crForeground = crFG;	
		m_crBackground = crBG; 
		m_3DBar.SetBarColour(crChannel); 
		Invalidate(FALSE);	
	};

protected:
	
	void Update()
	{
		if (::IsWindow(m_hWnd))	Display(m_strDisplay);
	}

	void CalculateMetrics();
	void Draw( CStaticDC* pDC, DWORD dwChar, int nCol);

	int m_nLastAmount;

	unsigned short m_nBarHeight;

	bool m_bDrawFadedNotches;
	bool m_bGotMetrics;
	bool m_bSpecifiedFadeColour;

	CString m_strDisplay;
	CString m_strFormat;

	CRect m_recClient;

	float m_fMin, m_fMax;

protected:
	int m_nBlankPadding;
	UINT m_uID;
	int m_nMovement;
	C3DBar m_3DBar;

	int m_nNotchWidth;
	int m_nNotchLength;
	int m_nMargin;

	COLORREF m_crBackground;
	COLORREF m_crForeground;
	COLORREF m_crDimForeground;

	float m_fPos;

	bool m_bDraw3DBar;
	bool m_bLDown, m_bRDown;
	bool m_bAllowInteraction;
	bool m_bFloat;

	// Generated message map functions
	
	//{{AFX_MSG(CStaticCounter)
	afx_msg void OnPaint();
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_STATICCOUNTER_H__F666A491_3847_11D3_A58E_00805FC1DE10__INCLUDED_)

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线免费观看日韩欧美| 国产91精品一区二区| 国产成人综合在线| 91免费观看国产| 日韩欧美色电影| 亚洲女同女同女同女同女同69| 天堂蜜桃一区二区三区| 岛国一区二区三区| 91麻豆精品国产91久久久资源速度| 久久久影视传媒| 国产天堂亚洲国产碰碰| 日本大胆欧美人术艺术动态| 94-欧美-setu| 久久久一区二区三区| 五月婷婷激情综合| 91在线精品一区二区三区| 日韩色在线观看| 亚洲伦理在线精品| 国产精品一区免费在线观看| 欧美亚洲国产一区二区三区 | 亚洲一二三四在线| 国产精品综合视频| 91精品国产丝袜白色高跟鞋| 国产精品久久久久影院亚瑟 | 日本一区二区免费在线观看视频| 亚洲香肠在线观看| 99久久精品免费看| 中文子幕无线码一区tr| 久久激情五月激情| 欧美一区二区三区视频免费播放| 夜夜夜精品看看| 色狠狠综合天天综合综合| 国产精品全国免费观看高清 | 亚洲午夜精品17c| 91蝌蚪porny成人天涯| 日韩一区在线播放| av在线不卡免费看| 中文无字幕一区二区三区| 国产精品夜夜爽| 久久人人爽爽爽人久久久| 国内成人自拍视频| 欧美大片在线观看一区二区| 久久精品国产精品亚洲综合| 日韩欧美国产不卡| 精品一区二区免费看| 精品国产乱码久久久久久免费| 日韩国产一区二| 91精品综合久久久久久| 日本亚洲一区二区| 精品久久人人做人人爽| 国内精品国产三级国产a久久| 久久只精品国产| 丰满放荡岳乱妇91ww| 国产婷婷色一区二区三区在线| 国产成人久久精品77777最新版本| 久久精品免费在线观看| 成人av电影在线| 亚洲人成伊人成综合网小说| 一本一道久久a久久精品| 亚洲精品国产a久久久久久| 欧美三级电影在线观看| 青椒成人免费视频| 久久精品日韩一区二区三区| 成人综合激情网| 亚洲精品国产成人久久av盗摄| 欧美日韩高清一区二区三区| 免费看黄色91| 国产日产欧美一区二区三区| 91在线高清观看| 亚洲成人中文在线| 日韩一区二区三区视频| 国产69精品久久久久毛片 | 日韩欧美一二三区| 国产ts人妖一区二区| 亚洲欧美激情插| 91麻豆精品国产91久久久久久| 国产一区二区三区免费| 专区另类欧美日韩| 欧美视频在线一区| 韩国三级电影一区二区| 国产欧美日产一区| 欧美视频一区二区在线观看| 久久精品国产亚洲一区二区三区| 国产精品网站在线播放| 在线视频欧美精品| 麻豆专区一区二区三区四区五区| 国产欧美日韩麻豆91| 在线观看日韩电影| 精品伊人久久久久7777人| 国产欧美精品国产国产专区 | 国产91精品免费| 日韩理论电影院| 欧美一级一区二区| 国产成人av影院| 亚洲mv大片欧洲mv大片精品| 精品国产一区二区亚洲人成毛片 | 奇米影视一区二区三区小说| 日本一区二区三级电影在线观看| 欧美日韩一区二区三区四区五区 | 亚洲va韩国va欧美va精品| 国产婷婷精品av在线| 欧美亚洲国产一区二区三区 | 悠悠色在线精品| 欧美高清视频一二三区| 福利电影一区二区三区| 偷窥少妇高潮呻吟av久久免费| 久久久久国产一区二区三区四区 | 午夜精品久久久久久久久久久 | 91精品国产丝袜白色高跟鞋| 国产一区二区看久久| 玉足女爽爽91| 久久久影视传媒| 欧美精品1区2区| 99精品欧美一区二区蜜桃免费| 视频一区二区三区中文字幕| 国产精品理论在线观看| 91精品免费在线| 色综合久久久久久久| 国内成+人亚洲+欧美+综合在线| 亚洲国产成人av| 最新高清无码专区| 久久久久国产精品麻豆ai换脸| 欧美日韩在线播放三区| 成年人国产精品| 国产一区二区三区四区在线观看| 性做久久久久久| 亚洲免费资源在线播放| 国产欧美日产一区| 精品国产sm最大网站免费看| 欧美三级韩国三级日本三斤 | 久久精品国产亚洲一区二区三区| 亚洲一区二区三区四区中文字幕| 国产精品美女www爽爽爽| 亚洲精品一区在线观看| 欧美精品xxxxbbbb| 欧美视频在线一区二区三区| 99国产精品久久久久久久久久久| 国产精品一级黄| 韩国一区二区在线观看| 免费的成人av| 日本伊人午夜精品| 天堂成人国产精品一区| 亚洲在线观看免费视频| 亚洲毛片av在线| 亚洲三级在线免费| 国产精品久久久久久久蜜臀| 久久久午夜精品| 欧美va亚洲va| 精品国产三级电影在线观看| 欧美一区二区三区四区久久 | 不卡一区在线观看| 国产白丝网站精品污在线入口| 国产在线播放一区| 精品一区二区三区香蕉蜜桃| 久久国产夜色精品鲁鲁99| 亚洲成人激情综合网| 亚洲高清免费在线| 亚洲成人av电影在线| 午夜久久久久久久久久一区二区| 亚洲一线二线三线久久久| 亚洲最色的网站| 亚洲综合在线视频| 亚洲3atv精品一区二区三区| 亚洲午夜免费福利视频| 亚洲成a人v欧美综合天堂| 亚洲不卡一区二区三区| 午夜精品久久久久久久久久| 日韩精品免费专区| 日韩二区三区在线观看| 老司机免费视频一区二区三区| 另类专区欧美蜜桃臀第一页| 国产资源在线一区| 国产精品自在在线| 懂色av中文一区二区三区| 成人国产精品免费| 99久久99久久精品国产片果冻| 色婷婷国产精品久久包臀 | 国产不卡免费视频| 99精品久久久久久| 在线观看视频欧美| 欧美日韩国产一级片| 3atv一区二区三区| 亚洲日本va午夜在线影院| 最新中文字幕一区二区三区| 亚洲一区在线观看免费观看电影高清| 亚洲高清免费视频| 麻豆精品视频在线| 国产成人av电影在线播放| 91在线你懂得| 在线播放日韩导航| 久久这里只有精品6| 中文字幕亚洲区| 亚洲成年人影院| 国产一区二区日韩精品| 成人黄色777网| 欧美顶级少妇做爰| 精品福利视频一区二区三区| 国产日韩欧美一区二区三区乱码 | 中文字幕色av一区二区三区| 亚洲夂夂婷婷色拍ww47|