www.pudn.com > DalsaNetlink.rar > CyMovieSelectionDialog.cpp
// CyMovieSelectionDialog.cpp : implementation file // #include "stdafx.h" #include#include "CyVideoCompressor.h" #include "CyMovieSelectionDialog.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CCyMovieSelectionDialog dialog CyMovieSelectionDialog::CyMovieSelectionDialog(CWnd* pParent /*=NULL*/) : CDialog(CyMovieSelectionDialog::IDD, pParent) { //{{AFX_DATA_INIT(CyMovieSelectionDialog) mCodecName = _T(""); mMoviePathname = _T(""); //}}AFX_DATA_INIT memset( &mCOMPVARS, 0, sizeof( COMPVARS ) ); } void CyMovieSelectionDialog::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CyMovieSelectionDialog) DDX_Control(pDX, IDOK, mOKBtn); DDX_Text(pDX, IDC_CODEC, mCodecName); DDX_Text(pDX, IDC_MOVIE_FILENAME, mMoviePathname); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CyMovieSelectionDialog, CDialog) //{{AFX_MSG_MAP(CyMovieSelectionDialog) ON_BN_CLICKED(IDC_MOVIE_BROWSE_BTN, OnMovieBrowseBtn) ON_BN_CLICKED(IDC_CHOOSE_CODEC_BTN, OnChooseCodecBtn) ON_EN_CHANGE(IDC_MOVIE_FILENAME, OnChangeMovieFilename) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CyMovieSelectionDialog message handlers BOOL CyMovieSelectionDialog::OnInitDialog() { CDialog::OnInitDialog(); UpdateCodecName(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CyMovieSelectionDialog::OnMovieBrowseBtn() { static char BASED_CODE szFilter[] = "Movie files (*.avi)|*.avi|All Files (*.*)|*.*||"; CFileDialog lDlg( true, "avi", NULL, OFN_CREATEPROMPT | OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY, szFilter, this ); if( lDlg.DoModal() != IDOK ) return; UpdateData(TRUE); mMoviePathname = lDlg.GetPathName(); UpdateData(FALSE); mOKBtn.EnableWindow( !mMoviePathname.IsEmpty() && !mCodecName.IsEmpty() ); } void CyMovieSelectionDialog::OnChooseCodecBtn() { if( CyVideoCompressor::ChooseCompressor( &mCOMPVARS, GetSafeHwnd() ) != CY_RESULT_OK ) return; UpdateCodecName(); } void CyMovieSelectionDialog::UpdateCodecName() { string lCodecName; if( CyVideoCompressor::GetCompressorName( &mCOMPVARS, lCodecName ) != CY_RESULT_OK ) { // TODO:Proper error handling return; } UpdateData( TRUE ); mCodecName = lCodecName.c_str(); UpdateData( FALSE ); mOKBtn.EnableWindow( !mMoviePathname.IsEmpty() && !mCodecName.IsEmpty() ); } void CyMovieSelectionDialog::OnChangeMovieFilename() { UpdateData( TRUE ); mOKBtn.EnableWindow( !mMoviePathname.IsEmpty() && !mCodecName.IsEmpty() ); }