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

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

?? aneasyvaluectl.cpp

?? 用VC++實(shí)現(xiàn)的一個(gè)簡(jiǎn)單的ActiveX控件
?? CPP
字號(hào):
// AnEasyValueCtl.cpp : Implementation of the CAnEasyValueCtrl ActiveX Control class.

#include "stdafx.h"
#include "AnEasyValue.h"
#include "AnEasyValueCtl.h"
#include "AnEasyValuePpg.h"


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


IMPLEMENT_DYNCREATE(CAnEasyValueCtrl, COleControl)


/////////////////////////////////////////////////////////////////////////////
// Message map

BEGIN_MESSAGE_MAP(CAnEasyValueCtrl, COleControl)
	//{{AFX_MSG_MAP(CAnEasyValueCtrl)
	ON_WM_MOUSEMOVE()
	//}}AFX_MSG_MAP
	ON_OLEVERB(AFX_IDS_VERB_PROPERTIES, OnProperties)
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// Dispatch map

BEGIN_DISPATCH_MAP(CAnEasyValueCtrl, COleControl)
	//{{AFX_DISPATCH_MAP(CAnEasyValueCtrl)
	DISP_PROPERTY_NOTIFY(CAnEasyValueCtrl, "TextAlign", m_textAlign, OnTextAlignChanged, VT_I4)
	DISP_FUNCTION(CAnEasyValueCtrl, "ABeep", ABeep, VT_EMPTY, VTS_NONE)
	DISP_STOCKFUNC_DOCLICK()
	DISP_STOCKPROP_BACKCOLOR()
	DISP_STOCKPROP_FORECOLOR()
	//}}AFX_DISPATCH_MAP
	DISP_FUNCTION_ID(CAnEasyValueCtrl, "AboutBox", DISPID_ABOUTBOX, AboutBox, VT_EMPTY, VTS_NONE)
END_DISPATCH_MAP()


/////////////////////////////////////////////////////////////////////////////
// Event map

BEGIN_EVENT_MAP(CAnEasyValueCtrl, COleControl)
	//{{AFX_EVENT_MAP(CAnEasyValueCtrl)
	EVENT_CUSTOM("ValueMax", FireValueMax, VTS_NONE)
	EVENT_STOCK_CLICK()
	//}}AFX_EVENT_MAP
END_EVENT_MAP()


/////////////////////////////////////////////////////////////////////////////
// Property pages

// TODO: Add more property pages as needed.  Remember to increase the count!
BEGIN_PROPPAGEIDS(CAnEasyValueCtrl, 2)
	PROPPAGEID(CAnEasyValuePropPage::guid)
	PROPPAGEID(CLSID_CColorPropPage)
END_PROPPAGEIDS(CAnEasyValueCtrl)


/////////////////////////////////////////////////////////////////////////////
// Initialize class factory and guid

IMPLEMENT_OLECREATE_EX(CAnEasyValueCtrl, "ANEASYVALUE.AnEasyValueCtrl.1",
	0xc3ddeec, 0x18aa, 0x45be, 0x9b, 0x2d, 0xa5, 0xed, 0xfd, 0x9e, 0x88, 0x9f)


/////////////////////////////////////////////////////////////////////////////
// Type library ID and version

IMPLEMENT_OLETYPELIB(CAnEasyValueCtrl, _tlid, _wVerMajor, _wVerMinor)


/////////////////////////////////////////////////////////////////////////////
// Interface IDs

const IID BASED_CODE IID_DAnEasyValue =
		{ 0xd7929955, 0xbf2a, 0x4c48, { 0x92, 0xc8, 0x42, 0xed, 0xf3, 0xe2, 0x1, 0xfa } };
const IID BASED_CODE IID_DAnEasyValueEvents =
		{ 0xaca26236, 0xab86, 0x463d, { 0x9b, 0x85, 0x58, 0xe8, 0x1a, 0x8d, 0x41, 0xbb } };


/////////////////////////////////////////////////////////////////////////////
// Control type information

static const DWORD BASED_CODE _dwAnEasyValueOleMisc =
	OLEMISC_ACTIVATEWHENVISIBLE |
	OLEMISC_SETCLIENTSITEFIRST |
	OLEMISC_INSIDEOUT |
	OLEMISC_CANTLINKINSIDE |
	OLEMISC_RECOMPOSEONRESIZE;

IMPLEMENT_OLECTLTYPE(CAnEasyValueCtrl, IDS_ANEASYVALUE, _dwAnEasyValueOleMisc)


/////////////////////////////////////////////////////////////////////////////
// CAnEasyValueCtrl::CAnEasyValueCtrlFactory::UpdateRegistry -
// Adds or removes system registry entries for CAnEasyValueCtrl

BOOL CAnEasyValueCtrl::CAnEasyValueCtrlFactory::UpdateRegistry(BOOL bRegister)
{
	// TODO: Verify that your control follows apartment-model threading rules.
	// Refer to MFC TechNote 64 for more information.
	// If your control does not conform to the apartment-model rules, then
	// you must modify the code below, changing the 6th parameter from
	// afxRegApartmentThreading to 0.

	if (bRegister)
		return AfxOleRegisterControlClass(
			AfxGetInstanceHandle(),
			m_clsid,
			m_lpszProgID,
			IDS_ANEASYVALUE,
			IDB_ANEASYVALUE,
			afxRegApartmentThreading,
			_dwAnEasyValueOleMisc,
			_tlid,
			_wVerMajor,
			_wVerMinor);
	else
		return AfxOleUnregisterClass(m_clsid, m_lpszProgID);
}


/////////////////////////////////////////////////////////////////////////////
// CAnEasyValueCtrl::CAnEasyValueCtrl - Constructor

CAnEasyValueCtrl::CAnEasyValueCtrl()
{
	InitializeIIDs(&IID_DAnEasyValue, &IID_DAnEasyValueEvents);

	// TODO: Initialize your control's instance data here.
	m_MaxValue = 20000;
	m_MinValue = 0;
	m_CurPosition = 0;
	m_CurValue = 0;
	m_textAlign = 1;
}


/////////////////////////////////////////////////////////////////////////////
// CAnEasyValueCtrl::~CAnEasyValueCtrl - Destructor

CAnEasyValueCtrl::~CAnEasyValueCtrl()
{
	// TODO: Cleanup your control's instance data here.
}


/////////////////////////////////////////////////////////////////////////////
// CAnEasyValueCtrl::OnDraw - Drawing function

void CAnEasyValueCtrl::OnDraw(
			CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
	// TODO: Replace the following code with your own drawing code.
	pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
	//pdc->Ellipse(rcBounds);
	//設(shè)置字體顏色
	pdc->SetTextColor(TranslateColor(GetForeColor()));
	//設(shè)置背景顏色
	pdc->SetBkMode(TRANSPARENT);
	CBrush BKBrush(TranslateColor(GetBackColor()));
	pdc->FillRect(rcBounds,&BKBrush);
	//根據(jù)控件大小調(diào)整工具條大小
	CRect rect = rcBounds;
	rect.top = rcBounds.top +5;
	rect.bottom = rcBounds.bottom -5;
	rect.left = rcBounds.left + 5;
	rect.right = rcBounds.right -5 ;
	//顯示工具條
	pdc->Rectangle(&rect);
	//顯示數(shù)據(jù)條,顯示四個(gè)邊界
	rect.top+=1;
	rect.bottom -=1;
	rect.left+=1;
	//根據(jù)當(dāng)前水平位置設(shè)置右邊界
	if (m_CurPosition>rcBounds.right-6) {
		m_CurValue = m_MaxValue;
		rect.right-=1;
	}
	else if (m_CurPosition<rcBounds.left+6) {
		m_CurValue = m_MinValue;
		rect.right = rect.left;
	}
	else
	{
		m_CurValue = (long)((double)(m_CurPosition-rect.left)/(rect.right-rect.left)*(m_MaxValue-m_MinValue)+m_MinValue);
		rect.right = m_CurPosition;
	}
	//顯示數(shù)據(jù)條
	pdc->FillSolidRect(rect,TranslateColor(GetForeColor()));
	CString Value;
	Value.Format("%d",m_CurValue);
	//顯示數(shù)值
	if (m_textAlign==0) {
		pdc->SetTextAlign(TA_LEFT);
		pdc->TextOut(rcBounds.left+5,rcBounds.top+5,Value);
	}
	else if (m_textAlign==1) {
		pdc->SetTextAlign(TA_CENTER);
		pdc->TextOut((rcBounds.left+rcBounds.right)/2,rcBounds.top+5,Value);
	}
	else{
		pdc->SetTextAlign(TA_RIGHT);
		pdc->TextOut(rcBounds.right-5,rcBounds.top+5,Value);
	}
	if (m_CurValue==m_MaxValue) {
		FireValueMax();
		DoClick();
		ABeep();
	}
}


/////////////////////////////////////////////////////////////////////////////
// CAnEasyValueCtrl::DoPropExchange - Persistence support

void CAnEasyValueCtrl::DoPropExchange(CPropExchange* pPX)
{
	ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
	COleControl::DoPropExchange(pPX);

	// TODO: Call PX_ functions for each persistent custom property.

}


/////////////////////////////////////////////////////////////////////////////
// CAnEasyValueCtrl::OnResetState - Reset control to default state

void CAnEasyValueCtrl::OnResetState()
{
	COleControl::OnResetState();  // Resets defaults found in DoPropExchange

	// TODO: Reset any other control state here.
}


/////////////////////////////////////////////////////////////////////////////
// CAnEasyValueCtrl::AboutBox - Display an "About" box to the user

void CAnEasyValueCtrl::AboutBox()
{
	CDialog dlgAbout(IDD_ABOUTBOX_ANEASYVALUE);
	dlgAbout.DoModal();
}


/////////////////////////////////////////////////////////////////////////////
// CAnEasyValueCtrl message handlers

void CAnEasyValueCtrl::OnTextAlignChanged() 
{
	// TODO: Add notification handler code
	InvalidateControl();
	SetModifiedFlag();
}

void CAnEasyValueCtrl::OnMouseMove(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	//改變當(dāng)前位置
	m_CurPosition = point.x;
	//重畫控件,自動(dòng)調(diào)用OnDraw()
	Invalidate();
	COleControl::OnMouseMove(nFlags, point);
}

void CAnEasyValueCtrl::ABeep() 
{
	// TODO: Add your dispatch handler code here
	MessageBeep((WORD)-1);
	
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品第一页| 国产很黄免费观看久久| 91国偷自产一区二区三区观看 | 日韩精品在线看片z| 久久成人免费电影| 亚洲免费视频成人| 51精品国自产在线| 国产精品一区在线观看乱码 | 色成年激情久久综合| 久久精品国产精品亚洲综合| 国产蜜臀97一区二区三区| 不卡av在线免费观看| 91麻豆精东视频| 国产精品国模大尺度视频| 亚洲已满18点击进入久久| youjizz久久| 国产亚洲一区二区三区| 青椒成人免费视频| 56国语精品自产拍在线观看| 亚洲精品一区二区三区精华液| 欧美中文字幕一区| 精品剧情在线观看| 精品夜夜嗨av一区二区三区| 一区二区三区久久| 日韩欧美电影一区| 欧美日韩中文国产| 精品国产一区二区三区不卡| 亚洲一区二区三区四区五区黄| 成人亚洲一区二区一| 国产日韩欧美激情| 久久激情综合网| 久久一区二区三区国产精品| 国内成人精品2018免费看| 日韩女优制服丝袜电影| 日韩主播视频在线| 欧美tickling挠脚心丨vk| 青青草精品视频| 精品剧情v国产在线观看在线| 国产精品影视网| 中文字幕日韩精品一区 | 欧美性受极品xxxx喷水| 一本到高清视频免费精品| 日韩欧美色综合网站| 日韩免费在线观看| 中文av一区二区| 精品一区二区三区免费毛片爱| 亚洲一区二区三区中文字幕| 欧美激情艳妇裸体舞| 亚洲精品在线免费观看视频| 日韩一级在线观看| 欧美日韩免费视频| 91行情网站电视在线观看高清版| 91豆麻精品91久久久久久| 不卡视频在线看| 亚洲最新视频在线播放| 欧美人与性动xxxx| 狠狠色丁香久久婷婷综| 亚洲精品国产a| 久久久久久97三级| 精品国产乱子伦一区| 精品一区二区三区在线观看 | 精品成人佐山爱一区二区| 97久久超碰精品国产| 国产精品 日产精品 欧美精品| 亚洲国产精品一区二区www | 欧美美女黄视频| 欧美高清视频www夜色资源网| 在线视频综合导航| 在线观看日韩电影| 欧美午夜一区二区三区| 91捆绑美女网站| 在线免费观看不卡av| 欧美日韩国产大片| 欧美丰满少妇xxxbbb| 欧美精品第1页| 欧美中文字幕不卡| 日韩亚洲欧美成人一区| 日韩欧美国产三级电影视频| 精品国产凹凸成av人导航| 久久青草欧美一区二区三区| 国产精品丝袜黑色高跟| 91精品婷婷国产综合久久性色| 久久老女人爱爱| 成人欧美一区二区三区黑人麻豆 | 国产曰批免费观看久久久| 国产麻豆精品一区二区| 国产欧美日韩精品a在线观看| 国产情人综合久久777777| 国产精品888| 91国偷自产一区二区三区观看 | 99在线精品视频| 91色porny在线视频| 91猫先生在线| 免费成人美女在线观看.| 美国欧美日韩国产在线播放| 福利一区二区在线| 欧美激情在线一区二区三区| 国产精品一色哟哟哟| 欧美性感一区二区三区| 久久精品人人做人人爽97| 亚洲成a人片在线观看中文| 国产成人综合亚洲网站| 欧美日韩色一区| 欧美韩国日本一区| 免费在线观看精品| 91成人在线观看喷潮| 中文字幕成人av| 蜜桃视频一区二区三区在线观看| 91麻豆.com| 欧美国产成人在线| 久久精品国产亚洲高清剧情介绍| 在线日韩一区二区| 国产欧美日本一区视频| 精品一区免费av| 欧美一区二区三区电影| 亚洲最色的网站| 91麻豆精品国产91久久久更新时间| 国产免费观看久久| 国产一区二区影院| 91精品久久久久久久91蜜桃| 一个色综合网站| 97精品国产97久久久久久久久久久久 | 国产亚洲精品bt天堂精选| 日本 国产 欧美色综合| 911国产精品| 亚洲在线中文字幕| 色婷婷av一区| 一区二区三区欧美| 91麻豆免费在线观看| 亚洲日本在线观看| 不卡的看片网站| 中文字幕av一区二区三区| 精品一区二区在线看| 精品日韩一区二区三区| 免费不卡在线视频| 日韩午夜精品电影| 蜜臀av性久久久久av蜜臀妖精 | 中文字幕精品三区| 国产99久久久国产精品潘金网站| 精品1区2区在线观看| 毛片av中文字幕一区二区| 欧美一区二区在线观看| 强制捆绑调教一区二区| 91精品国产综合久久久蜜臀图片| 日本欧美一区二区| 337p亚洲精品色噜噜| 午夜视频一区在线观看| 欧美一区二区黄色| 精品一二三四在线| 久久人人爽爽爽人久久久| 国产精品盗摄一区二区三区| 欧美色综合影院| 久久天天做天天爱综合色| 国产亚洲1区2区3区| 色综合一区二区三区| 极品尤物av久久免费看| 亚洲综合一区在线| 国产精品免费丝袜| 欧美成人三级在线| 欧美日韩国产三级| 欧美综合视频在线观看| 成人免费视频网站在线观看| 日本大胆欧美人术艺术动态| 一二三四区精品视频| 日韩av在线发布| 久久影音资源网| 99久久久国产精品| 亚洲一区二区在线观看视频| 欧美日韩国产首页| 国内精品伊人久久久久av影院| 国产日韩欧美不卡| 色94色欧美sute亚洲线路二| 视频一区在线视频| 久久久精品欧美丰满| 欧美综合天天夜夜久久| 麻豆91小视频| 中文字幕一区二区日韩精品绯色| 91黄色免费观看| 国产曰批免费观看久久久| 亚洲视频一区二区在线观看| 欧美久久高跟鞋激| 国产ts人妖一区二区| 洋洋成人永久网站入口| 欧美精品一区二区三区四区| 一本色道久久综合精品竹菊| 蜜臀av一区二区| 亚洲欧美激情小说另类| 欧美mv日韩mv亚洲| 色婷婷久久久亚洲一区二区三区| 热久久免费视频| 亚洲欧美偷拍三级| 精品久久久网站| www久久精品| 色婷婷国产精品| 国产成人午夜视频| 午夜精品久久久久久久久| 国产清纯白嫩初高生在线观看91| 欧美另类变人与禽xxxxx| 高清国产一区二区三区| 蜜臀av性久久久久蜜臀av麻豆|