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

📄 interfacecontrol.cpp

📁 完整的基于Conxant平台的USB电视棒的WIN驱动程序。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    }
    
    
    //Select the current resolution in the list box
    SendDlgItemMessage(m_Dlg, IDC_TS2, CB_SETCURSEL, mpeg_source2, 0);
    ///////////////////////////////////////////////////////////////////////////////
    
    return S_OK; //retval;
} // Activate


//**********************************************************************
// OnReceiveMessage
// Override CBasePropertyPage method.
// Handles the messages for our property window
//**********************************************************************
INT_PTR InterfaceControl::OnReceiveMessage(HWND hwnd,
                                        UINT uMsg,
                                        WPARAM wParam,
                                        LPARAM lParam)
{
    switch (uMsg)
    {
        case WM_INITDIALOG:
        {
           FillListBox();
        }

        case WM_COMMAND:
        {
            switch(HIWORD(wParam))
            {
            // case CBN_SELCHANGE: //Combo box selection change
            case LBN_SELCHANGE:
            case EN_CHANGE:     //Edit box change    
                SetDirty();
                break;
            default:
                return (LRESULT) 1;
            }
        }
    }

    return  CBasePropertyPage::OnReceiveMessage(hwnd,uMsg,wParam,lParam);

} // OnReceiveMessage

void InterfaceControl::SetDirty()
{
    m_bDirty = TRUE;
    if (m_pPageSite)
    {
        m_pPageSite->OnStatusChange(PROPPAGESTATUS_DIRTY);
    }

} // SetDirty

HRESULT InterfaceControl::OnApplyChanges()
{
    HRESULT return_value = NOERROR;

    //Get the current selection from the dialog
/////////////ep1/////////////////////////////////////////////////////////////////////////////////////	
    ALT_SETTING alt_setting2 = (ALT_SETTING)SendDlgItemMessage(m_Dlg, IDC_EP1, CB_GETCURSEL, 0, 0);
    
    
    CXPOLARIS_ALT_SETTING alt_setting = CXPOLARIS_ALT_SETTING0; 
    
    switch(alt_setting2)
    {
    case ALT_SETTING0:
        alt_setting = CXPOLARIS_ALT_SETTING0;
        break;
    case ALT_SETTING1:
        alt_setting = CXPOLARIS_ALT_SETTING1;
        break;
    case ALT_SETTING2:
        alt_setting = CXPOLARIS_ALT_SETTING2;
        break;
    case ALT_SETTING3:
        alt_setting = CXPOLARIS_ALT_SETTING3;
        break;
    case ALT_SETTING4:
        alt_setting = CXPOLARIS_ALT_SETTING4;
        break;
    case ALT_SETTING5:
        alt_setting = CXPOLARIS_ALT_SETTING5;
        break;
    }
    
    
    if (FAILED(_p_property_set->Set(
        PROPSETID_CXPOLARIS_CONTROL_PROPERTIES, 
        CXPOLARIS_CONTROL_EP1,  
        &alt_setting, 
        sizeof(CXPOLARIS_ALT_SETTING), 
        &alt_setting, 
        sizeof(CXPOLARIS_ALT_SETTING))))
    {
        return_value = E_FAIL;
    }
    ///////ep2/////////////////////////////////////////////////////////////////////////////	
    alt_setting2 = (ALT_SETTING)SendDlgItemMessage(m_Dlg, IDC_EP2, CB_GETCURSEL, 0, 0);
    
    
    alt_setting = CXPOLARIS_ALT_SETTING0; 
    
    switch(alt_setting2)
    {
    case ALT_SETTING0:
        alt_setting = CXPOLARIS_ALT_SETTING0;
        break;
    case ALT_SETTING1:
        alt_setting = CXPOLARIS_ALT_SETTING1;
        break;
    case ALT_SETTING2:
        alt_setting = CXPOLARIS_ALT_SETTING2;
        break;
    case ALT_SETTING3:
        alt_setting = CXPOLARIS_ALT_SETTING3;
        break;
    case ALT_SETTING4:
        alt_setting = CXPOLARIS_ALT_SETTING4;
        break;
    case ALT_SETTING5:
        alt_setting = CXPOLARIS_ALT_SETTING5;
        break;
    }
    
    
    if (FAILED(_p_property_set->Set(
        PROPSETID_CXPOLARIS_CONTROL_PROPERTIES, 
        CXPOLARIS_CONTROL_EP2,  
        &alt_setting, 
        sizeof(CXPOLARIS_ALT_SETTING), 
        &alt_setting, 
        sizeof(CXPOLARIS_ALT_SETTING))))
    {
        return_value = E_FAIL;
    }
    /////////////////////ep3/////////////////////////////////////////////////////////////////////
    ALT_SETTING_EP3 alt_setting2_ep3 = (ALT_SETTING_EP3)SendDlgItemMessage(m_Dlg, IDC_EP3, CB_GETCURSEL, 0, 0);
    
    
    CXPOLARIS_ALT_SETTING_EP3 alt_setting_ep3 = CXPOLARIS_ALT0_32; 
    
    switch(alt_setting2_ep3)
    {
     case ALT0_32:
        alt_setting_ep3 = CXPOLARIS_ALT0_32;
        break;
     case ALT0_441:
        alt_setting_ep3 = CXPOLARIS_ALT0_441;
        break;
     case ALT0_48:
        alt_setting_ep3 = CXPOLARIS_ALT0_48;
        break;
     case ALT0_96:
         alt_setting_ep3 = CXPOLARIS_ALT0_96;
         break;
     case ALT1_32:
         alt_setting_ep3 = CXPOLARIS_ALT1_32;
         break;
     case ALT1_441:
         alt_setting_ep3 = CXPOLARIS_ALT1_441;
         break;
     case ALT1_48:
         alt_setting_ep3 = CXPOLARIS_ALT1_48;
         break;
     case ALT2_96:
         alt_setting_ep3 = CXPOLARIS_ALT2_96;
         break;
    }
    
    
    if (FAILED(_p_property_set->Set(
        PROPSETID_CXPOLARIS_CONTROL_PROPERTIES, 
        CXPOLARIS_CONTROL_EP3,  
        &alt_setting_ep3, 
        sizeof(CXPOLARIS_ALT_SETTING_EP3), 
        &alt_setting_ep3, 
        sizeof(CXPOLARIS_ALT_SETTING_EP3))))
    {
        return_value = E_FAIL;
    }
    ////////ep4/////////////////////////////////////////////////////////////////////////////////
    alt_setting2 = (ALT_SETTING)SendDlgItemMessage(m_Dlg, IDC_EP4, CB_GETCURSEL, 0, 0);
    
    
    alt_setting = CXPOLARIS_ALT_SETTING0; 
    
    switch(alt_setting2)
    {
    case ALT_SETTING0:
        alt_setting = CXPOLARIS_ALT_SETTING0;
        break;
    case ALT_SETTING1:
        alt_setting = CXPOLARIS_ALT_SETTING1;
        break;
    case ALT_SETTING2:
        alt_setting = CXPOLARIS_ALT_SETTING2;
        break;
    case ALT_SETTING3:
        alt_setting = CXPOLARIS_ALT_SETTING3;
        break;
    case ALT_SETTING4:
        alt_setting = CXPOLARIS_ALT_SETTING4;
        break;
    }
    
    
    if (FAILED(_p_property_set->Set(
        PROPSETID_CXPOLARIS_CONTROL_PROPERTIES, 
        CXPOLARIS_CONTROL_EP4,  
        &alt_setting, 
        sizeof(CXPOLARIS_ALT_SETTING), 
        &alt_setting, 
        sizeof(CXPOLARIS_ALT_SETTING))))
    {
        return_value = E_FAIL;
    }
    ///ep5//////////////////////////////////////////////////////////////////////////////////////
    alt_setting2 = (ALT_SETTING)SendDlgItemMessage(m_Dlg, IDC_EP5, CB_GETCURSEL, 0, 0);
    
    
    alt_setting = CXPOLARIS_ALT_SETTING0; 
    
    switch(alt_setting2)
    {
    case ALT_SETTING0:
        alt_setting = CXPOLARIS_ALT_SETTING0;
        break;
    case ALT_SETTING1:
        alt_setting = CXPOLARIS_ALT_SETTING1;
        break;
    }
    
    
    if (FAILED(_p_property_set->Set(
        PROPSETID_CXPOLARIS_CONTROL_PROPERTIES, 
        CXPOLARIS_CONTROL_EP5,  
        &alt_setting, 
        sizeof(CXPOLARIS_ALT_SETTING), 
        &alt_setting, 
        sizeof(CXPOLARIS_ALT_SETTING))))
    {
        return_value = E_FAIL;
    }
    ////ep6/////////////////////////////////////////////////////////////////////////////////////
    alt_setting2 = (ALT_SETTING)SendDlgItemMessage(m_Dlg, IDC_EP6, CB_GETCURSEL, 0, 0);
    
    
    alt_setting = CXPOLARIS_ALT_SETTING0; 
    
    switch(alt_setting2)
    {
    case ALT_SETTING0:
        alt_setting = CXPOLARIS_ALT_SETTING0;
        break;
    case ALT_SETTING1:
        alt_setting = CXPOLARIS_ALT_SETTING1;
        break;
   
    }
    
    
    if (FAILED(_p_property_set->Set(
        PROPSETID_CXPOLARIS_CONTROL_PROPERTIES, 
        CXPOLARIS_CONTROL_EP6,  
        &alt_setting, 
        sizeof(CXPOLARIS_ALT_SETTING), 
        &alt_setting, 
        sizeof(CXPOLARIS_ALT_SETTING))))
    {
        return_value = E_FAIL;
    }
    //ep15///////////////////////////////////////////////////////////////////////////////////////
    alt_setting2 = (ALT_SETTING)SendDlgItemMessage(m_Dlg, IDC_EP15, CB_GETCURSEL, 0, 0);
    
    
    alt_setting = CXPOLARIS_ALT_SETTING0; 
    
    switch(alt_setting2)
    {
    case ALT_SETTING0:
        alt_setting = CXPOLARIS_ALT_SETTING0;
        break;

    }
    
    
    if (FAILED(_p_property_set->Set(
        PROPSETID_CXPOLARIS_CONTROL_PROPERTIES, 
        CXPOLARIS_CONTROL_EP15,  
        &alt_setting, 
        sizeof(CXPOLARIS_ALT_SETTING), 
        &alt_setting, 
        sizeof(CXPOLARIS_ALT_SETTING))))
    {
        return_value = E_FAIL;
    }
////////////////////////////TS1///////////////////////////////////////////////////


////////////////////////////TS2///////////////////////////////////////////////////
    MPEG_SOURCE mpeg_source2 = (MPEG_SOURCE)SendDlgItemMessage(m_Dlg, IDC_TS2, CB_GETCURSEL, 0, 0);
    
    
    CXPOLARIS_MPEG_SOURCE mpeg_source = CXPOLARIS_MPEG_BDA; 
    
    switch(mpeg_source2)
    {
    case MPEG_BDA:
        mpeg_source = CXPOLARIS_MPEG_BDA;
        break;
    case MPEG_PROGRAM:
        mpeg_source = CXPOLARIS_MPEG_PROGRM;
        break;
        
    }
    
    
    if (FAILED(_p_property_set->Set(
        PROPSETID_CXPOLARIS_CONTROL_PROPERTIES, 
        CXPOLARIS_CONTROL_TS2,  
        &mpeg_source, 
        sizeof(CXPOLARIS_MPEG_SOURCE), 
        &mpeg_source, 
        sizeof(CXPOLARIS_MPEG_SOURCE))))
    {
        return_value = E_FAIL;
    }
/////////////////////////////////////////////////////////////////////////////////
    m_bDirty = FALSE;  // the page is now clean

    return return_value;
}

void InterfaceControl::FillListBox()
{
    TCHAR szBuffer[200];
    //Fill the audio sampling rate list box
    ///ep1/////////////////////////////////////////////////////
    int i;
    for (i = IDS_ALT_SETTING0; i <= IDS_ALT_SETTING5; i++)
    {
        LoadString(g_hInst, i, szBuffer, 200);
        SendDlgItemMessage(
            m_Dlg, 
            IDC_EP1, 
            CB_INSERTSTRING, 
            -1, 
            (LPARAM)szBuffer);
    }
    ///ep2/////////////////////////////////////////////////////////
    for (i = IDS_ALT_SETTING0; i <= IDS_ALT_SETTING5; i++)
    {
        LoadString(g_hInst, i, szBuffer, 200);
        SendDlgItemMessage(
            m_Dlg, 
            IDC_EP2, 
            CB_INSERTSTRING, 
            -1, 
            (LPARAM)szBuffer);
    }
    ///ep3///////////////////////////////////////////////////////////////
    for (i = IDS_ALT0_32; i <= IDS_ALT2_96; i++)
    {
        LoadString(g_hInst, i, szBuffer, 200);
        SendDlgItemMessage(
            m_Dlg, 
            IDC_EP3, 
            CB_INSERTSTRING, 
            -1, 
            (LPARAM)szBuffer);
    }
    ///ep4/////////////////////////////////////////////////////////////////
    for (i = IDS_ALT_SETTING0; i <= IDS_ALT_SETTING4; i++)
    {
        LoadString(g_hInst, i, szBuffer, 200);
        SendDlgItemMessage(
            m_Dlg, 
            IDC_EP4, 
            CB_INSERTSTRING, 
            -1, 
            (LPARAM)szBuffer);
    }
    //ep5////////////////////////////////////////////////////////////////////
    for (i = IDS_ALT_SETTING0; i <= IDS_ALT_SETTING1; i++)
    {
        LoadString(g_hInst, i, szBuffer, 200);
        SendDlgItemMessage(
            m_Dlg, 
            IDC_EP5, 
            CB_INSERTSTRING, 
            -1, 
            (LPARAM)szBuffer);
    }
    //ep6//////////////////////////////////////////////////////////////////////////
    for (i = IDS_ALT_SETTING0; i <= IDS_ALT_SETTING1; i++)
    {
        LoadString(g_hInst, i, szBuffer, 200);
        SendDlgItemMessage(
            m_Dlg, 
            IDC_EP6, 
            CB_INSERTSTRING, 
            -1, 
            (LPARAM)szBuffer);
    }
    //ep15//////////////////////////////////////////////////////////////////////////
    
    LoadString(g_hInst, IDS_ALT_SETTING0, szBuffer, 200);
    SendDlgItemMessage(
        m_Dlg, 
        IDC_EP15, 
        CB_INSERTSTRING, 
        -1, 
        (LPARAM)szBuffer);

    ////TS2//////////////////////////////////////////////////////////////////////////
    LoadString(g_hInst, IDS_MPEG_PROGRAM, szBuffer, 200);
    SendDlgItemMessage(
        m_Dlg, 
        IDC_TS2, 
        CB_INSERTSTRING, 
        -1, 
        (LPARAM)szBuffer);
}
//////////////////////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -