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

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

?? main.cpp

?? < VC++視頻音頻開(kāi)發(fā)>> 這本書(shū)的源碼
?? CPP
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
				tmpOptions.disable_screen_saver = tmpOptions.disable_screen_saver ? 0 : 1;
				break;

			case IDC_CHECK_SAVE_POS:

				tmpOptions.save_pos = tmpOptions.save_pos ? 0 : 1;
				break;
		}

		case WM_DESTROY:
			return TRUE;
	}

	return FALSE;
}

/*
 * 參數(shù)表鏈
 *
 */

static struct prefsTabs {
	LPTSTR	rsrc;
	char	*name;
	DLGPROC	dProc;
} tabs[]={
	{	MAKEINTRESOURCE(IDD_PREFS_GENERAL),	"General",	PreferencesGeneralDlgProc},
};



/**************************************************************************************
 *                                                                                    *
 *                              DlgProc用于主參數(shù)選擇                                 *
 *                        --------------------------------                            *
 **************************************************************************************/

static BOOL APIENTRY PreferencesDlgProc( HWND hDlg, UINT message, UINT wParam, LONG lParam) {

	DWORD i;

	switch(message) {

	case WM_SYSCOMMAND:
		if (wParam == SC_CLOSE)
		{
			EndDialog (hDlg, TRUE);
			return (TRUE);
		}
		break;
	
	case WM_INITDIALOG:
			{
				HWND tab = GetDlgItem(hDlg, IDC_TAB);

				memcpy(&tmpOptions, &options, sizeof(options_t));

				for(i = 0; i < (sizeof tabs/sizeof tabs[0]); i++) {
					
					TC_ITEM ti;

					ti.mask		= TCIF_TEXT;
					ti.pszText	= tabs[i].name;

					TabCtrl_InsertItem(tab, i, &ti);
				}

				hwndDisplay = CreateDialogParam(hInstance, tabs[0].rsrc, hDlg, tabs[0].dProc, (LPARAM)NULL);
				ShowWindow(hwndDisplay, SW_SHOW);

				return TRUE;
			}
		
		case WM_NOTIFY: {
			NMHDR *nm = (LPNMHDR)lParam;

			switch(nm->code) {
			case TCN_SELCHANGE:
				{
					int iTab = TabCtrl_GetCurSel(nm->hwndFrom);

					if (iTab>=0) {
						if (hwndDisplay) DestroyWindow(hwndDisplay);
							hwndDisplay = CreateDialogParam(hInstance, tabs[iTab].rsrc, hDlg, tabs[iTab].dProc, NULL);
					}

					ShowWindow(hwndDisplay, SW_SHOW);
				}
				return TRUE;
			}
			}
			break;


	  case WM_COMMAND:

        switch (wParam)
		{
		  case IDC_PREFS_OK:
		
			  EndDialog(hDlg, TRUE);
			  
			  /*
			   * 保存參數(shù)的變化
			   */
				
			  memcpy(&options, &tmpOptions, sizeof(options_t));

			  /*
			   * 應(yīng)用 
			   */

			  CheckMenuItem(popupMenu, (UINT)ID_LOOP, options.loop ? MF_CHECKED : MF_UNCHECKED);
		  	  CheckMenuItem(popupMenu, (UINT)ID_ON_TOP, options.on_top ? MF_CHECKED : MF_UNCHECKED);
		  	  CheckMenuItem(popupMenu, (UINT)ID_SCREENSAVER, options.disable_screen_saver ? MF_CHECKED : MF_UNCHECKED);

			  options.on_top = options.on_top ? 0 : 1;
			  SendMessage(hwnd, WM_COMMAND, (WPARAM)ID_ON_TOP, 0);

			  playback->SetLoop(options.loop);
			  
			  /*
			   * 結(jié)束對(duì)話(huà)框
			   */
			  
			  return TRUE;
			  break;

		  case IDC_PREFS_CANCEL:

			  EndDialog(hDlg, TRUE);
			  break;

		  default:
			  return 0;
		}
		break;


		case WM_DESTROY:
			return TRUE;
	}

	return FALSE;
}

/**************************************************************************************
 *                                                                                    *
 *                                 DlgProc用于重放                                    *
 *                        -----------------------------------                         *
 **************************************************************************************/

static BOOL APIENTRY PlaybackPropertiesDlgProc( HWND hDlg, UINT message, UINT wParam, LONG lParam) {

	switch(message) {
		case WM_INITDIALOG:
			
			if(playback->HasVideo()) {
			
				if(playback->input)
					SendMessage(GetDlgItem(hDlg, IDC_PLAYBACK_LIST), LB_ADDSTRING, 0, (LONG) playback->input->GetName());
				
				if(playback->decaps)
					SendMessage(GetDlgItem(hDlg, IDC_PLAYBACK_LIST), LB_ADDSTRING, 0, (LONG) playback->decaps->GetName());
				
				if(playback->videoDecoder)
					SendMessage(GetDlgItem(hDlg, IDC_PLAYBACK_LIST), LB_ADDSTRING, 0, (LONG) playback->videoDecoder->GetName());
				
				if(playback->videoBuffer)
					SendMessage(GetDlgItem(hDlg, IDC_PLAYBACK_LIST), LB_ADDSTRING, 0, (LONG) playback->videoBuffer->GetName());
				
				if(playback->videoRenderer)
					SendMessage(GetDlgItem(hDlg, IDC_PLAYBACK_LIST), LB_ADDSTRING, 0, (LONG) playback->videoRenderer->GetName());
			}

			if(playback->HasAudio()) {
			
				if(playback->audioDecoder)
					SendMessage(GetDlgItem(hDlg, IDC_PLAYBACK_LIST), LB_ADDSTRING, 0, (LONG) playback->audioDecoder->GetName());
				
				if(playback->audioRenderer)
					SendMessage(GetDlgItem(hDlg, IDC_PLAYBACK_LIST), LB_ADDSTRING, 0, (LONG) playback->audioRenderer->GetName());
			}
			
			if(playback->hasSubtitles) {

				if(playback->subtitler)
					SendMessage(GetDlgItem(hDlg, IDC_PLAYBACK_LIST), LB_ADDSTRING, 0, (LONG) playback->subtitler->GetName());
			}

			return TRUE;

		case WM_SYSCOMMAND:
			if (wParam == SC_CLOSE)
			{
				EndDialog (hDlg, TRUE);
				return (TRUE);
			}
			break;

		case WM_COMMAND:

	        switch (LOWORD(wParam))
			{
				case ID_PLAYBACK_CLOSE	:
				
					EndDialog (hDlg, TRUE);
					break;

				case IDC_PLAYBACK_CONFIGURE:
					{
						  int nItem;
						  nItem = SendMessage(GetDlgItem(hDlg, IDC_PLAYBACK_LIST), LB_GETCURSEL, 0, 0); 

						  switch(nItem) {

						  case 0:
							  playback->input->Configure(hInstance, hDlg);
							  break;

						  case 1:
							  playback->decaps->Configure(hInstance, hDlg);
							  break;
						  
						  case 2:

							  playback->videoDecoder->Configure(hInstance, hDlg);
							  break;
						  
						  case 3:
							  playback->videoBuffer->Configure(hInstance, hDlg);
							  break;
						  
						  case 4:
							  playback->videoRenderer->Configure(hInstance, hDlg);
							  break;
						  
						  case 5:
							  playback->audioDecoder->Configure(hInstance, hDlg);
							  break;
						  
						  case 6:
							  playback->audioRenderer->Configure(hInstance, hDlg);
							  break;
						  
						  case 7:
							  playback->subtitler->Configure(hInstance, hDlg);
							  break;
						  }
					}
					break;

				case IDC_PLAYBACK_LIST:

					switch (HIWORD(wParam)) { 
                  
					  case LBN_SELCHANGE:
						
						  int nItem;
						  nItem = SendMessage(GetDlgItem(hDlg, IDC_PLAYBACK_LIST), LB_GETCURSEL, 0, 0); 

						  switch(nItem) {

						  case 0:
							  if(playback->input->GetCaps() & MEDIA_CAPS_CAN_CONFIGURE) {

						 		  EnableWindow(GetDlgItem(hDlg, IDC_PLAYBACK_CONFIGURE), TRUE);
							  }
							  else {

						 		  EnableWindow(GetDlgItem(hDlg, IDC_PLAYBACK_CONFIGURE), FALSE);
							  }
							  break;

						  case 1:
							  if(playback->decaps->GetCaps() & MEDIA_CAPS_CAN_CONFIGURE) {

						 		  EnableWindow(GetDlgItem(hDlg, IDC_PLAYBACK_CONFIGURE), TRUE);
							  }
							  else {

						 		  EnableWindow(GetDlgItem(hDlg, IDC_PLAYBACK_CONFIGURE), FALSE);
							  }
							  break;
						  
						  case 2:

							  if(playback->videoDecoder->GetCaps() & MEDIA_CAPS_CAN_CONFIGURE) {

						 		  EnableWindow(GetDlgItem(hDlg, IDC_PLAYBACK_CONFIGURE), TRUE);
							  }
							  else {

						 		  EnableWindow(GetDlgItem(hDlg, IDC_PLAYBACK_CONFIGURE), FALSE);
							  }

							  break;
						  
						  case 3:
							  if(playback->videoBuffer->GetCaps() & MEDIA_CAPS_CAN_CONFIGURE) {

						 		  EnableWindow(GetDlgItem(hDlg, IDC_PLAYBACK_CONFIGURE), TRUE);
							  }
							  else {

						 		  EnableWindow(GetDlgItem(hDlg, IDC_PLAYBACK_CONFIGURE), FALSE);
							  }
							  break;
						  
						  case 4:
							  if(playback->videoRenderer->GetCaps() & MEDIA_CAPS_CAN_CONFIGURE) {

						 		  EnableWindow(GetDlgItem(hDlg, IDC_PLAYBACK_CONFIGURE), TRUE);
							  }
							  else {

						 		  EnableWindow(GetDlgItem(hDlg, IDC_PLAYBACK_CONFIGURE), FALSE);
							  }
							  break;
						  
						  case 5:
							if(playback->audioDecoder->GetCaps() & MEDIA_CAPS_CAN_CONFIGURE) {

						 		  EnableWindow(GetDlgItem(hDlg, IDC_PLAYBACK_CONFIGURE), TRUE);
							  }
							  else {

						 		  EnableWindow(GetDlgItem(hDlg, IDC_PLAYBACK_CONFIGURE), FALSE);
							  }
							  break;
						  
						  case 6:
							  if(playback->audioRenderer->GetCaps() & MEDIA_CAPS_CAN_CONFIGURE) {

						 		  EnableWindow(GetDlgItem(hDlg, IDC_PLAYBACK_CONFIGURE), TRUE);
							  }
							  else {

						 		  EnableWindow(GetDlgItem(hDlg, IDC_PLAYBACK_CONFIGURE), FALSE);
							  }
							  break;
						  
						  case 7:
							  if(playback->subtitler->GetCaps() & MEDIA_CAPS_CAN_CONFIGURE) {

						 		  EnableWindow(GetDlgItem(hDlg, IDC_PLAYBACK_CONFIGURE), TRUE);
							  }
							  else {

						 		  EnableWindow(GetDlgItem(hDlg, IDC_PLAYBACK_CONFIGURE), FALSE);
							  }
							  break;

						  }
						  
						  break;
					}
					break;
			}
			break;

		case WM_DESTROY:
			return TRUE;
	}

	return FALSE;
}

/**************************************************************************************
 *                                                                                    *
 *                              DlgProc用于文件信息對(duì)話(huà)框                             *
 *                        ------------------------------------                        *
 **************************************************************************************/

int APIENTRY PropDlgProc (HWND hDlg, WORD wMsg, LONG wParam, LONG lParam)
{
  switch (wMsg)
    {
      case WM_INITDIALOG:

		  char freq[20];
		  char channels[2];
		  char video_size[50];
		  char duration[20];
		  char total_size[50];

		  DWORD time, hours, minutes, seconds;

		  if(playback->HasAudio() && playback->audioDecoder) {
			  _ultoa(playback->audioDecoder->GetAudioFormat()->nSamplesPerSec, freq, 10);
			  _ultoa(playback->audioDecoder->GetAudioFormat()->nChannels, channels, 10);
		  }

		  sprintf(video_size, "%dx%d", playback->GetVideoWidth(), playback->GetVideoHeight());
		  
		  if(playback->input)
			  sprintf(total_size, "%d bytes", playback->input->GetSize());

		  time = playback->GetTotalTime();

		  hours   = time/3600;
		  minutes = (time - hours*3600)/60;
		  seconds = (time - hours*3600 - minutes*60)/60;

		  sprintf(duration, "%.2d:%.2d:%.2d", hours, minutes, seconds);

		  
		  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_FILENAME),  playback->GetFilename());
		  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_FILE_TYPE), playback->input->GetName());
		  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_FILE_SIZE), total_size);
		  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_DURATION),  duration);
		  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_DECAPS),  playback->decaps->GetName());

		  if(playback->HasVideo()) {

			  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_VIDEO_CODEC), playback->videoDecoder->GetName());
			  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_VIDEO_SIZE), video_size);

			  switch(playback->videoRenderer->GetVideoMode()) {

				  case VIDEO_MODE_RGB16:
					  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_VIDEO_MODE), "RGB 16 bpp");
					  break;

				  case VIDEO_MODE_RGB24:
					  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_VIDEO_MODE), "RGB 24 bpp");
					  break;

				  case VIDEO_MODE_RGB32:
					  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_VIDEO_MODE), "RGB 32 bpp");
					  break;
				  case VIDEO_MODE_YUY2:
					  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_VIDEO_MODE), "YUY2 Overlay");
					  break;
				  case VIDEO_MODE_YUV12:
					  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_VIDEO_MODE), "YUV 12 Overlay");
					  break;
				  case VIDEO_MODE_UYVY:
					  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_VIDEO_MODE), "UYVY Overlay");
					  break;
			  }

			  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_VRENDERER), playback->videoRenderer->GetName());
		  }

		  if(playback->hasAudio) {
			  		  
			  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_AUDIO_CODEC), playback->audioDecoder->GetName());
			  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_AUDIO_FREQUENCY), freq);
			  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_AUDIO_CHANNELS), channels);
		  }
		  else {

			  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_AUDIO_CODEC),     "Not Available");
			  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_AUDIO_FREQUENCY), "Not Available");
			  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_AUDIO_CHANNELS),  "Not Available");
		  }

		  if(playback->hasSubtitles) {

			  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_SUB), playback->subtitler->GetName());
		  }
		  else {

			  SetWindowText(GetDlgItem(hDlg, IDC_STATIC_SUB),  "Not Available");
		  }

		  return (0);
		break;

      case WM_SYSCOMMAND:
        if (wParam == SC_CLOSE)
          {
          EndDialog (hDlg, TRUE);
          return (TRUE);
          }
        break;

	  case WM_COMMAND:

        switch (wParam)
		{
		  case IDB_PROPERTIES_OK:
			
			  EndDialog(hDlg, TRUE);
			  return TRUE;
			  break;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷av一区二区三区gif| 欧美高清在线一区二区| 欧美丝袜第三区| 91麻豆免费视频| 97精品久久久午夜一区二区三区 | 欧美国产日产图区| 久久精品夜色噜噜亚洲aⅴ| 精品国偷自产国产一区| 欧美大片一区二区| 精品国产露脸精彩对白| 久久美女高清视频| 国产日本欧洲亚洲| 中文字幕精品一区二区三区精品 | 午夜一区二区三区在线观看| 一区二区三区不卡在线观看| 亚洲影视在线播放| 午夜精品免费在线观看| 日韩综合在线视频| 久国产精品韩国三级视频| 国产综合久久久久久鬼色| 国产精品香蕉一区二区三区| 成人一区二区三区中文字幕| 97久久超碰精品国产| 欧美性猛交一区二区三区精品| 欧美三级乱人伦电影| 欧美一级视频精品观看| 久久久久久久免费视频了| 日本一区二区在线不卡| 亚洲私人影院在线观看| 亚洲成av人影院在线观看网| 麻豆91精品视频| 成人美女视频在线观看18| 一本大道久久a久久精二百| 欧美日韩在线一区二区| 2020国产成人综合网| 亚洲欧洲成人av每日更新| 亚洲国产精品一区二区www| 免费看欧美女人艹b| 国产成人丝袜美腿| 欧美视频自拍偷拍| xnxx国产精品| 一区二区三区成人| 韩国毛片一区二区三区| 91麻豆精品一区二区三区| 欧美一区二区福利在线| 国产精品视频观看| 日韩av在线发布| 不卡高清视频专区| 日韩美女视频一区二区在线观看| 中文字幕免费在线观看视频一区| 亚洲在线视频一区| 国产精品影视天天线| 日本丰满少妇一区二区三区| 精品精品欲导航| 一区二区三区欧美久久| 国产一区二区精品在线观看| 色狠狠色噜噜噜综合网| 久久久亚洲精品一区二区三区 | 亚洲一区二区五区| 激情另类小说区图片区视频区| 色婷婷综合久久久中文一区二区| 日韩免费高清av| 一区二区三区不卡在线观看| 国产成人亚洲综合a∨婷婷图片| 欧美日韩成人高清| 国产精品白丝在线| 美女一区二区在线观看| 在线观看网站黄不卡| 国产午夜一区二区三区| 美日韩一级片在线观看| 国内不卡的二区三区中文字幕| 欧美人妇做爰xxxⅹ性高电影 | 日韩精品1区2区3区| jizzjizzjizz欧美| 精品国产三级电影在线观看| 亚洲一区二区三区中文字幕在线 | 91在线观看免费视频| 日韩女优毛片在线| 天堂精品中文字幕在线| 国产日韩欧美亚洲| 日欧美一区二区| 欧美电影免费观看高清完整版在线观看 | 亚洲国产另类av| 欧美日韩三级一区| 免费在线欧美视频| 精品美女一区二区| 国产成人8x视频一区二区| 中文字幕av不卡| 91色婷婷久久久久合中文| 亚洲制服丝袜av| 欧美片网站yy| 久草中文综合在线| 国产欧美视频在线观看| 91免费版在线| 五月天激情综合网| 精品国产免费一区二区三区四区 | 亚洲欧美另类小说| 欧美日韩中文精品| 久久99精品久久久久久国产越南 | 激情久久久久久久久久久久久久久久| 久久综合九色欧美综合狠狠| 粉嫩嫩av羞羞动漫久久久| 成人欧美一区二区三区视频网页| 在线精品视频小说1| 日本不卡中文字幕| 久久精品亚洲麻豆av一区二区| aaa亚洲精品| 亚洲国产cao| 欧美sm极限捆绑bd| 99r国产精品| 天天免费综合色| 久久久久久久久久久黄色| 91丝袜美女网| 日韩精品久久久久久| 久久久久久综合| 在线精品观看国产| 狠狠色丁香婷婷综合久久片| 中文字幕中文字幕一区二区| 欧美精品视频www在线观看| 国产一区二区三区综合| 亚洲乱码中文字幕综合| 欧美sm美女调教| 91麻豆福利精品推荐| 久久机这里只有精品| 亚洲美女少妇撒尿| 日韩欧美专区在线| 99这里只有久久精品视频| 日韩精品视频网| 中文字幕一区二区日韩精品绯色| 777亚洲妇女| 99re在线精品| 国产自产高清不卡| 一区二区三区精品| 久久美女高清视频| 在线成人av网站| 99久久99久久精品免费观看| 日韩黄色小视频| 亚洲乱码国产乱码精品精的特点 | 国产精品一二三四五| 亚洲综合小说图片| 亚洲国产精品二十页| 欧美精品一卡二卡| 色天天综合色天天久久| 国产激情91久久精品导航| 日韩福利电影在线观看| 成人丝袜18视频在线观看| 日韩精品一区第一页| 亚洲欧美一区二区久久| 国产欧美一二三区| 欧美一二三四在线| 精品视频色一区| 91污在线观看| 高清免费成人av| 狠狠v欧美v日韩v亚洲ⅴ| 天天综合日日夜夜精品| 亚洲精品乱码久久久久久日本蜜臀| 久久精品人人做人人爽人人| 日韩欧美一区二区在线视频| 欧美色国产精品| 97超碰欧美中文字幕| 粉嫩av亚洲一区二区图片| 欧美aa在线视频| 五月婷婷欧美视频| 亚洲最大色网站| 亚洲欧美日韩一区二区三区在线观看| 久久久久88色偷偷免费 | 国产精品2024| 国精品**一区二区三区在线蜜桃| 日本午夜精品一区二区三区电影 | 欧美男女性生活在线直播观看| 91美女片黄在线观看| av电影天堂一区二区在线 | 亚洲精品视频自拍| 国产精品久久网站| 国产亚洲欧美激情| 久久综合精品国产一区二区三区 | 精品在线观看视频| 久久福利资源站| 激情综合色综合久久| 美女在线观看视频一区二区| 蜜臀91精品一区二区三区| 日本午夜精品一区二区三区电影| 日韩影院精彩在线| 美女在线观看视频一区二区| 精品一区二区久久| 国产精品一区二区不卡| 国产精品一区二区男女羞羞无遮挡 | 欧美精三区欧美精三区| 欧美裸体一区二区三区| 欧美日韩在线精品一区二区三区激情 | 精品日产卡一卡二卡麻豆| 欧美变态tickling挠脚心| 日韩欧美视频一区| 亚洲精品在线三区| 久久久久亚洲综合| 国产精品久久毛片av大全日韩| 中文字幕一区二区三区不卡 | 欧美中文字幕一区二区三区亚洲| 欧美主播一区二区三区| 91精品啪在线观看国产60岁|