⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 optionsdlg.cpp

📁 Microsoft WinCE 6.0 BSP FINAL release source code for use with the i.MX27ADS TO2 WCE600_FINAL_MX27_S
💻 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 + -