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

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

?? camtooldlg.cpp

?? CAM-TOOL 是高效率高質(zhì)量的模具制造的最好CAM解決方案。在當(dāng)今的 Windows 操作環(huán)境里
?? CPP
?? 第 1 頁 / 共 3 頁
字號(hào):
	// 2 - Calculate margin between property sheet
	// and tab control
	int dcx = rcPSheet.Width() - rcTabCtrl.Width();
	int dcy = rcPSheet.Height() - rcTabCtrl.Height();

	// 3 - Move and resize property sheet window
	// (also moves the tab window because it is a child
	// of the property sheet window)
	pPSheet->MoveWindow( 	rcNewPosition .left, rcNewPosition.top,
							rcNewPosition .Width(), rcNewPosition.Height() );

	// 4 - Resize tab control window to restore
	// right / bottom margins
	pTabCtrl->SetWindowPos(	NULL,
							0, 0,
							rcNewPosition.Width() - dcx,
							rcNewPosition.Height() - dcy, 
							SWP_NOZORDER | SWP_NOMOVE | SWP_NOACTIVATE );

	// 5 - Activate each property page to prevent drawing
	// problem
	int nCurrentPage = pPSheet->GetActiveIndex();
	for( int i = 0; i < pPSheet->GetPageCount(); ++i )
	{
		pPSheet->SetActivePage( i );
	}

	pPSheet->SetActivePage( nCurrentPage );
}

void EkPositionEmbeddedPropertySheet(	CWnd* pParent, CPropertySheet* pPSheet,
										UINT nIDPSheetArea )
{
	ASSERT_VALID( pParent );
	ASSERT_VALID( pPSheet );

	// 1 - Retrieve property sheet destination position
	CRect rcNewPosition;
	CWnd* pWndNewArea = pParent->GetDlgItem( nIDPSheetArea );
	if( pWndNewArea == NULL )
	{
		ASSERT( FALSE );	// Invalid nIDPSheetArea
		return;
	}

	pWndNewArea->GetWindowRect( &rcNewPosition );
	pParent->ScreenToClient( &rcNewPosition );

	// 2 - Call overloaded function
	EkPositionEmbeddedPropertySheet( pParent, pPSheet, rcNewPosition );
}

void CCamToolDlg::InitUserInterface()
{
	int len;

	m_capture =		(CButton *)GetDlgItem(IDC_CAPTURE);
	m_connect =		(CButton *)GetDlgItem(IDC_CONNECT);
	m_exit =		(CButton *)GetDlgItem(IDC_OK);
	m_path =		(CEdit   *)GetDlgItem(IDC_PATH);
	m_download =	(CButton *)GetDlgItem(IDC_DOWNLOAD);
	m_zoompos =		(CSliderCtrl*)GetDlgItem(IDC_ZOOMPOS);
	m_apply =		(CButton *)GetDlgItem(IDC_APPLY);

	m_zoompos->SetLineSize(50);
	m_zoompos->SetPageSize(100);
	m_zoompos->SetRange(START_FNUM_ITEM, END_FNUM_ITEM, TRUE);
	m_zoompos->SetPos(START_FNUM_ITEM);

	GetCurrentDirectory(255, ImagePath);
	len = strlen(ImagePath);
	if(ImagePath[len-1] != '\\') strcat(ImagePath, "\\");
	m_path->SetWindowText(ImagePath);

	//Init property sheet
	EkCreateEmbeddedPropertySheet( this, &m_ctrlsheet );
	EkPositionEmbeddedPropertySheet( this, &m_ctrlsheet, IDS_SETTING );
}

void CCamToolDlg::EnableAllUI(BOOL En)
{
	if(m_connect->GetCheck()) {
		m_capture->EnableWindow(En);
	}
	m_connect->EnableWindow(En);
	m_download->EnableWindow(En);
	m_zoompos->EnableWindow(En);
	if(ApplyEn) m_apply->EnableWindow(En);
	m_exit->EnableWindow(En);
	m_ctrlsheet.EnableWindow(En);

//	m_default->EnableWindow(En);
}

BOOL CCamToolDlg::DestroyWindow() 
{
	// TODO: Add your specialized code here and/or call the base class
	CloseGraphInterface();
	if(!method.Open()) {
		method.ViewMode();
		method.Close();
	}
	CoUninitialize();
	return CDialog::DestroyWindow();
}

void CCamToolDlg::OnCapture() 
{
	// TODO: Add your control notification handler code here
	unsigned short PicsNum;

	EnableAllUI(FALSE);

	if( m_connect->GetCheck() ) CloseGraphInterface();

	method.Open();
	PicsNum = method.RemainPics();	//Check remain memory size
	if(PicsNum == 0) {
		Error( TEXT("Memory Full !!!\r\n\r\n")
			   TEXT("Could not capture Still Images.\r\n"));
		method.IdleMode();
		method.ViewMode();
		if(m_connect->GetCheck()) PreviewOn();
#ifdef SET_PROPERTY_AGAIN	//No needed
		method.SetExposureBias(CapImgInfo[CAP_MANUAL_EXPOSURE_BIAS]);
		method.SetWBValue(CapImgInfo[CAP_MANUAL_WB_MODE]);
#endif
		method.Close();
		EnableAllUI(TRUE);
		return;
	}
	method.IdleMode();
	method.ViewMode();
	method.SetManualSaturation(SaturaionValue);
	I43_SetEdgeEnhancement((_I43_UINT3)SharpnessValue);
	if(OBValue) I43_SetMeanBlackNoiseRGB((I43_UINT8)OBValue,(I43_UINT8)OBValue,(I43_UINT8)OBValue);
	method.CaptureImage();
	method.Close();

	DLLastOne = 1;
	ShowCurrentState("Downloading...", 0);
	AfxBeginThread(DownloadThreadProc, GetSafeHwnd(), THREAD_PRIORITY_HIGHEST);
	StartProcedureEvent.SetEvent();
}

void CCamToolDlg::DLLastFinish()
{
	char path[255];
	CString str;

	strcpy(path, DLFilePath);
//	ViewstillImage(path);
	str += path;
	LoadJPG(str);
	DrawPics(0);

	if(!method.Open()) {
		method.IdleMode();
		if(!DLError) method.DeleteLastOne();
		method.Close();
	}
}

void CCamToolDlg::Error( TCHAR * pText )
{
    ::MessageBox( NULL, pText, TEXT("Error!"), MB_OK | MB_TASKMODAL | MB_SETFOREGROUND );
}

void CCamToolDlg::ViewstillImage(TCHAR * pFilename)
{
    // Open the bitmap with the system-default application
    ShellExecute(this->GetSafeHwnd(), TEXT("open\0"), pFilename, 
                 NULL, NULL, SW_SHOWNORMAL);
}

void CCamToolDlg::OnBrowse() 
{
	// TODO: Add your control notification handler code here
	char title[255] = "Image Path";
	int len;

	SHELLFLAGSTATE sfs;
	SHGetSettings(&sfs, SSF_DESKTOPHTML | SSF_SHOWALLOBJECTS | SSF_MAPNETDRVBUTTON | SSF_SHOWATTRIBCOL | SSF_SHOWEXTENSIONS);

	BROWSEINFO lpbi;
	LPITEMIDLIST pidl;

	ZeroMemory(&lpbi, sizeof(BROWSEINFO));
	lpbi.hwndOwner = GetSafeHwnd();
	lpbi.lpszTitle = title;
	lpbi.pszDisplayName = ImagePath;
	lpbi.lpfn = NULL;
	lpbi.pidlRoot = 0;
	lpbi.ulFlags = BIF_EDITBOX | BIF_VALIDATE;
	pidl = SHBrowseForFolder(&lpbi);

	SHGetPathFromIDList(pidl, ImagePath);
	if(ImagePath[0] == NULL) GetCurrentDirectory(255, ImagePath);
	len = strlen(ImagePath);
	if(ImagePath[len-1] != '\\') strcat(ImagePath, "\\");
	
	m_path->SetWindowText(ImagePath);
}

void CCamToolDlg::PreviewOn()
{
	HRESULT hr;
    if(PreviewHwnd)
    {
        // Create DirectShow graph and start capturing video
        hr = CaptureVideo();
	}
	if(FAILED(hr)) {
		CloseGraphInterface();
		Error( TEXT("Failed to initialize Camera!"));
	}
}

void CCamToolDlg::OnConnect() 
{
	// TODO: Add your control notification handler code here
	BOOL flag;

	EnableAllUI(FALSE);

	if(!DefaultFlag)
	{
		flag = InitPropertySheetSetting();
		if(!flag) {
			DefaultFlag = 1;
			method.Open();
			method.TurnLCD(0);
			method.Close();
			ShowCurrentState("Initial the camera successfully.", 0);
		}
		else {
			DefaultFlag = 0;
			ShowCurrentState("No video device was detected on your system.", 1);
			m_connect->SetCheck(FALSE);
			EnableAllUI(TRUE);
			return;
		}
		ApplyEn = 0;
	}

	if(!method.Open()) {
		if(m_connect->GetCheck()) {
			PreviewOn();
			m_connect->SetWindowText("Preview Off");
			m_capture->EnableWindow(TRUE);
		}
		else {
			CloseGraphInterface();
			method.ViewMode();
			m_connect->SetWindowText("Preview On");
			m_capture->EnableWindow(FALSE);
		}
#ifdef SET_PROPERTY_AGAIN	//No needed
		method.SetExposureBias(CapImgInfo[CAP_MANUAL_EXPOSURE_BIAS]);
		method.SetWBValue(CapImgInfo[CAP_MANUAL_WB_MODE]);
#endif
		method.Close();
	}
	else {
		Error( TEXT("No video device was detected on your system.\r\n\r\n")
			   TEXT("Please connect the camera to PC, and press\r\n")
			   TEXT("[Preview On] button again.") );
		m_connect->SetCheck(FALSE);
		ShowCurrentState("No video device was detected on your system.", 1);
	}
	EnableAllUI(TRUE);
}

void CCamToolDlg::OnDefault()
{
}

void CCamToolDlg::OnDownload()
{
	// TODO: Add your control notification handler code here
	char FolderName[255];

	if(method.Open()) {
		Error( TEXT("No video device was detected on your system.\r\n\r\n")
			   TEXT("Please connect the camera to PC, and press\r\n")
			   TEXT("[Preview On] button again.") );
		m_download->SetCheck(FALSE);
		ShowCurrentState("No video device was detected on your system.", 1);
		return;
	}

	EnableAllUI(FALSE);
	BeginWaitCursor();

	if(m_download->GetCheck()) {
		ShowCurrentState("Downloading......", 0);
		if(m_connect->GetCheck()) {
			CloseGraphInterface();
		}
		method.IdleMode();
		DLLastOne = 0;		//Download all images
		m_path->GetWindowText(DLFilePath);
		strcpy(FolderName, DLFilePath);
		ViewstillImage(FolderName);

		AfxBeginThread(DownloadThreadProc, GetSafeHwnd(), THREAD_PRIORITY_HIGHEST);
		StartProcedureEvent.SetEvent();
		m_download->SetWindowText("Break");

		m_download->EnableWindow(TRUE);
	}
	else {
		ShowCurrentState("Download interrupting......", 0);
		EndProcedureEvent.SetEvent();
	}

}

void CCamToolDlg::OnDownloadFinish()
{
	CProgressCtrl *progress;
	CStatic *percentage;
	CWnd *wnd;
//	unsigned short Version;
	unsigned long CapNum;

	wnd = AfxGetMainWnd();
	progress = (CProgressCtrl*)wnd->GetDlgItem(IDC_PROGRESS);
	percentage = (CStatic*)wnd->GetDlgItem(IDC_PERCENTAGE);

	if(DLLastOne) DLLastFinish();

	method.Open();

	CapNum = method.GetCaptureCount();
	sprintf(InfoStr[1],"%d", CapNum);
	m_ctrlsheet.m_infoctrl.ReDrawItem(InfoStr);

	method.IdleMode();
	method.ViewMode();

	if(m_connect->GetCheck()) {
		PreviewOn();
#ifdef SET_PROPERTY_AGAIN	//No needed
		method.SetExposureBias(CapImgInfo[CAP_MANUAL_EXPOSURE_BIAS]);
		method.SetWBValue(CapImgInfo[CAP_MANUAL_WB_MODE]);
#endif
	}
	method.Close();

	m_download->SetWindowText("Download");
	m_download->SetCheck(FALSE);

	percentage->SetWindowText("100%");
	progress->SetRange(0,1);
	progress->SetPos(1);

	if(DLError) ShowCurrentState("Download fail!!.", 1);
	else ShowCurrentState("Download finished.", 0);
	EnableAllUI(TRUE);
}

void CCamToolDlg::OnApply() 
{
	// TODO: Add your control notification handler code here

	EnableAllUI(FALSE);
	ShowCurrentState("Apply the capture setting to camera..", 0);

	if( m_connect->GetCheck() ) CloseGraphInterface();

	if(!method.Open()) {
		method.SaveCameraDefaultValue();
		method.DoFlashCharge(CapImgInfo[CAP_MANUAL_FLASH_MODE]);
		method.Close();
	}
	else {
		Error( TEXT("No video device was detected on your system.\r\n\r\n")
			   TEXT("Please connect the camera to PC, and press\r\n")
			   TEXT("[Preview On] button again.") );
		ShowCurrentState("No video device was detected on your system.", 1);
		EnableAllUI(TRUE);
		return;
	}

	method.Open();
	if( m_connect->GetCheck())
	{
		PreviewOn();
#ifdef SET_PROPERTY_AGAIN	//No needed
		method.SetExposureBias(CapImgInfo[CAP_MANUAL_EXPOSURE_BIAS]);
		method.SetWBValue(CapImgInfo[CAP_MANUAL_WB_MODE]);
#endif
	}
	method.Close();

	ApplyEn = 0;
	ShowCurrentState("The setting has applied.", 0);
	EnableAllUI(TRUE);
}

void CCamToolDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
	// TODO: Add your message handler code here and/or call default
	char str[80];
	static BOOL flag = 0;
	CStatic *s_fnum;
	unsigned short FNum;

	s_fnum = (CStatic *) GetDlgItem(IDS_FNUM);

	if(nSBCode == TB_ENDTRACK && !flag) {
		flag = 1;
		EnableAllUI(FALSE);
		if(!method.Open()) {
			ShowCurrentState("Zoom position changing...", 0);

			if(m_connect->GetCheck()) CloseGraphInterface();

			FNum = method.ZoomAction(method.FnoToZPos(m_zoompos->GetPos()));

			sprintf(str,"f%2.1f", FNum /1000.0);
			s_fnum->SetWindowText(str);

			if(m_connect->GetCheck())
			{
				method.IdleMode();
				method.ViewMode();
				PreviewOn();
#ifdef SET_PROPERTY_AGAIN	//No needed
				method.SetExposureBias(CapImgInfo[CAP_MANUAL_EXPOSURE_BIAS]);
				method.SetWBValue(CapImgInfo[CAP_MANUAL_WB_MODE]);
#endif	
			}
			ShowCurrentState("Zoom action finished.", 0);
		}
		method.Close();
		EnableAllUI(TRUE);
		flag = 0;
	}
	CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

HBRUSH CCamToolDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here
	if(nCtlColor == CTLCOLOR_STATIC) 
	{
		if(pWnd->GetDlgCtrlID() == IDS_STATE) {
			if(MessageState) pDC->SetTextColor(RGB(255,0,0));
			else pDC->SetTextColor(RGB(0,0,255));
		}
	}
	// TODO: Return a different brush if the default is not desired
	return hbr;
}

void CCamToolDlg::ShowCurrentState(char *str, BOOL flag)
{
	MessageState = flag;
	GetDlgItem(IDS_STATE)->SetWindowText(str);
}

void CCamToolDlg::Msg(char *szFormat, ...)
{
    TCHAR szBuffer[512];

    va_list pArgs;
    va_start(pArgs, szFormat);
    vsprintf(szBuffer, szFormat, pArgs);
    va_end(pArgs);

    MessageBox(szBuffer, "PlayCap Message", MB_OK | MB_ICONERROR);
}

void CCamToolDlg::ResizeVideoWindow()
{
    RECT rc;

    // Make the preview video fill our window
    ::GetClientRect(PreviewHwnd, &rc);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品在线视频| 午夜精品久久久| 久久91精品国产91久久小草| 一本一本大道香蕉久在线精品| 久久亚洲综合av| 天天综合天天做天天综合| 色噜噜夜夜夜综合网| 中文字幕不卡三区| 久久电影国产免费久久电影| 欧美性三三影院| 日韩理论电影院| 成人性生交大片| 久久一夜天堂av一区二区三区| 日韩国产高清在线| 91福利视频网站| 亚洲欧洲日韩综合一区二区| 国模套图日韩精品一区二区| 日韩欧美激情在线| 日韩av网站免费在线| 欧美影院一区二区三区| 亚洲美女在线国产| va亚洲va日韩不卡在线观看| 国产日韩精品一区二区三区在线| 美日韩黄色大片| 91精品国产91久久久久久一区二区| 亚洲午夜一区二区三区| 色综合久久88色综合天天免费| 国产精品久久久久久久久免费丝袜 | 国产精品亚洲第一区在线暖暖韩国| 日韩一区二区电影在线| 天天综合日日夜夜精品| 欧美日韩精品欧美日韩精品一综合| 一区二区三区欧美激情| 91欧美激情一区二区三区成人| 国产精品久久久久婷婷| 成人手机电影网| 欧美国产视频在线| 成人性生交大片免费看中文网站| 国产午夜精品福利| 国产91色综合久久免费分享| 国产欧美一二三区| 成人av在线一区二区| 国产精品视频线看| 不卡欧美aaaaa| 亚洲精品午夜久久久| 色天天综合色天天久久| 亚洲一区二区三区四区在线免费观看 | 一区二区在线观看免费视频播放| 91在线看国产| 一区二区三区资源| 欧美色中文字幕| 日韩国产精品久久久久久亚洲| 欧美一级国产精品| 国产综合一区二区| 中文字幕 久热精品 视频在线| 成人动漫一区二区三区| 亚洲三级电影网站| 欧美美女喷水视频| 激情六月婷婷久久| 国产三级一区二区三区| 不卡欧美aaaaa| 亚洲一二三专区| 日韩一区二区三区在线观看| 黄色日韩三级电影| 国产精品女同一区二区三区| 色又黄又爽网站www久久| 五月天亚洲婷婷| 亚洲精品在线电影| www.亚洲人| 亚洲一二三四在线| 欧美成人性福生活免费看| 国产黑丝在线一区二区三区| 国产精品美女久久久久久久网站| 91久久国产综合久久| 日韩1区2区日韩1区2区| 中文字幕乱码亚洲精品一区| 在线精品视频小说1| 久久se精品一区二区| 亚洲国产精华液网站w| 在线看国产一区| 国产综合久久久久久鬼色| 国产精品欧美一区喷水| 欧美日韩一区高清| 国产在线精品一区二区夜色| 综合久久久久综合| 91精品国产综合久久久久久久| 国产精品一二三区在线| 一区av在线播放| 精品伦理精品一区| 在线视频国内自拍亚洲视频| 久久99精品网久久| 亚洲激情av在线| 亚洲精品一区二区三区精华液| 99精品欧美一区| 美国三级日本三级久久99| 国产精品久久久久久一区二区三区| 欧美肥大bbwbbw高潮| 成人丝袜18视频在线观看| 亚洲成人激情社区| 亚洲国产精品99久久久久久久久| 欧美嫩在线观看| 99热在这里有精品免费| 免费xxxx性欧美18vr| 亚洲人成7777| 久久久蜜桃精品| 在线播放/欧美激情| 91麻豆产精品久久久久久| 久久69国产一区二区蜜臀| 亚洲图片一区二区| 国产精品伦理一区二区| 日韩欧美一区二区久久婷婷| 91浏览器入口在线观看| 国产麻豆精品视频| 五月天欧美精品| 亚洲黄色免费网站| 国产日产亚洲精品系列| 99这里只有久久精品视频| 国产亚洲福利社区一区| 欧美日韩另类一区| 波多野结衣在线aⅴ中文字幕不卡| 蜜桃精品在线观看| 亚洲成人综合在线| 亚洲人精品一区| 欧美极品xxx| 精品国产麻豆免费人成网站| 欧美老女人第四色| 一本大道av一区二区在线播放| 国产v综合v亚洲欧| 国产在线不卡视频| 久久精品99久久久| 日韩av一级片| 偷偷要91色婷婷| 亚洲制服丝袜一区| 一区二区三区中文字幕| 中文字幕一区在线观看| 久久精品在这里| 久久婷婷色综合| 日韩欧美中文一区| 欧美一区永久视频免费观看| 欧美影片第一页| 91九色02白丝porn| 91麻豆免费视频| 色婷婷狠狠综合| 色婷婷亚洲一区二区三区| 91在线高清观看| 99精品欧美一区二区三区小说 | 97se狠狠狠综合亚洲狠狠| 成人综合在线观看| 日韩毛片在线免费观看| 国产精品丝袜91| 欧美韩日一区二区三区| 日本一区二区三区dvd视频在线| 亚洲精品一区二区三区99 | 91网站最新地址| av在线免费不卡| caoporm超碰国产精品| 成人高清伦理免费影院在线观看| 丁香激情综合国产| 99精品视频一区二区三区| 色综合欧美在线视频区| 91黄视频在线| 欧美性色欧美a在线播放| 精品1区2区3区| 91麻豆精品国产91久久久资源速度 | 欧美日韩大陆一区二区| 91精品国产综合久久久久久漫画| 日韩小视频在线观看专区| 精品女同一区二区| 久久久久久久综合色一本| 国产欧美精品一区二区色综合| 亚洲国产精品激情在线观看| 最近日韩中文字幕| 亚洲一区二区三区四区在线| 性欧美疯狂xxxxbbbb| 免费三级欧美电影| 国产福利一区二区| 99国产精品久| 欧美日韩一级黄| 欧美成人乱码一区二区三区| 亚洲视频在线观看三级| 欧美日韩亚洲丝袜制服| 欧美日韩一级片网站| 日韩你懂的电影在线观看| 久久久久99精品国产片| 国产精品区一区二区三| 一区二区三区在线观看动漫| 爽好久久久欧美精品| 韩国一区二区视频| 99综合电影在线视频| 欧美久久久久久久久中文字幕| 精品久久久久99| 最新不卡av在线| 免费高清在线一区| 丁香天五香天堂综合| 欧美午夜片在线观看| 精品久久久久久久久久久久包黑料| 国产精品久线观看视频| 午夜精品久久久久久久99水蜜桃| 久久国产精品99久久久久久老狼| 99久久婷婷国产综合精品|