www.pudn.com > AudioVideoCapture.rar > COutputPage.cpp
// COutputPage.cpp : implementation file
//
#include "stdafx.h"
#include "avcap.h"
#include "COutputPage.h"
#include "CLiveCapture.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// COutputPage dialog
COutputPage::COutputPage(CWnd* pParent /*=NULL*/)
: CDialog(COutputPage::IDD, pParent)
{
//{{AFX_DATA_INIT(COutputPage)
mImageHeight = 0;
mImageWidth = 0;
mGrabFolder = _T("");
//}}AFX_DATA_INIT
mLiveCapture = NULL;
}
void COutputPage::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(COutputPage)
DDX_Control(pDX, IDC_COMBO_ENCODING_METHOD, mComboEncodings);
DDX_Text(pDX, IDC_EDIT_IMAGE_HEIGHT, mImageHeight);
DDX_Text(pDX, IDC_EDIT_IMAGE_WIDTH, mImageWidth);
DDX_Text(pDX, IDC_EDIT_GRAB_FOLDER, mGrabFolder);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(COutputPage, CDialog)
//{{AFX_MSG_MAP(COutputPage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// COutputPage message handlers
void COutputPage::SetLiveCapture(CLiveCapture * inData)
{
mLiveCapture = inData;
}
BOOL COutputPage::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
ASSERT(mLiveCapture);
FillEncodingTypes();
mLiveCapture->GetImageSize(&mImageWidth, &mImageHeight);
mGrabFolder = mLiveCapture->GetGrabFolder();
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void COutputPage::FillEncodingTypes(void)
{
mComboEncodings.ResetContent();
mComboEncodings.AddString("AVI");
mComboEncodings.SetItemData(0, ET_AVI);
mComboEncodings.AddString("DIVX");
mComboEncodings.SetItemData(1, ET_DIVX);
Encoding_Type type = (Encoding_Type)mLiveCapture->GetEncodingType();
for (int i = 0; i < mComboEncodings.GetCount(); i++)
{
long data = mComboEncodings.GetItemData(i);
if (mLiveCapture->GetEncodingType() == data)
{
mComboEncodings.SetCurSel(i);
break;
}
}
}
void COutputPage::EnterEncodingType(void)
{
int index = mComboEncodings.GetCurSel();
if (index != CB_ERR)
{
long data = mComboEncodings.GetItemData(index);
mLiveCapture->SetEncodingType((Encoding_Type)data);
}
}
void COutputPage::EnterImageSize(void)
{
UpdateData(TRUE);
mLiveCapture->SetImageSize(mImageWidth, mImageHeight);
}
void COutputPage::EnterGrabFolder(void)
{
UpdateData(TRUE);
mLiveCapture->SetGrabFolder(mGrabFolder);
}
void COutputPage::OnOK()
{
EnterImageSize(); // Save image size first!
EnterEncodingType();
EnterGrabFolder();
CDialog::OnOK();
}