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

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

?? transparentwnd.cpp

?? 一個功能挺多的
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
*********************************************************************
/*
Modified by 徐景周 2000.9
功能:動態透明位圖顯示及WAV資源文件播放
*/

#include "stdafx.h"
#include "TransparentWnd.h"
#include <assert.h>
#include "ScrGenius.h"
#include "ScrGeniusDlg.h"
#include "BCMenu.h"  //添加位圖菜單
#include <afxpriv.h> //添加對話框控件的更新響應
#include "GetIP.h"
#include "BMP2TXT.H"
#include "About.h"
#include "CustomWavFile.h"
#include "Big2GB.h"
#include "HideInBMP.h"
#include "FileSplit.h"
#include "RegOCX.h"
#include "EDStar.h"
#include "SetTimeShutdown.h"
#include "AnimEffect.h" //對話框動畫效果顯示

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

BCMenu popmenu;  //定義位圖菜單變量

#define WM_TRAYNOTIFY WM_USER + 100  //自定義系統托盤消息函數

CWnd * pFrame  ;//得到當前窗體指針
CCustomWavFile *pCustomWavFile; //播放定制情話類指針

bool bWavPlay ; //聲音播放標志位
bool bDragDrop; //拖動標志位
CPoint CurPoint; //記錄當前鼠標位置
bool bShow=false; //窗體顯示還是隱藏標志位,用于判斷是否進行窗體動畫
bool bMute=false; //情話靜音標志位
bool bEject=true; //彈出還是關閉光驅標志位
CString strWavFileName=""; //從lovepet.dat數據文件中得到自定制情話文件名變量
CString strTextDescription="";//和文字描述變量.
//CString strTextPlay="送有情人"; //寵物上面顯示的文字信息
//********************************************************************************
//* Constructor
//********************************************************************************

CTransparentWnd::CTransparentWnd()
{
	bMute=false;
	m_iAniSeq=0;
//	m_fontLogo.CreateFont(13, 0, 90, 0, FW_NORMAL, 0, 0,0,0,0,0,0,0, "宋體");
}


//********************************************************************************
//* Destructor
//********************************************************************************

CTransparentWnd::~CTransparentWnd()
{
}


BEGIN_MESSAGE_MAP(CTransparentWnd, CWnd)
	//{{AFX_MSG_MAP(CTransparentWnd)
	ON_MESSAGE(WM_TRAYNOTIFY, OnTrayNotification)  //自定義系統托盤消息涵數 
	ON_WM_PAINT()
	ON_WM_ERASEBKGND()
	ON_WM_LBUTTONDOWN()
	ON_WM_CREATE()
	ON_WM_TIMER()
	ON_WM_DESTROY()
	ON_WM_RBUTTONDOWN()
	ON_WM_MOVING()
	ON_WM_LBUTTONUP()
	ON_COMMAND(IDR_SHOW, OnShow)
	ON_COMMAND(IDR_REGISTER, OnRegister)
	ON_COMMAND(IDR_SHUTDOWN, OnShutdown)
	ON_COMMAND(IDR_EJECT, OnEject)
	ON_COMMAND(IDR_EXIT, OnExit)
	ON_COMMAND(ID_FILE_SEND_MAIL, OnFileSendMail)
	ON_COMMAND(IDR_MUTE, OnMute)
	ON_UPDATE_COMMAND_UI(IDR_MUTE, OnUpdateMute)
	ON_MESSAGE(WM_KICKIDLE, OnKickIdle)
	ON_COMMAND(IDR_GETIP, OnGetip)
	ON_COMMAND(IDR_BMP2TXT, OnBmp2txt)
	ON_COMMAND(IDR_HELP, OnHelp)
	ON_COMMAND(IDR_CUSTOMWAVFILE, OnCustomwavfile)
	ON_COMMAND(IDR_BIG2GB, OnBig2gb)
	ON_COMMAND(IDR_HIDEINBMP, OnHideinbmp)
	ON_WM_MOUSEMOVE()
	ON_WM_SHOWWINDOW()
	ON_COMMAND(IDR_EDSTAR, OnEdstar)
	ON_COMMAND(IDR_REGOCX, OnRegocx)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

LRESULT CTransparentWnd::OnKickIdle(WPARAM wparam, LPARAM lparam)
	{
		UpdateDialogControls(this, false);
		return 0;
	}
//********************************************************************************
//* CreateTransparent()
//*
//* Creates the main application window transparent
//********************************************************************************
void CTransparentWnd::CreateTransparent(LPCTSTR pTitle, RECT &rect)
{
	// 創建一個隱藏窗口
	CreateEx(   0,  
		AfxRegisterWndClass(0,AfxGetApp()->LoadStandardCursor(IDC_ARROW)),
				pTitle,
				WS_POPUP ,
				rect,
				NULL,
				NULL,
			    NULL);

   StartBitmap(); //顯示初始玫瑰圖像

}

//********************************************************************************
//* SetupRegion()
//*
//* Set the Window Region for transparancy outside the mask region
//********************************************************************************
void CTransparentWnd::SetupRegion(CDC *pDC)
{
	CDC					memDC;
	CBitmap			&cBitmap=m_bmpDraw;
	CBitmap*		pOldMemBmp = NULL;
	COLORREF		col,colMask;
	CRect				cRect;
	int					x, y;
	CRgn				wndRgn, rgnTemp;

	GetWindowRect(&cRect);
	CPoint ptOrg=cRect.TopLeft();

	BITMAP bmInfo;
	cBitmap.GetObject(sizeof(bmInfo),&bmInfo);
	CRect rcNewWnd=CRect(ptOrg,CSize(bmInfo.bmWidth,bmInfo.bmHeight));

	memDC.CreateCompatibleDC(pDC);
	pOldMemBmp = memDC.SelectObject(&cBitmap);
	colMask=memDC.GetPixel(0,0);

	wndRgn.CreateRectRgn(0, 0, rcNewWnd.Width(), rcNewWnd.Height());
	for(x=0; x<=rcNewWnd.Width(); x++)
	{
		for(y=0; y<=rcNewWnd.Height(); y++)
		{
			col = memDC.GetPixel(x, y);
			if(col == colMask)
			{
				rgnTemp.CreateRectRgn(x, y, x+1, y+1);
				wndRgn.CombineRgn(&wndRgn, &rgnTemp, RGN_XOR);
				rgnTemp.DeleteObject();	
			}
		}
	}
	if (pOldMemBmp) memDC.SelectObject(pOldMemBmp);
	SetWindowRgn((HRGN)wndRgn, TRUE);
	MoveWindow(rcNewWnd);
}

//WAV音頻文件播放
void CTransparentWnd::SoundPlay(void)
{
  CString strTemp; 

	if(bMute) //當選擇了情話靜音時,不放聲音
	{
	}
	else if(pCustomWavFile->GetOriginPlayFlag() ) //如選中恢復按鈕,則播放原始情話 
	{
    
	//初始化時,判斷是否有用戶自定制的情話數據文件(放在此,是為了反復測情話文件是否存在)
	CStdioFile TxtFile;
    //打開情話數據文件
    if (TxtFile.Open("lovepet.dat", CFile::modeRead|CFile::typeText))
    {
	//讀入用戶自定制的情話文件名(不含路徑,及在當前路徑尋找并播放它)
    //和文字描述信息.
    TxtFile.ReadString (strTemp);
	//字符從0記起,故不加1 ,分離出相應字符串信息
	strWavFileName=strTemp.Left(strTemp.Find("$$$"));
	if(strTemp.Find( "$$$")>=0)
	  strTextDescription=strTemp.Right(strTemp.GetLength()-(strTemp.Find("$$$")+3));
	TxtFile.Close();

	//判斷用戶自定制的情話語音文件是否在當前路徑
	if(!TxtFile.Open(strWavFileName,CFile::modeRead))
	{
	 //	CString strErrorMessage;
	//	strErrorMessage = "自定制情話文件:" + strWavFileName +"不存在或不和主程序(lovepet.exe)在一起!";
	//	AfxMessageBox(strErrorMessage);
	 
        strWavFileName="" ; //情話語音文件不存在,付于其空值		
	}
	else
		TxtFile.Close (); //文件存在,則關閉它,否則會播不出聲音
   }
   else
      strWavFileName="" ; //情話數據文件不存在,付于其空值
	
    if(strWavFileName!="") //情話數據不為空并且自定制情話文件存在則播放它
	{
		SetTimer(2,5000,NULL); //設置自定制情話播放的時間為5秒
	   //用下API函數播放
    	sndPlaySound(strWavFileName,SND_ASYNC|SND_NODEFAULT  ); 
	}
	else if(bWavPlay)  //否則,播放原始情圣情話一
	{    //先關閉原聲音播放
		PlaySound("IDR_WAVE1",AfxGetResourceHandle(),SND_RESOURCE|SND_PURGE|SND_NODEFAULT  ); 
    	SetTimer(2,10700,NULL); //設置第一次播放聲音時寵物休息的時間10.7秒
	   //資源WAV文件的ID須加雙引號,用下API函數播放
    	PlaySound("IDR_WAVE1",AfxGetResourceHandle(),SND_RESOURCE|SND_ASYNC|SND_NODEFAULT  ); 
	}
	else  //否則,播放原始情圣情話二
	{
		 //先關閉原聲音播放
		PlaySound("IDR_WAVE2",AfxGetResourceHandle(),SND_RESOURCE|SND_PURGE|SND_NODEFAULT  ); 
      	SetTimer(2,12000,NULL); //設置第二次播放聲音時寵物休息的時間12秒鐘
	   //資源WAV文件的ID須加雙引號,用下API函數播放
    	PlaySound("IDR_WAVE2",AfxGetResourceHandle(),SND_RESOURCE|SND_ASYNC |SND_NODEFAULT  ); 
	}
	}
	else  //播放定制情話
	{
		//定制情話文件一如為空,則播放原始情話文件一
      if(pCustomWavFile->GetWaveFile ().IsEmpty ()) 
	  { //先關閉原聲音播放
		PlaySound("IDR_WAVE1",AfxGetResourceHandle(),SND_RESOURCE|SND_PURGE|SND_NODEFAULT  ); 
    	SetTimer(2,10700,NULL); //設置第一次播放聲音時寵物休息的時間10.7秒
	   //資源WAV文件的ID須加雙引號,用下API函數播放
    	PlaySound("IDR_WAVE1",AfxGetResourceHandle(),SND_RESOURCE|SND_ASYNC|SND_NODEFAULT  ); 
	  }
	  else //不為空,則播放自定制情話文件
	  {  
    	SetTimer(2,5000,NULL); //設置自定制情話播放的時間為5秒
	   //用下API函數播放
    	sndPlaySound(pCustomWavFile->GetWaveFile(),SND_ASYNC|SND_NODEFAULT  ); 
	  }

	}
		
}

//初始顯示玫瑰圖像
void CTransparentWnd::StartBitmap(void)
{
	char szBmp[20];
    CString strTemp; 

    sprintf(szBmp,"ROSE");
	m_bmpDraw.DeleteObject();
	m_bmpDraw.LoadBitmap(szBmp);
	CWindowDC dc(this);
	SetupRegion(&dc);
	Invalidate();

	SoundPlay(); //播放相應的WAV文件
}

void CTransparentWnd::Reset(void)
{
    Idle();
	SoundPlay(); //播放相應的WAV文件
}

//播放WAV文件時顯示的動態圖像
void CTransparentWnd::Idle(void)
{
  char szBmp[20];

    sprintf(szBmp,"WEST1");
	m_bmpDraw.DeleteObject();
	m_bmpDraw.LoadBitmap(szBmp);
	CWindowDC dc(this);
	SetupRegion(&dc);
	Invalidate();
}

void CTransparentWnd::DoSet(void)
{
	int iSW=GetSystemMetrics(SM_CXFULLSCREEN);
	int iSH=GetSystemMetrics(SM_CYFULLSCREEN);

	KillTimer(1);
	SetTimer(2,600,NULL);  //設置圖像改變間隔時間

}

//獲取用戶自定制文字描述字符串
CString CTransparentWnd::GetTextDescription()
{
  return strTextDescription;
}

void CTransparentWnd::DoWalk(void)
{
	int iSW=GetSystemMetrics(SM_CXFULLSCREEN);
	int iSH=GetSystemMetrics(SM_CYFULLSCREEN);

	CRect rcW;
	GetWindowRect(rcW);

	SetTimer(2,600,NULL);  //恢復原圖像改變時的間隔時間

	if(rcW.left<50) xcounter=10;
	if(rcW.top<50) ycounter=10;
	if( rcW.left <50) m_iLastDirection=1;  //向右移動
	
	if(rcW.left>iSW-50) xcounter=-10;
	if(rcW.top>iSH-50) ycounter=-10;
    if(rcW.left >iSW-50) m_iLastDirection=0; //向左移動
	
	CPoint ptOffset(xcounter,ycounter);
 	rcW+=ptOffset;
//	MoveWindow(rcW);  //移動窗體

	char szBmp[20];
  
	if(bDragDrop) //寵物實時拖動時顯示的圖像	 
      sprintf(szBmp,"GRIL");
    else if(m_iLastDirection==1) //寵物向右移動時顯示的圖像
	{
	  if((m_iAniSeq%24)>16) //圖像動態四動一靜
	    sprintf(szBmp,"WALK%d",m_iAniSeq%8+5); //不動時圖像(后八個)
	  else
	  {
		sprintf(szBmp,"WALK%d",m_iAniSeq%4+1); //動時圖像
		MoveWindow(rcW);//為運動圖像時方移動窗體(前四個)
	  }
	}
	else//寵物向左移動時顯示的圖像
	{
      if((m_iAniSeq%24)>16)
        sprintf(szBmp,"WALK%d",m_iAniSeq%8+17); //不動時圖像(后八個)
	  else
	  {
		sprintf(szBmp,"WALK%d",m_iAniSeq%4+13); //動時圖像
	    MoveWindow(rcW);//為運動圖像時方移動窗體(前四個)
	  }
	}

	m_bmpDraw.DeleteObject();
	m_bmpDraw.LoadBitmap(szBmp);
	CWindowDC dc(this);
	SetupRegion(&dc);
	Invalidate();
}


//********************************************************************************
//* CTransparentWnd message handlers
//********************************************************************************

void CTransparentWnd::OnLButtonDown(UINT nFlags, CPoint point) 
{
	CWnd::OnLButtonDown(nFlags, point);

    SetTimer(3,60,NULL);  //拖動時同時顯示窗體的計數器3
	//鼠標移動到窗體時改變鼠標指針
	::SetCursor(AfxGetApp()->LoadCursor(IDC_DROP));
	SetCapture(); //設置鼠標全屏捕捉
    CurPoint=point; //記下按下時的鼠標坐標

	//實現無標題拖動
//	PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x,point.y)); 
}

int CTransparentWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CWnd::OnCreate(lpCreateStruct) == -1)
		return -1;

     	//系統區動態顯示的圖標文件
	m_hIcon[0]=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    
	//創建系統區圖標
	if (!m_TrayIcon.Create(this, 
				IDR_POPUP, 
				_T("愛圣V3.0"), 
				m_hIcon, 
				1, //一幅圖像
				1000, //延時1秒變化
				WM_TRAYNOTIFY))
	{
		AfxMessageBox(_T("錯誤:創建系統圖標失敗!"), MB_OK | MB_ICONSTOP);
		return -1;
	}

	xcounter=10,ycounter=10;
	m_iLastDirection=1;  //寵物跑動的方向標志位,開始為向右
	SetTimer(1,3000,NULL);  //初始時的玫瑰圖像顯示時間3秒
	bWavPlay=true;  //聲音開始播放標志位初始為真
	bDragDrop=false;  //寵物拖動標志初始為假
	bShow=true; //窗體顯示動畫標志位初始為真,及滑向系統區
	SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE); //窗體總在總前面

	return 0;
}

BOOL CTransparentWnd::OnEraseBkgnd(CDC* pDC) 
{
	CRect	rect;
	GetWindowRect(&rect);

	CDC memDC;
	CBitmap			&cBitmap=m_bmpDraw;;
	CBitmap*		pOldMemBmp = NULL;
	CFont* pOldMemFont=NULL;

	memDC.CreateCompatibleDC(pDC);
	pOldMemBmp = memDC.SelectObject(&cBitmap);
/*	//寵物上方顯示文字信息
	pOldMemFont = memDC.SelectObject(&m_fontLogo);
	CString szT=strTextPlay;
	int iLen=szT.GetLength ();
	CString strTemp=szT.Left (2);
	szT=szT.Right (iLen-2)+strTemp;
	CRect rcD(3,2,16,33);
	memDC.SetBkMode(TRANSPARENT);
	memDC.DrawText(szT,rcD,DT_LEFT|DT_WORDBREAK);
*/
	pDC->BitBlt(0, 0, rect.Width(), rect.Height(), &memDC, 0, 0, SRCCOPY);

	if (pOldMemBmp) memDC.SelectObject( pOldMemBmp );
//	if (pOldMemFont) memDC.SelectObject( pOldMemFont );

	return TRUE;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人在线视频网站| 久久综合狠狠综合久久综合88 | 欧美大片一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 中文字幕欧美激情一区| 亚洲欧美激情小说另类| 免费久久精品视频| 成人福利电影精品一区二区在线观看 | 欧美日韩国产欧美日美国产精品| 日韩一级片网址| 韩国女主播成人在线| 91 com成人网| 欧美午夜寂寞影院| 26uuu久久天堂性欧美| 日韩一区中文字幕| 蜜桃久久av一区| 99国内精品久久| 欧美xxx久久| 国产精品久久夜| 日韩在线观看一区二区| 成人午夜碰碰视频| 在线综合视频播放| 亚洲欧洲日韩av| 老司机精品视频导航| 色综合色狠狠综合色| www成人在线观看| 午夜精品久久久久| av电影在线观看一区| 精品99999| 亚洲国产欧美在线人成| 成人免费毛片嘿嘿连载视频| 欧美一区二区网站| 一区二区在线观看免费| 久久新电视剧免费观看| 一区二区三区波多野结衣在线观看| 久久99日本精品| 欧美久久久久中文字幕| 亚洲人午夜精品天堂一二香蕉| 精品国产乱码久久| 91久久久免费一区二区| 色婷婷久久一区二区三区麻豆| 精品国产一区二区亚洲人成毛片| 一区二区在线观看视频在线观看| 国产999精品久久久久久| 51精品秘密在线观看| 亚洲狼人国产精品| 成人黄色777网| 久久久久久久久久美女| 裸体在线国模精品偷拍| 欧美精品xxxxbbbb| 亚洲主播在线观看| 色综合久久久久久久久| 国产精品视频一二三区| 国产电影一区二区三区| 欧美xxxx在线观看| 久久成人精品无人区| 91精品婷婷国产综合久久性色| 亚洲6080在线| 欧美在线影院一区二区| 亚洲欧美偷拍卡通变态| a美女胸又www黄视频久久| 国产农村妇女毛片精品久久麻豆 | 欧美亚洲一区三区| 欧美激情在线一区二区| 欧美中文字幕一二三区视频| 欧美成人精精品一区二区频| 国产精品久久久久久一区二区三区| 极品瑜伽女神91| 欧美不卡一区二区三区| 开心九九激情九九欧美日韩精美视频电影| 在线观看一区二区视频| 一区二区成人在线| 91久久精品一区二区三区| 亚洲精品中文在线观看| 在线一区二区视频| 亚洲午夜电影在线| 欧美日韩性生活| 肉色丝袜一区二区| 日韩欧美色综合网站| 精彩视频一区二区三区| 久久综合久久综合久久| 国产风韵犹存在线视精品| 国产精品情趣视频| 91麻豆产精品久久久久久| 艳妇臀荡乳欲伦亚洲一区| 欧美视频在线观看一区二区| 日韩av网站免费在线| 日韩欧美www| 韩国v欧美v亚洲v日本v| 国产欧美日韩久久| 99久久精品国产一区二区三区| 亚洲你懂的在线视频| 欧美少妇一区二区| 蜜臀久久99精品久久久久久9| 亚洲精品一区二区三区99| 久久亚洲精品小早川怜子| 国产欧美日韩不卡免费| 亚洲午夜久久久久久久久久久| 欧美三级电影一区| 亚洲国产一区在线观看| 宅男在线国产精品| 国产传媒一区在线| 亚洲美女视频在线观看| 欧美情侣在线播放| 国产一区二区久久| 中文字幕一区视频| 欧美日韩dvd在线观看| 捆绑调教美女网站视频一区| 久久久久久97三级| 一本一道综合狠狠老| 婷婷国产v国产偷v亚洲高清| 久久综合久久综合久久| 91麻豆国产福利在线观看| 日本不卡高清视频| 日本一区二区三区高清不卡| 欧美亚洲综合网| 国产一区二区精品久久| 亚洲色图欧洲色图| 日韩美女天天操| 91免费精品国自产拍在线不卡| 青青草国产成人av片免费| 中文字幕精品在线不卡| 欧美日韩一区二区不卡| 粉嫩av一区二区三区在线播放| 亚洲人成网站影音先锋播放| 欧美一区二区三区男人的天堂| 成人午夜激情影院| 夜夜夜精品看看| 日韩精品视频网站| 欧美国产禁国产网站cc| 成人av网站免费观看| 日韩成人免费电影| 国产精品电影一区二区三区| 日韩一区二区精品在线观看| 91免费视频网址| 国产精品综合二区| 午夜成人免费电影| 成人欧美一区二区三区视频网页 | 亚洲国产中文字幕在线视频综合| 久久久91精品国产一区二区精品 | 日韩精品亚洲专区| 亚洲免费观看高清完整| 久久新电视剧免费观看| 8v天堂国产在线一区二区| 一本色道久久综合亚洲aⅴ蜜桃 | 日本一区二区三区在线不卡| 欧美疯狂做受xxxx富婆| 色噜噜狠狠成人网p站| 国产suv一区二区三区88区| 日韩国产高清影视| 一区二区欧美视频| 一区精品在线播放| 国产欧美精品区一区二区三区| 精品奇米国产一区二区三区| 亚洲激情图片小说视频| 国产精品一区二区你懂的| 精品日韩在线观看| 粉嫩av一区二区三区| 另类小说一区二区三区| 丝袜国产日韩另类美女| 一卡二卡三卡日韩欧美| 国产精品萝li| 欧美国产丝袜视频| 国产欧美1区2区3区| 国产做a爰片久久毛片| 日av在线不卡| 偷拍亚洲欧洲综合| 午夜久久久久久| 天天影视涩香欲综合网| 亚洲国产一区二区三区青草影视| 亚洲视频免费在线观看| 中文字幕一区三区| 亚洲欧美综合网| 中文字幕亚洲区| 中文字幕一区二区三区不卡| 国产喷白浆一区二区三区| wwwwww.欧美系列| 国产视频一区在线播放| 久久嫩草精品久久久久| 久久日一线二线三线suv| 欧美刺激午夜性久久久久久久| 91精品久久久久久久99蜜桃| 欧美精品一二三| 91精品国产入口| 欧美成人精品高清在线播放| 日韩精品在线一区二区| 精品日韩一区二区三区 | 青青青伊人色综合久久| 人人超碰91尤物精品国产| 综合激情网...| www日韩大片| 欧美日韩国产综合一区二区 | 色综合视频在线观看| aa级大片欧美| 色综合久久中文综合久久牛| 欧美艳星brazzers| 日韩一级高清毛片| 国产校园另类小说区| 亚洲欧洲av在线| 亚洲自拍都市欧美小说|