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

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

?? axtivextctrl.cpp

?? Active控件Card調用和自制.rar
?? CPP
字號:
// axtivextCtrl.cpp : CaxtivextCtrl ActiveX 控件類的實現(xiàn)。

#include "stdafx.h"
#include "axtivext.h"
#include "axtivextCtrl.h"
#include "axtivextPropPage.h"
#include ".\axtivextctrl.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#endif


IMPLEMENT_DYNCREATE(CaxtivextCtrl, COleControl)



// 消息映射

BEGIN_MESSAGE_MAP(CaxtivextCtrl, COleControl)
	ON_OLEVERB(AFX_IDS_VERB_PROPERTIES, OnProperties)
	ON_WM_LBUTTONDOWN()
	ON_WM_LBUTTONUP()
	ON_WM_MOUSEMOVE()
END_MESSAGE_MAP()



// 調度映射

BEGIN_DISPATCH_MAP(CaxtivextCtrl, COleControl)
	DISP_FUNCTION_ID(CaxtivextCtrl, "AboutBox", DISPID_ABOUTBOX, AboutBox, VT_EMPTY, VTS_NONE)
	DISP_PROPERTY_EX_ID(CaxtivextCtrl, "value", dispidvalue, GetValue, SetValue, VT_I2)
	DISP_PROPERTY_EX_ID(CaxtivextCtrl, "background", dispidbackground, Getbackground, Setbackground, VT_BOOL)
	DISP_PROPERTY_EX_ID(CaxtivextCtrl, "backbmp", dispidbackbmp, Getbackbmp, Setbackbmp, VT_I2)
	DISP_PROPERTY_EX_ID(CaxtivextCtrl, "CancelPopup", dispidCancelPopup, GetCancelPopup, SetCancelPopup, VT_BOOL)
	DISP_PROPERTY_EX_ID(CaxtivextCtrl, "IsMove", dispidIsMove, GetIsMove, SetIsMove, VT_BOOL)
	DISP_PROPERTY_EX_ID(CaxtivextCtrl, "IsGoHome", dispidIsGoHome, GetIsGoHome, SetIsGoHome, VT_BOOL)
END_DISPATCH_MAP()



// 事件映射

BEGIN_EVENT_MAP(CaxtivextCtrl, COleControl)
	EVENT_STOCK_CLICK()
	EVENT_STOCK_DBLCLICK()
	EVENT_STOCK_MOUSEDOWN()
	EVENT_STOCK_MOUSEMOVE()
	EVENT_STOCK_MOUSEUP()
END_EVENT_MAP()



// 屬性頁

// TODO: 按需要添加更多屬性頁。請記住增加計數(shù)!
BEGIN_PROPPAGEIDS(CaxtivextCtrl, 1)
	PROPPAGEID(CaxtivextPropPage::guid)
END_PROPPAGEIDS(CaxtivextCtrl)



// 初始化類工廠和 guid

IMPLEMENT_OLECREATE_EX(CaxtivextCtrl, "AXTIVEXT.axtivextCtrl.1",
	0xb6f9ea09, 0x8398, 0x4a98, 0x97, 0x96, 0x24, 0x74, 0xd2, 0x4d, 0x8a, 0xd9)



// 鍵入庫 ID 和版本

IMPLEMENT_OLETYPELIB(CaxtivextCtrl, _tlid, _wVerMajor, _wVerMinor)



// 接口 ID

const IID BASED_CODE IID_Daxtivext =
		{ 0xA577EBF8, 0x46B3, 0x4384, { 0xAF, 0xD9, 0x65, 0xEB, 0x4E, 0xE3, 0x69, 0xCD } };
const IID BASED_CODE IID_DaxtivextEvents =
		{ 0x27981EA8, 0xECFE, 0x4CB9, { 0xBA, 0x9, 0xF1, 0x96, 0x20, 0xEF, 0x63, 0x78 } };



// 控件類型信息

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

IMPLEMENT_OLECTLTYPE(CaxtivextCtrl, IDS_AXTIVEXT, _dwaxtivextOleMisc)



// CaxtivextCtrl::CaxtivextCtrlFactory::UpdateRegistry -
// 添加或移除 CaxtivextCtrl 的系統(tǒng)注冊表項

BOOL CaxtivextCtrl::CaxtivextCtrlFactory::UpdateRegistry(BOOL bRegister)
{
	// TODO: 驗證您的控件是否符合單元模型線程處理規(guī)則。
	// 有關更多信息,請參考 MFC 技術說明 64。
	// 如果您的控件不符合單元模型規(guī)則,則
	// 必須修改如下代碼,將第六個參數(shù)從
	// afxRegApartmentThreading 改為 0。

	if (bRegister)
		return AfxOleRegisterControlClass(
			AfxGetInstanceHandle(),
			m_clsid,
			m_lpszProgID,
			IDS_AXTIVEXT,
			IDB_AXTIVEXT,
			afxRegApartmentThreading,
			_dwaxtivextOleMisc,
			_tlid,
			_wVerMajor,
			_wVerMinor);
	else
		return AfxOleUnregisterClass(m_clsid, m_lpszProgID);
}



// 授權字符串

static const TCHAR BASED_CODE _szLicFileName[] = _T("axtivext.lic");

static const WCHAR BASED_CODE _szLicString[] =
	L"Copyright (c) 2007 ";



// CaxtivextCtrl::CaxtivextCtrlFactory::VerifyUserLicense -
// 檢查是否存在用戶許可證

BOOL CaxtivextCtrl::CaxtivextCtrlFactory::VerifyUserLicense()
{
	return AfxVerifyLicFile(AfxGetInstanceHandle(), _szLicFileName,
		_szLicString);
}



// CaxtivextCtrl::CaxtivextCtrlFactory::GetLicenseKey -
// 返回運行時授權密鑰

BOOL CaxtivextCtrl::CaxtivextCtrlFactory::GetLicenseKey(DWORD dwReserved,
	BSTR FAR* pbstrKey)
{
	if (pbstrKey == NULL)
		return FALSE;

	*pbstrKey = SysAllocString(_szLicString);
	return (*pbstrKey != NULL);
}



// CaxtivextCtrl::CaxtivextCtrl - 構造函數(shù)

CaxtivextCtrl::CaxtivextCtrl()
{
	InitializeIIDs(&IID_Daxtivext, &IID_DaxtivextEvents);
	// TODO: 在此初始化控件的實例數(shù)據(jù)。
	value=11;backbmp=2;background=false;
	IsMove=true;m_IsMove=false;IsGoHome=true;
}



// CaxtivextCtrl::~CaxtivextCtrl - 析構函數(shù)

CaxtivextCtrl::~CaxtivextCtrl()
{
	// TODO: 在此清理控件的實例數(shù)據(jù)。
}



// CaxtivextCtrl::OnDraw - 繪圖函數(shù)

void CaxtivextCtrl::OnDraw(
			CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
	//if (!pdc)
	//	return;

	// TODO: 用您自己的繪圖代碼替換下面的代碼。
	CBitmap *pOldBitmap;
	CBitmap bitmap;
	CRect rect;
	GetClientRect(rect);
	CDC ppdc;
	CClientDC dc(this);
	ppdc.CreateCompatibleDC(&dc);
	if(background)//背景圖案
	{
		if(backbmp==1)bitmap.LoadBitmap(255);
		if(backbmp==2)bitmap.LoadBitmap(256);
	}
	else//前景圖案
		bitmap.LoadBitmap(IDB_BITMAP1+value-1);
	pOldBitmap=ppdc.SelectObject(&bitmap);
	dc.BitBlt(0,0,rect.Width(),rect.Height(),&ppdc,0,0,SRCCOPY);
	ppdc.SelectObject(pOldBitmap);
}



// CaxtivextCtrl::DoPropExchange - 持久性支持

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

	// TODO: 為每個持久的自定義屬性調用 PX_ 函數(shù)。
}



// CaxtivextCtrl::OnResetState - 將控件重置為默認狀態(tài)

void CaxtivextCtrl::OnResetState()
{
	COleControl::OnResetState();  // 重置 DoPropExchange 中找到的默認值

	// TODO: 在此重置任意其他控件狀態(tài)。
}



// CaxtivextCtrl::AboutBox - 向用戶顯示“關于”框

void CaxtivextCtrl::AboutBox()
{
	CDialog dlgAbout(IDD_ABOUTBOX_AXTIVEXT);
	dlgAbout.DoModal();
}



// CaxtivextCtrl 消息處理程序

void CaxtivextCtrl::OnLButtonDown(UINT nFlags, CPoint point)
{
	// TODO: 在此添加消息處理程序代碼和/或調用默認值
	if(IsMove)//屬性框中設置的是否是允許拖動鼠標
	{
		m_IsMove=true;
		SetCapture();//捕獲鼠標
		xx=point.x;//得到鼠標(相對于控件左上角)的坐標
		yy=point.y;

		GetClientRect(&rect);//保存拖動前的撲克位置
		::ClientToScreen(m_hWnd,&rect.TopLeft());
		OldPoint=rect.TopLeft();

		MoveWindow(0,0,71,96);//得到相對量
		GetClientRect(&rect);
		::ClientToScreen(m_hWnd,&rect.TopLeft());
	}
	Invalidate();//立即刷新
	COleControl::OnLButtonDown(nFlags, point);
}

void CaxtivextCtrl::OnLButtonUp(UINT nFlags, CPoint point)
{
	// TODO: 在此添加消息處理程序代碼和/或調用默認值
	if(m_IsMove)
	{
		ReleaseCapture();
		m_IsMove=false;
		if(IsGoHome)
		    MoveWindow(OldPoint.x-rect.left,OldPoint.y-rect.top,71,96);//還原到撲克牌拖動前的位置
	}
	Invalidate();//立即刷新
	COleControl::OnLButtonUp(nFlags, point);
}

void CaxtivextCtrl::OnMouseMove(UINT nFlags, CPoint point)
{
	// TODO: 在此添加消息處理程序代碼和/或調用默認值
	CPoint MyPoint=point;
	if(m_IsMove)
	{
		ClientToScreen(&MyPoint);
        MoveWindow(MyPoint.x-xx-rect.left,MyPoint.y-yy-rect.top,71,96);
	}
	//Invalidate();//立即刷新
	COleControl::OnMouseMove(nFlags, point);
}

short CaxtivextCtrl::GetValue(void)
{
	//AFX_MANAGE_STATE(AfxGetStaticModuleState());

	// TODO: 在此添加調度處理程序代碼
	return value;

	//return 0;
}

void CaxtivextCtrl::SetValue(short newVal)
{
	//AFX_MANAGE_STATE(AfxGetStaticModuleState());

	// TODO: 在此添加屬性處理程序代碼
	value=newVal;
	SetModifiedFlag();
	Invalidate();//立即刷新

	//SetModifiedFlag();
}

BOOL CaxtivextCtrl::Getbackground(void)
{
	//AFX_MANAGE_STATE(AfxGetStaticModuleState());

	// TODO: 在此添加調度處理程序代碼
	return background;

	//return VARIANT_TRUE;
}

void CaxtivextCtrl::Setbackground(BOOL newVal)
{
	//AFX_MANAGE_STATE(AfxGetStaticModuleState());

	// TODO: 在此添加屬性處理程序代碼
	background=newVal;
	SetModifiedFlag();
	Invalidate();

	//SetModifiedFlag();
}

short CaxtivextCtrl::Getbackbmp(void)
{
	//AFX_MANAGE_STATE(AfxGetStaticModuleState());

	// TODO: 在此添加調度處理程序代碼
	return backbmp;

	//return 0;
}

void CaxtivextCtrl::Setbackbmp(short newVal)
{
	//AFX_MANAGE_STATE(AfxGetStaticModuleState());

	// TODO: 在此添加屬性處理程序代碼
	backbmp=newVal;
	SetModifiedFlag();
	Invalidate();

	//SetModifiedFlag();
}

BOOL CaxtivextCtrl::GetCancelPopup(void)
{
	//AFX_MANAGE_STATE(AfxGetStaticModuleState());

	// TODO: 在此添加調度處理程序代碼
	return CancelPopup;

	//return VARIANT_TRUE;
}

void CaxtivextCtrl::SetCancelPopup(BOOL newVal)
{
	//AFX_MANAGE_STATE(AfxGetStaticModuleState());

	// TODO: 在此添加屬性處理程序代碼
	CancelPopup=newVal;
	SetModifiedFlag();
	Invalidate();

	//SetModifiedFlag();
}

BOOL CaxtivextCtrl::GetIsMove(void)
{
	//AFX_MANAGE_STATE(AfxGetStaticModuleState());

	// TODO: 在此添加調度處理程序代碼
	return IsMove;

	//return VARIANT_TRUE;
}

void CaxtivextCtrl::SetIsMove(BOOL newVal)
{
	//AFX_MANAGE_STATE(AfxGetStaticModuleState());

	// TODO: 在此添加屬性處理程序代碼
	IsMove=newVal;
	SetModifiedFlag();
	Invalidate();

	//SetModifiedFlag();
}

BOOL CaxtivextCtrl::GetIsGoHome(void)
{
	//AFX_MANAGE_STATE(AfxGetStaticModuleState());

	// TODO: 在此添加調度處理程序代碼

	return IsGoHome;

	//return VARIANT_TRUE;
}

void CaxtivextCtrl::SetIsGoHome(BOOL newVal)
{
	//AFX_MANAGE_STATE(AfxGetStaticModuleState());

	// TODO: 在此添加屬性處理程序代碼
	IsGoHome=newVal;
	SetModifiedFlag();
	Invalidate();

	//SetModifiedFlag();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99久国产精品黄毛片色诱| 国产精品18久久久久久久网站| 精品成人一区二区三区四区| gogo大胆日本视频一区| 日本欧美久久久久免费播放网| 中文字幕 久热精品 视频在线| 欧美日韩一区三区| 成人午夜视频网站| 麻豆精品久久精品色综合| 亚洲伦在线观看| 欧美韩日一区二区三区| 日韩三级免费观看| 欧美午夜一区二区三区| 成人sese在线| 国产夫妻精品视频| 亚欧色一区w666天堂| 中文字幕在线一区二区三区| 欧美成人激情免费网| 91精品1区2区| 成人性生交大片免费看视频在线| 久久激情综合网| 亚洲大片在线观看| 亚洲欧美色综合| 国产精品资源网站| 99精品国产99久久久久久白柏| 日韩视频一区在线观看| 亚洲女女做受ⅹxx高潮| 99精品国产一区二区三区不卡| 亚洲国产精品t66y| 福利91精品一区二区三区| 久久久午夜电影| 国产精品99久久久久久宅男| 精品国产乱码久久久久久夜甘婷婷| 日本伊人色综合网| 制服丝袜中文字幕一区| 日本在线不卡一区| 欧美一区二区三区四区五区| 日本aⅴ免费视频一区二区三区| 欧美日韩亚洲不卡| 亚洲电影一级片| 777亚洲妇女| 久久国产精品99久久久久久老狼| 成人午夜免费电影| 免费看欧美女人艹b| 美女视频免费一区| 免费观看成人鲁鲁鲁鲁鲁视频| 91免费观看国产| 国产亚洲成年网址在线观看| 国产盗摄视频一区二区三区| 亚洲欧美视频一区| 欧美精品日韩一区| 麻豆国产精品官网| 国产日产欧美一区| a级高清视频欧美日韩| 亚洲乱码国产乱码精品精的特点 | 91免费小视频| 亚洲人成精品久久久久久| 91丨porny丨户外露出| 日韩福利视频网| 久久久久久久电影| 日本韩国精品在线| 欧美aⅴ一区二区三区视频| 久久先锋影音av| 日本福利一区二区| 日本成人在线看| 国产欧美日韩中文久久| 日本电影欧美片| 奇米精品一区二区三区四区| 国产农村妇女毛片精品久久麻豆| 色综合久久九月婷婷色综合| 裸体健美xxxx欧美裸体表演| 国产精品护士白丝一区av| 欧美日韩在线亚洲一区蜜芽| 国产高清精品网站| 香蕉乱码成人久久天堂爱免费| 精品久久久久久久一区二区蜜臀| 99久久精品国产观看| 丝袜美腿亚洲一区| 中文字幕人成不卡一区| 精品久久久久香蕉网| 日本丰满少妇一区二区三区| 国产精品99久久久久久久vr | 欧美日韩中字一区| 国产成人在线看| 日韩电影在线免费观看| 日韩理论片中文av| 久久久亚洲精华液精华液精华液| 欧美在线制服丝袜| 成人免费三级在线| 九色综合国产一区二区三区| 亚洲一区二区三区精品在线| 日韩一区二区中文字幕| 久久蜜桃香蕉精品一区二区三区| 一片黄亚洲嫩模| 国产91丝袜在线播放九色| 国产精品中文字幕日韩精品| 中文字幕在线不卡| 久久久精品tv| 欧美一区二区人人喊爽| 欧美视频一区二区| 97精品国产露脸对白| 国产精品一二一区| 男男成人高潮片免费网站| 亚洲一区二区精品久久av| 中文在线免费一区三区高中清不卡| 日韩欧美国产午夜精品| 7777精品伊人久久久大香线蕉超级流畅| 色综合网色综合| 国产suv精品一区二区三区 | 亚洲成人av一区| 一区二区日韩av| 亚洲视频资源在线| 中文字幕一区二区日韩精品绯色| 国产欧美一区二区精品仙草咪 | 国产一区亚洲一区| 久久不见久久见免费视频1| 久久精品国产一区二区| 另类人妖一区二区av| 精品一区二区三区视频| 久久99国内精品| 国产精品综合久久| 国产91精品入口| 99国产精品久久久久久久久久 | 日本人妖一区二区| 调教+趴+乳夹+国产+精品| 日本午夜一区二区| 久久99国内精品| 福利一区福利二区| av在线不卡免费看| 色综合久久综合中文综合网| 色天使色偷偷av一区二区| 欧美性视频一区二区三区| 欧美电影在哪看比较好| 精品少妇一区二区三区免费观看 | 精品国产免费久久| 久久综合九色欧美综合狠狠| 国产亚洲美州欧州综合国 | 2020国产精品自拍| 中文字幕av一区 二区| 一区二区成人在线| 日韩av网站免费在线| 国产九九视频一区二区三区| eeuss鲁一区二区三区| 欧洲亚洲国产日韩| www.成人网.com| 日韩理论片在线| 欧美在线免费视屏| 亚洲成人综合视频| 欧美一级搡bbbb搡bbbb| www.66久久| 91精品国产欧美一区二区18| 欧美国产精品一区二区| 午夜精品在线视频一区| 国产一区二区三区美女| 欧美在线小视频| 久久精品夜夜夜夜久久| 午夜不卡av在线| 成人影视亚洲图片在线| 91麻豆.com| 欧美精品一区二区三区久久久| 亚洲精品高清视频在线观看| 九色综合狠狠综合久久| 欧美视频一区二区三区四区| 国产亚洲欧美中文| 天天综合色天天| 91女神在线视频| 久久综合久久综合亚洲| 日韩高清中文字幕一区| 91视频.com| 久久亚洲一区二区三区四区| 精品国精品国产| 久久精品免费观看| 亚洲欧洲日韩女同| 这里只有精品视频在线观看| 国产精品一二三四区| 欧美一区永久视频免费观看| 欧美成人vr18sexvr| 首页亚洲欧美制服丝腿| 色老综合老女人久久久| 日本一区二区三级电影在线观看| 欧美电影一区二区| 亚洲高清一区二区三区| eeuss鲁片一区二区三区在线看| 欧美大片日本大片免费观看| 久久97超碰国产精品超碰| 日韩亚洲欧美成人一区| 亚洲一二三四久久| 欧美日韩你懂得| 久久人人97超碰com| 午夜成人免费电影| 91黄色小视频| 自拍偷自拍亚洲精品播放| 亚洲第一福利视频在线| 亚洲高清免费观看| 偷拍亚洲欧洲综合| 午夜精品久久久久久久蜜桃app| 欧美久久久久免费| 在线免费视频一区二区| 欧美三级日韩三级| 国产欧美日韩综合精品一区二区|