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

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

?? clientwnd.cpp

?? 點歌系統
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
			if(nIndex < 1)
				nIndex = 3;
			break;
		case 4://處理歌名長度查詢時的坐標移動
			if(nIndex < 1)
				nIndex = 1;
			break;
		}
		m_selectmenu[m_nMenuIndex].SetUpDwnIndex(nIndex);
		break;//向上移 end
	case 2://向下移
		nIndex = m_selectmenu[m_nMenuIndex].GetUpDwnIndex();
		++nIndex;
		switch( m_nMenuIndex )
		{
		case 0://主菜單移動
			if(nIndex > 4)
				nIndex = 1;
			break;
		case 1://處理語種查詢時的坐標移動
			if(nIndex > m_nSpeechNum)
				nIndex = 1;
			break;
		case 2://處理歌手查詢時的坐標移動
			if(nIndex > m_nSingerNum)
				nIndex = 1;
			break;
		case 3://處理字母查詢時的坐標移動
			if(nIndex > 3)
				nIndex = 1;
			break;
		case 4://處理歌名長度查詢時的坐標移動
			if(nIndex > 1)
				nIndex = 1;
			break;
		}
		m_selectmenu[m_nMenuIndex].SetUpDwnIndex(nIndex);
		break;//向下移 end
	case 3://向左移
		switch( m_nMenuIndex )
		{
 		case 3://處理字母查詢時的坐標移動
			nIndex = m_selectmenu[m_nMenuIndex].GetLftRtIndex();
			--nIndex;
			if(nIndex < 1)
				nIndex = 10;
			m_selectmenu[m_nMenuIndex].SetLftRtIndex(nIndex);
			break;
		case 4://處理歌名長度查詢時的坐標移動
			nIndex = m_selectmenu[m_nMenuIndex].GetLftRtIndex();
			--nIndex;
			if(nIndex < 1)
				nIndex = 9;
			m_selectmenu[m_nMenuIndex].SetLftRtIndex(nIndex);
			break;
		default:
			break;
		}
		break;
	case 4://向右移
		switch( m_nMenuIndex )
		{
		case 3://處理字母查詢時的坐標移動
			nIndex = m_selectmenu[m_nMenuIndex].GetLftRtIndex();
			++nIndex;
			if(nIndex > 10)
				nIndex = 1;
			m_selectmenu[m_nMenuIndex].SetLftRtIndex(nIndex);
			break;
		case 4://處理歌名長度查詢時的坐標移動
 			nIndex = m_selectmenu[m_nMenuIndex].GetLftRtIndex();
			++nIndex;
			if(nIndex > 9)
				nIndex = 1;
			m_selectmenu[m_nMenuIndex].SetLftRtIndex(nIndex);
			break;
		default:
			break;
		}
		break;
	default:
		break;
	}
	//只有nMoveFlag在0和5之間時才顯示菜單
	if( nMoveFlag > 0 && nMoveFlag < 5)
		ShowMenu(m_nMenuIndex);
}

//////////////////////////////////////////////////////////////////////////////////
//函數功能: 處理按鍵
void CClientWnd::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
 	CClientDC dc(this);
 
  	int  nIndex;
 	char szText[256] = {0};
	CString strsql;
 
	//顯示的是結帳頁面時,只能按回車鍵重新連接服務器或按ESC退出程序
	if( m_nMenuFlag == 7 &&  nChar != VK_RETURN && nChar != VK_ESCAPE )
		return;

    switch(nChar)
	{
	case VK_ESCAPE:	//退出
		PostMessage(WM_CLOSE);
		break;

	case VK_RETURN:	//確認
  	switch( m_nMenuFlag )
		{
		case 1://主菜單操作
			if(m_bFstRun)
			{
				m_bFstRun = false;
				m_nMenuFlag = 1;//將m_nMenuFlag置1,在主菜單上操作
				m_nMenuIndex = 0;
				ShowMenu(0);
				break;
			}
			int x;
			int y;
			x = m_selectmenu[m_nMenuIndex].GetLftRtIndex();
			y = m_selectmenu[m_nMenuIndex].GetUpDwnIndex();
 			nIndex = (x-1)*10+y;
			m_nMenuIndex = nIndex;
			ShowMenu(m_nMenuIndex);
			m_nMenuFlag = 2;//將m_nMenuFlag置2,下一步將執行查詢操作
			break;
		case 2://將執行查詢操作
            SelectSong();
			m_strAlphabet = "";
			break;
 		case 6://當前顯示的為查詢時間和費用,此時按確定回到主菜單
			m_nMenuFlag = 1;//將m_nMenuFlag置1,在主菜單上操作
			m_nMenuIndex = 0;
			ShowMenu(0);
			this->SetFocus();
 			break;			
		case 7://當前顯示的為結帳的界面,此時按確定回到主菜單
			//重新連接服務器
			CClientSocket clientSocket;
			if( !clientSocket.ReConnect() )
			{
				CDC mdc;
				mdc.CreateCompatibleDC(&dc);				
				//加載位圖
				HBITMAP hbmp = LoadBitmap(m_conserver.GetAppPath() + 
					"picture\\login.bmp", m_nScreenX, m_nScreenY);
				SelectObject(mdc.m_hDC, hbmp);
                CString strmsg;
 				strmsg.Format("請到前臺咨詢");
				int xpos = GetXPos(strmsg);
				TextOut(&dc.m_hDC, xpos, 30, strmsg);
				Sleep(500);//讓字顯示0.5秒鐘
				//用圖片把字覆蓋
				dc.BitBlt(0, 0, m_nScreenX, 70, &mdc, 0, 0, SRCCOPY);
				return;
			}

			if( !clientSocket.ConnectServer(CConnectServer::GetServerIp()) )
			{
				int xpos = GetXPos("連接失敗服務器失敗.");
				dc.TextOut(xpos, 40, "連接失敗服務器失敗.");
				dc.TextOut(xpos, 80, "請確認服務器是否打開");
				dc.TextOut(xpos, 120, "或連接服務器的人過多");
				dc.TextOut(xpos, 160, "請稍后再試.");
 				PostMessage(WM_CLOSE);//退出程序
				return;
			}	
			
			m_nMenuFlag = 1;//將m_nMenuFlag置1,在主菜單上操作
			m_nMenuIndex = 0;
			ShowMenu(0);
			this->SetFocus();

			break;			
		}
		break;
	
	case 'Q'://返回
		if( m_nMenuFlag == 1 )//在主菜單頁面上按返回鍵為結帳
		{
			m_nMenuFlag = 6;//將m_nMenuFlag置6,當前顯示的為查詢時間和費用
			CDC mdc;
			mdc.CreateCompatibleDC(&dc);				
			//加載位圖
			HBITMAP hbmp = LoadBitmap(m_conserver.GetAppPath() + 
				"picture\\login.bmp", m_nScreenX, m_nScreenY);
			SelectObject(mdc.m_hDC, hbmp);

			CClientSocket::SelectInfo();//向服務器發查詢時間和費用的命令
			CString strmsg;
			strmsg.Format("您已用時: %s, 您應付%s塊.", m_strUsedTime, 
				m_strPayforMoney);
			m_strUsedTime = "";
			m_strPayforMoney = "";
			int xpos = GetXPos(strmsg);
 			TextOut(&mdc.m_hDC, xpos, 200, strmsg, RGB(255,0,255));

			xpos = GetXPos("按確定返回主菜單,按返回鍵結帳.");
 			TextOut(&mdc.m_hDC, xpos, m_nScreenY-100, 
				"按確定鍵返回主菜單,按返回鍵結帳.", RGB(255,0,255));
			dc.BitBlt(0, 0, m_nScreenX, m_nScreenY, &mdc, 0, 0, SRCCOPY);
			break;
		}
		else if( m_nMenuFlag == 6 )//在查詢時間和費用的界面上按返回則結帳
		{
			m_nMenuFlag = 7;//將m_nMenuFlag置7,顯示結帳界面
			int xpos = GetXPos("謝謝光臨,歡迎下次再來.");
			TextOut(&dc.m_hDC, xpos, m_nScreenY/2-40, "謝謝光臨,歡迎下次再來.", 
				RGB(255,0,255));
			TextOut(&dc.m_hDC, xpos, m_nScreenY/2, "請到前臺結帳.", 
				RGB(255,0,255));
		    //通知服務器結帳
			char szmsg[] = "payment";
			CClientSocket::SendMsg(szmsg, sizeof(szmsg));
			break;
		}
		else if( m_nMenuFlag != 3 && m_nMenuFlag != 1 && m_nMenuFlag < 6)
		{//當m_nMenuFlag等于2, 4或5時,返回主菜單
			m_nMenuFlag = 1;
			m_nMenuIndex = 0;
			ShowMenu(m_nMenuIndex);
		}
		else if( m_nMenuFlag == 3 )
		{//當m_nMenuFlag等于3即為選歌操作時,返回到上一級菜單,執行查詢操作
			m_nMenuFlag = 2;
			ShowMenu(m_nMenuIndex);
		}
 
		break;
    
	case VK_PRIOR://上頁
		Flip(1);
  		break;
	
	case VK_NEXT://下頁

		Flip(2);
 		break;

	case VK_UP://上移
        MovePosition(1);
		break;

	case VK_DOWN://下移
        MovePosition(2);
		break;

	case 190: case VK_LEFT://左移
		MovePosition(3);
		break;

	case 191: case VK_RIGHT://右移 begin
        MovePosition(4);
		break;//右移 end

	//數字0-9
	case '0': 	case '1':	case '2':	case '3':	case '4':
	case '5':	case '6':	case '7':	case '8':	case '9':
		int nkey;
		nkey = nChar - '0';
 
	    /*m_nMenuFlag  1: 主菜單操作 2: 查詢操作 3: 選歌操作 4: 刪歌操作 5: 播放歌曲*/
		switch( m_nMenuFlag )
		{
		case 1://主菜單操作 begin
 			if( nkey > 0 && nkey < m_selectmenu[m_nMenuIndex].GetMenuItemNum())
			{
				ShowMenu(nkey);
				m_nMenuIndex = nkey;
				m_nMenuFlag = 2;
			}
			break;//主菜單操作 end

		case 2://將執行查詢操作
			if( m_nMenuIndex == 3 )//是否為按字母查詢
			{
				if( nkey == 0 )//0鍵用于選擇單個字母
				{
					int x = m_selectmenu[m_nMenuIndex].GetLftRtIndex();
					int y = m_selectmenu[m_nMenuIndex].GetUpDwnIndex();
 					int	nIndex = (y-1)*10+x;
					
					m_strAlphabet += m_selectmenu[m_nMenuIndex].m_strMenuItem[nIndex];
					
					int xpos = GetXPos("請選擇首字母:");
					TextOut(&dc.m_hDC, xpos, 280, m_strAlphabet);					
				}
				else if( nkey == 3 )//數字3用于刪除上一個字母
				{
					CDC mdc;
					mdc.CreateCompatibleDC(&dc);				
					//加載位圖
					HBITMAP hbmp = LoadBitmap(m_conserver.GetAppPath() + 
						"picture\\login.bmp", m_nScreenX, m_nScreenY);
					SelectObject(mdc.m_hDC, hbmp);

					int xpos = GetXPos("請選擇首字母:");
					int ypos = 280;
					dc.BitBlt(xpos, ypos, 100, 50, &mdc, xpos, ypos, SRCCOPY);

					m_strAlphabet = m_strAlphabet.Left(m_strAlphabet.GetLength()-1);
					TextOut(&dc.m_hDC, xpos, 280, m_strAlphabet);					
				}
				break;
			}

			SelectSong(nkey);
			break;

		case 3://選定一首歌 begin
			int ret;
			nkey = (nkey == 0) ? m_nPageIndex*10 : (m_nPageIndex-1)*10 + nkey;
			ret = AddSong(nkey);
			if( ret > 0 )
			{
				//發送消息到服務器,所選歌曲已更改
				CClientSocket::SendMsg("LoadAgain", 10);
				CDC mdc;
 				mdc.CreateCompatibleDC(&dc);				
				//加載位圖
 				HBITMAP hbmp = LoadBitmap(m_conserver.GetAppPath() + 
					"picture\\login.bmp", m_nScreenX, m_nScreenY);
				SelectObject(mdc.m_hDC, hbmp);
                CString strmsg;
				if( ret == 2 )
					strmsg.Format("這首歌已在播放列表中,請選擇其它歌");
				else
					strmsg.Format("您已選定第%d首歌,按已點歌單查看已點歌曲", nkey);
				int xpos = GetXPos(strmsg);
				TextOut(&dc.m_hDC, xpos, 30, strmsg);
				Sleep(500);//讓字顯示0.5秒鐘
				//用圖片把字覆蓋
				dc.BitBlt(0, 0, m_nScreenX, 70, &mdc, 0, 0, SRCCOPY);
			}
			break;//選定一首歌 end

		case 4://刪除一首歌
			if(m_pSelectID == NULL)
				break;
			if(nkey > m_pSelectID[0])
				break;
			nkey = (nkey == 0) ? m_nPageIndex*10 : (m_nPageIndex-1)*10 + nkey;
 			strsql.Format("delete from request where ID=%d", m_pSelectID[nkey]);
			m_addrecord.GetRecordsetPtr(strsql);
			SendMessage(WM_KEYDOWN, VK_F6);
			break;

		case 5://播放歌曲
			if( m_pSelectID == NULL )
				break;
			if( nkey > m_pSelectID[0] || ( nkey == 0 && m_pSelectID[0] < 10) )
				break;
 
			m_nMenuFlag = 6;
			m_playsong.ShowWindow(SW_SHOW);
			m_playsong.Play( (nkey == 0) ? 
				m_nPageIndex*10 : (m_nPageIndex-1)*10 + nkey - 1 );
			break;
		}
		break;//數字鍵 end

	case VK_F4:	//已點歌單 begin
 		gethostname(szText, sizeof(szText));		
		strsql.Format("select * from request where username='%s' order by playseq", 
			szText);
		ShowSelectSong(strsql, "已點歌清單,按對應的數字鍵播放:", false, false);
        m_nMenuFlag = 5;//將m_nMenuFlag置5, 播放歌曲

		//將已選歌曲列表保存
		if( m_pSelectID == NULL )
			break;		

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91福利在线免费观看| 亚洲青青青在线视频| 国产精品影视网| 久久国产精品区| 久久国产精品露脸对白| 久久久久久久久久久久久夜| www日韩大片| 成人美女视频在线看| 黄一区二区三区| 蜜臀精品久久久久久蜜臀| 99久久精品一区二区| 性做久久久久久免费观看欧美| 国产一区二区在线观看视频| 日韩欧美在线网站| 经典三级一区二区| 国产蜜臀97一区二区三区| 色先锋久久av资源部| 婷婷丁香激情综合| 欧美成人福利视频| 免费成人美女在线观看.| 中日韩免费视频中文字幕| 久久夜色精品一区| 一级做a爱片久久| 欧美aⅴ一区二区三区视频| 日韩激情一二三区| 国内精品伊人久久久久av一坑 | 日韩视频免费直播| 欧美精品xxxxbbbb| 久久久亚洲高清| 一区二区三区国产| 国产99久久久精品| 欧美日韩黄视频| 亚洲国产精品成人久久综合一区| 三级在线观看一区二区| 成人午夜激情视频| 精品国产91洋老外米糕| 久久成人18免费观看| 欧美日韩卡一卡二| 手机精品视频在线观看| 91九色02白丝porn| 中文字幕在线免费不卡| 不卡的电视剧免费网站有什么| 91免费看片在线观看| 亚洲欧洲制服丝袜| 国产精品久久久久一区| 国产盗摄一区二区| 国产精品77777| 一本大道av伊人久久综合| 国产精品久久久久三级| 欧美日韩日日夜夜| av毛片久久久久**hd| 日韩成人精品在线观看| 一区二区三区中文在线| 精品成人a区在线观看| 欧美日韩一区三区四区| av激情成人网| 国产成人av电影| 亚洲精品欧美专区| 日韩影院精彩在线| 欧美日本精品一区二区三区| 成人国产精品免费观看视频| 久久99久久久欧美国产| 亚洲一区二区视频在线观看| 国产精品国产三级国产普通话蜜臀 | 中文字幕日韩一区| 色综合久久久久综合99| 日本美女一区二区三区视频| 欧美色区777第一页| 亚洲成在人线免费| 精品国产乱码久久久久久久久| 国内国产精品久久| ...av二区三区久久精品| 久久尤物电影视频在线观看| 久久成人免费网站| 国产精品理论在线观看| 91精品久久久久久久91蜜桃| av在线不卡免费看| 蜜臀av一区二区三区| 亚洲午夜免费视频| 国产精品欧美一区喷水| 91精品欧美综合在线观看最新| 91麻豆swag| 成人天堂资源www在线| 日本vs亚洲vs韩国一区三区二区| 国产精品国模大尺度视频| 国产欧美一区二区三区在线看蜜臀| 在线成人av网站| 日韩欧美国产一区二区三区| 成人开心网精品视频| av中文字幕不卡| 激情亚洲综合在线| 日韩一区中文字幕| 日本韩国一区二区三区视频| 91亚洲国产成人精品一区二三 | 99久久99精品久久久久久 | 久久福利视频一区二区| 精品一区二区三区在线观看国产| 日韩二区三区四区| 久久99精品久久久久婷婷| 国产精品资源站在线| 99re视频这里只有精品| 免费看日韩a级影片| 国内不卡的二区三区中文字幕| 视频一区视频二区在线观看| 亚洲福利视频导航| 午夜不卡在线视频| 麻豆国产91在线播放| 青青青爽久久午夜综合久久午夜| 国产做a爰片久久毛片| 黄色成人免费在线| 国产精品一区二区三区网站| 狠狠色丁香九九婷婷综合五月| 激情六月婷婷综合| 成人理论电影网| 99久久精品免费看国产| 成人一二三区视频| 国产成人激情av| 欧美卡1卡2卡| 久久久久久影视| 国产精品久久久久久久浪潮网站| 久久嫩草精品久久久久| 国产欧美日韩卡一| 亚洲va在线va天堂| 精品亚洲porn| 99久久免费视频.com| 91久久国产最好的精华液| 欧美精品久久99久久在免费线 | 日韩午夜电影av| 国产东北露脸精品视频| 欧美日韩大陆一区二区| 欧美精品一区二区三区一线天视频| 色综合亚洲欧洲| 91丝袜高跟美女视频| 秋霞午夜鲁丝一区二区老狼| 成人高清视频在线观看| 精品国产免费一区二区三区香蕉| 成人黄色电影在线| 亚洲欧美偷拍卡通变态| 欧美精品一区二区在线播放| 日韩毛片精品高清免费| 国产精品一区在线| 91福利在线导航| 亚洲日本va午夜在线影院| 美女在线一区二区| 欧美性色黄大片| 久久久91精品国产一区二区精品| 日韩av高清在线观看| 国产精品区一区二区三区| 久久99国内精品| 欧美日韩视频专区在线播放| 26uuu亚洲综合色| 亚洲一区二区欧美激情| 不卡av在线网| 国产性天天综合网| 亚洲线精品一区二区三区八戒| 麻豆国产精品一区二区三区| 在线观看免费视频综合| 亚洲成人激情综合网| 亚洲人一二三区| 一区二区三区在线播| av亚洲精华国产精华| 国产精品久线在线观看| 亚洲精品国产第一综合99久久| 久久久99免费| 国产精品无圣光一区二区| 91精品久久久久久蜜臀| 精品精品国产高清a毛片牛牛| 91麻豆精品91久久久久同性| 欧美一区二区三区色| 91.麻豆视频| 韩国精品免费视频| 欧美国产精品一区二区| 粗大黑人巨茎大战欧美成人| 欧美一区二区在线不卡| 国产成人精品综合在线观看| 亚洲男人的天堂av| 91麻豆精品国产91久久久资源速度 | 欧美色视频一区| 久久久精品免费免费| 国产福利视频一区二区三区| 久久久青草青青国产亚洲免观| 麻豆一区二区三| 26uuu另类欧美| 激情小说亚洲一区| 国产精品久久久久久久第一福利| 国产精品一卡二卡在线观看| 中国色在线观看另类| 成人av一区二区三区| 亚洲视频 欧洲视频| 波多野结衣在线一区| 一区二区在线电影| 欧美日韩的一区二区| 日韩av成人高清| 国产亚洲va综合人人澡精品| 岛国精品在线播放| 亚洲精品免费在线观看| 在线亚洲欧美专区二区| 奇米影视一区二区三区| 99re热视频精品| 午夜久久福利影院|