📄 optionsdlg.cpp
字号:
/*
*
* Copyright (C) 2004-2006, Freescale Semiconductor, Inc. All Rights Reserved.
* THIS SOURCE CODE, AND ITS USE AND DISTRIBUTION, IS SUBJECT TO THE TERMS
* AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT
*
* File: APPS/CAMAPP/OptionsDlg.cpp
* Purpose: This file implements the DialogProc for the Options Dialog
* Notes:
*
*/
/*********************************************************************
INCLUDE FILES
*********************************************************************/
#include "CameraWindow.h"
#include "OptionsDlg.h"
/*********************************************************************
GLOBAL DEFINITIONS
*********************************************************************/
/*********************************************************************
GLOBAL OR STATIC VARIABLES
*********************************************************************/
/*********************************************************************
STATIC FUNCTION PROTOTYPES
*********************************************************************/
/********************************************************************
*
* FUNCTION: OptionsDialogProc
*
* DESCRIPTION: This function handles the dialog messages for the COptionDlg dialog box.
*
* PARAMETERS: HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam
*
* RETURNS: TRUE if successfully, otherwise return FALSE
*
********************************************************************/
BOOL CALLBACK OptionsDialogProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg) {
case WM_INITDIALOG:
CheckRadioButton( hWndDlg, IDC_FRAMERATE_RADIO1, IDC_FRAMERATE_RADIO3, IDC_FRAMERATE_RADIO3 );
CheckRadioButton( hWndDlg, IDC_ROT_RADIO1, IDC_ROT_RADIO2, IDC_ROT_RADIO1 );
SendDlgItemMessage( hWndDlg, IDC_COMBO_ZOOM, CB_ADDSTRING, (WPARAM)0, (LPARAM)L"100%" );
SendDlgItemMessage( hWndDlg, IDC_COMBO_ZOOM, CB_ADDSTRING, (WPARAM)0, (LPARAM)L"200%" );
SendDlgItemMessage( hWndDlg, IDC_COMBO_ZOOM, CB_SETCURSEL, ((WPARAM)g_pCameraWindow->m_dwZoomLevel -1), (LPARAM)0 );
SendDlgItemMessage( hWndDlg, IDC_COMBO_RESOLUTION, CB_ADDSTRING, (WPARAM)0, (LPARAM)L"VGA" );
SendDlgItemMessage( hWndDlg, IDC_COMBO_RESOLUTION, CB_ADDSTRING, (WPARAM)0, (LPARAM)L"CIF" );
SendDlgItemMessage( hWndDlg, IDC_COMBO_RESOLUTION, CB_ADDSTRING, (WPARAM)0, (LPARAM)L"QVGA" );
SendDlgItemMessage( hWndDlg, IDC_COMBO_RESOLUTION, CB_ADDSTRING, (WPARAM)0, (LPARAM)L"QCIF" );
SendDlgItemMessage( hWndDlg, IDC_COMBO_RESOLUTION, CB_ADDSTRING, (WPARAM)0, (LPARAM)L"QQVGA" );
SendDlgItemMessage( hWndDlg, IDC_COMBO_RESOLUTION, CB_SETCURSEL, (WPARAM)g_pCameraWindow->m_dwResolution, (LPARAM)0 );
break;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDOK:
{
//Apply Zoom Level
DWORD dwZoomLevel = SendDlgItemMessage( hWndDlg, IDC_COMBO_ZOOM, CB_GETCURSEL, (WPARAM)0, (LPARAM)0 ) + 1;
g_pCameraWindow->ApplyZoomLevel(dwZoomLevel);
//Change Preview Resolution
DWORD dwResolution = SendDlgItemMessage( hWndDlg, IDC_COMBO_RESOLUTION, CB_GETCURSEL, (WPARAM)0, (LPARAM)0 );
RETAILMSG(CAMAPP_DEBUG_MSG,(TEXT("OptionsDialogProc:command:: dwResolution = %d\r\n"), dwResolution));
switch (dwResolution)
{
case 0:
RETAILMSG(CAMAPP_DEBUG_MSG,(TEXT("OptionsDialogProc:command:: 0\r\n")));
g_pCameraWindow->ChangeResolution(VGA);
break;
case 1:
RETAILMSG(CAMAPP_DEBUG_MSG,(TEXT("OptionsDialogProc:command:: 1\r\n")));
g_pCameraWindow->ChangeResolution(CIF);
break;
case 2:
RETAILMSG(CAMAPP_DEBUG_MSG,(TEXT("OptionsDialogProc:command:: 2\r\n")));
g_pCameraWindow->ChangeResolution(QVGA);
break;
case 3:
RETAILMSG(CAMAPP_DEBUG_MSG,(TEXT("OptionsDialogProc:command:: 3\r\n")));
g_pCameraWindow->ChangeResolution(QCIF);
break;
case 4:
RETAILMSG(CAMAPP_DEBUG_MSG,(TEXT("OptionsDialogProc:command:: 4\r\n")));
g_pCameraWindow->ChangeResolution(QQVGA);
break;
}
//change frame rate
BOOL biFrameRate15 = ((SendDlgItemMessage(hWndDlg,
IDC_FRAMERATE_RADIO1,
BM_GETSTATE,
(WPARAM) 0,
(LPARAM) 0) & BST_CHECKED) == BST_CHECKED);
if (biFrameRate15)
{
g_pCameraWindow->ChangeFrameRate(15);
}
BOOL biFrameRate30 = ((SendDlgItemMessage(hWndDlg,
IDC_FRAMERATE_RADIO2,
BM_GETSTATE,
(WPARAM) 0,
(LPARAM) 0) & BST_CHECKED) == BST_CHECKED);
if (biFrameRate30)
{
g_pCameraWindow->ChangeFrameRate(30);
}
BOOL biFrameRateMax = ((SendDlgItemMessage(hWndDlg,
IDC_FRAMERATE_RADIO3,
BM_GETSTATE,
(WPARAM) 0,
(LPARAM) 0) & BST_CHECKED) == BST_CHECKED);
if (biFrameRateMax)
{
g_pCameraWindow->ChangeFrameRate(0);
}
BOOL biPortrait = ((SendDlgItemMessage(hWndDlg,
IDC_ROT_RADIO1,
BM_GETSTATE,
(WPARAM) 0,
(LPARAM) 0) & BST_CHECKED) == BST_CHECKED);
if (biPortrait)
{
g_pCameraWindow->OnRotation(FALSE);
}
BOOL biLandscape = ((SendDlgItemMessage(hWndDlg,
IDC_ROT_RADIO2,
BM_GETSTATE,
(WPARAM) 0,
(LPARAM) 0) & BST_CHECKED) == BST_CHECKED);
if (biLandscape)
{
g_pCameraWindow->OnRotation(TRUE);
}
RETAILMSG(CAMAPP_DEBUG_MSG,(TEXT("OptionsDialogProc:command:: Get IDOK\r\n")));
EndDialog(hWndDlg, IDOK);
}
break;
case IDCANCEL:
RETAILMSG(CAMAPP_DEBUG_MSG,(TEXT("OptionsDialogProc:command:: Get IDCANCEL\r\n")));
EndDialog(hWndDlg, IDCANCEL);
break;
}
break;
case WM_CLOSE:
// If the "X" button on the command bar was pressed destroy the dialog
// and returning ID_DLG_CANCEL (failure).
EndDialog(hWndDlg, IDCANCEL);
break;
default:
return FALSE;
}
return TRUE;
}
/*********************************************************************
EXPORTED FUNCTIONS
*********************************************************************/
/*********************************************************************
END OF FILE
*********************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -