Ejemplo n.º 1
0
BOOL CPPageShaders::OnInitDialog()
{
    CPPageBase::OnInitDialog();
    const auto& s = AfxGetAppSettings();

    m_Shaders.SetList(ShaderList::GetDefaultShaders());
    for (const auto& shader : s.m_ShadersExtraList) {
        if (!shader.IsDefault()) {
            VERIFY(m_Shaders.AddShader(shader) >= 0);
        }
    }

    m_PreResize.SetList(s.m_Shaders.GetCurrentPreset().GetPreResize());
    m_PostResize.SetList(s.m_Shaders.GetCurrentPreset().GetPostResize());

    m_PresetsBox.Clear();
    m_Presets = s.m_Shaders.GetPresets();
    for (const auto& pair : m_Presets) {
        VERIFY(m_PresetsBox.AddString(pair.first) >= 0);
    }
    CString preset;
    if (s.m_Shaders.GetCurrentPresetName(preset)) {
        VERIFY(m_PresetsBox.SelectString(-1, preset) != CB_ERR);
    }

    SetButtonIcon(IDC_BUTTON6, IDB_SHADER_UP);
    SetButtonIcon(IDC_BUTTON7, IDB_SHADER_DOWN);
    SetButtonIcon(IDC_BUTTON8, IDB_SHADER_DEL);
    SetButtonIcon(IDC_BUTTON9, IDB_SHADER_UP);
    SetButtonIcon(IDC_BUTTON10, IDB_SHADER_DOWN);
    SetButtonIcon(IDC_BUTTON11, IDB_SHADER_DEL);

    m_bCurrentPresetChanged = false;

    return TRUE;
}
Ejemplo n.º 2
0
BOOL CPPageFormats::OnInitDialog()
{
    __super::OnInitDialog();

    m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_FULLROWSELECT);

    m_list.InsertColumn(COL_CATEGORY, _T("Category"), LVCFMT_LEFT, 290);
    m_list.InsertColumn(COL_ENGINE, _T("Engine"), LVCFMT_RIGHT, 50);

    // We don't use m_onoff.Create(IDB_CHECKBOX, 12, 3, 0xffffff) since
    // we want to load the bitmap directly from the main executable.
    CImage onoff;
    onoff.LoadFromResource(AfxGetInstanceHandle(), IDB_CHECKBOX);
    m_onoff.Create(12, 12, ILC_COLOR4 | ILC_MASK, 0, 3);
    m_onoff.Add(CBitmap::FromHandle(onoff), 0xffffff);
    m_list.SetImageList(&m_onoff, LVSIL_SMALL);

    LoadSettings();
    CreateToolTip();

    SetButtonIcon(IDC_ASSOCIATE_ALL_FORMATS,   IDB_CHECK_ALL);
    SetButtonIcon(IDC_ASSOCIATE_AUDIO_FORMATS, IDB_CHECK_AUDIO);
    SetButtonIcon(IDC_ASSOCIATE_VIDEO_FORMATS, IDB_CHECK_VIDEO);
    SetButtonIcon(IDC_CLEAR_ALL_ASSOCIATIONS,  IDB_UNCHECK_ALL);

    if (SysVersion::IsVistaOrLater() && !IsUserAnAdmin()) {
        GetDlgItem(IDC_EDIT1)->EnableWindow(FALSE);
        GetDlgItem(IDC_ASSOCIATE_ALL_FORMATS)->EnableWindow(FALSE);
        GetDlgItem(IDC_ASSOCIATE_AUDIO_FORMATS)->EnableWindow(FALSE);
        GetDlgItem(IDC_ASSOCIATE_VIDEO_FORMATS)->EnableWindow(FALSE);
        GetDlgItem(IDC_CLEAR_ALL_ASSOCIATIONS)->EnableWindow(FALSE);

        GetDlgItem(IDC_CHECK1)->EnableWindow(FALSE);
        GetDlgItem(IDC_CHECK2)->EnableWindow(FALSE);
        GetDlgItem(IDC_CHECK3)->EnableWindow(FALSE);
        GetDlgItem(IDC_CHECK4)->EnableWindow(FALSE);
        GetDlgItem(IDC_CHECK5)->EnableWindow(FALSE);
        GetDlgItem(IDC_CHECK6)->EnableWindow(FALSE);
        GetDlgItem(IDC_CHECK7)->EnableWindow(FALSE);
        GetDlgItem(IDC_CHECK8)->ShowWindow(SW_HIDE);

        GetDlgItem(IDC_RADIO1)->EnableWindow(FALSE);
        GetDlgItem(IDC_RADIO2)->EnableWindow(FALSE);
        GetDlgItem(IDC_RADIO3)->EnableWindow(FALSE);

        GetDlgItem(IDC_BUTTON1)->SendMessage(BCM_SETSHIELD, 0, TRUE);
        GetDlgItem(IDC_BUTTON1)->ShowWindow(SW_SHOW);

        m_bInsufficientPrivileges = true;
    } else {
        GetDlgItem(IDC_BUTTON1)->ShowWindow(SW_HIDE);
    }

    if (SysVersion::Is8OrLater()) {
        GetDlgItem(IDC_BUTTON7)->ShowWindow(SW_SHOW);

        auto offsetControlBottomRight = [this](int nID, int dx, int dy) {
            CRect r;
            GetDlgItem(nID)->GetWindowRect(r);
            ScreenToClient(r);
            r.BottomRight().Offset(dx, dy);
            GetDlgItem(nID)->MoveWindow(r);
        };

        auto moveControl = [this](int nID, int dx, int dy) {
            CRect r;
            GetDlgItem(nID)->GetWindowRect(r);
            ScreenToClient(r);
            r.OffsetRect(dx, dy);
            GetDlgItem(nID)->MoveWindow(r);
        };

        const int dy = DpiHelper().ScaleY(-5); // TODO: use the helper from parent dialog

        offsetControlBottomRight(IDC_STATIC2, 0, dy);
        offsetControlBottomRight(IDC_LIST1, 0, dy);

        moveControl(IDC_EDIT1, 0, dy);
        moveControl(IDC_BUTTON2, 0, dy);
        moveControl(IDC_BUTTON_EXT_SET, 0, dy);

        CRect r;
        GetDlgItem(IDC_STATIC3)->GetWindowRect(r);
        ScreenToClient(r);
        r.TopLeft().Offset(0, dy);
        GetDlgItem(IDC_STATIC3)->MoveWindow(r);

        moveControl(IDC_CHECK8, 0, dy);
        moveControl(IDC_BUTTON1, 0, dy);
    } else {
        GetDlgItem(IDC_BUTTON7)->ShowWindow(SW_HIDE);
    }

    UpdateData(FALSE);

    return TRUE;  // return TRUE unless you set the focus to a control
    // EXCEPTION: OCX Property Pages should return FALSE
}