コード例 #1
0
CSaveTextFileDialog::CSaveTextFileDialog(
    CTextFile::enc e,
    LPCTSTR lpszDefExt, LPCTSTR lpszFileName,
    LPCTSTR lpszFilter, CWnd* pParentWnd) :
    CFileDialog(FALSE, lpszDefExt, lpszFileName,
                OFN_EXPLORER | OFN_ENABLESIZING | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_PATHMUSTEXIST | OFN_NOCHANGEDIR,
                lpszFilter, pParentWnd),
    m_e(e)
{
    if (SysVersion::IsVistaOrLater()) {
        // customization has to be done before OnInitDialog
        IFileDialogCustomize* pfdc = GetIFileDialogCustomize();

        pfdc->StartVisualGroup(IDS_TEXTFILE_ENC, ResStr(IDS_TEXTFILE_ENC));
        pfdc->AddComboBox(IDC_COMBO1);
        pfdc->AddControlItem(IDC_COMBO1, CTextFile::ASCII, _T("ANSI"));
        pfdc->AddControlItem(IDC_COMBO1, CTextFile::LE16, _T("Unicode 16-LE"));
        pfdc->AddControlItem(IDC_COMBO1, CTextFile::BE16, _T("Unicode 16-BE"));
        pfdc->AddControlItem(IDC_COMBO1, CTextFile::UTF8, _T("UTF-8"));
        pfdc->SetSelectedControlItem(IDC_COMBO1, m_e);
        pfdc->EndVisualGroup();
        pfdc->MakeProminent(IDS_TEXTFILE_ENC);

        pfdc->Release();
    } else {
        SetTemplate(0, IDD_SAVETEXTFILEDIALOGTEMPL);
    }
}
コード例 #2
0
ファイル: SaveImageDialog.cpp プロジェクト: Tphive/mpc-be
BOOL CSaveImageDialog::OnFileNameOK()
{
    if (IsWinVistaOrLater()) {
        IFileDialogCustomize* pfdc = GetIFileDialogCustomize();
        if (pfdc) {
            WCHAR* result;

            pfdc->GetEditBoxText(IDC_EDIT4, &result);
            int quality = _wtoi(result);
            if (quality > 0 && quality <= 100) {
                m_quality = quality;
            }
            CoTaskMemFree(result);

            pfdc->GetEditBoxText(IDC_EDIT5, &result);
            int level = _wtoi(result);
            if (level > 0  && level <= 9) {
                m_levelPNG = level;
            }
            CoTaskMemFree(result);

            pfdc->Release();
        }
    } else {
        m_quality = m_qualityctrl.GetPos();
    }

    return __super::OnFileNameOK();
}
コード例 #3
0
BOOL CSaveTextFileDialog::OnFileNameOK()
{
    if (SysVersion::IsVistaOrLater()) {
        DWORD result;
        IFileDialogCustomize* pfdc = GetIFileDialogCustomize();
        pfdc->GetSelectedControlItem(IDC_COMBO1, &result);
        pfdc->Release();
        m_e = (CTextFile::enc)result;
    } else {
        m_e = (CTextFile::enc)m_encoding.GetItemData(m_encoding.GetCurSel());
    }

    return __super::OnFileNameOK();
}
コード例 #4
0
ファイル: SaveImageDialog.cpp プロジェクト: Tphive/mpc-be
CSaveImageDialog::CSaveImageDialog(
    int quality, int levelPNG,
    LPCTSTR lpszDefExt, LPCTSTR lpszFileName,
    LPCTSTR lpszFilter, CWnd* pParentWnd) :
    CFileDialog(FALSE, lpszDefExt, lpszFileName,
                OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST|OFN_NOCHANGEDIR,
                lpszFilter, pParentWnd)
    , m_quality(quality)
    , m_levelPNG(levelPNG)
{
    if (IsWinVistaOrLater()) {

        IFileDialogCustomize* pfdc = GetIFileDialogCustomize();
        if (pfdc) {

            // Create an event handling object, and hook it up to the dialog.
            IFileDialogEvents *pfde = NULL;
            HRESULT hr = _CDialogEventHandler_CreateInstance(IID_PPV_ARGS(&pfde));
            if (SUCCEEDED(hr)) {
                // Hook up the event handler.
                DWORD dwCookie;
                hr = GetIFileSaveDialog()->Advise(pfde, &dwCookie);
                if (SUCCEEDED(hr)) {
                    ;
                }
            }

            CString str;

            pfdc->StartVisualGroup(IDS_THUMB_IMAGE_QUALITY, ResStr(IDS_THUMB_IMAGE_QUALITY));
            pfdc->AddText(IDS_THUMB_QUALITY, ResStr(IDS_THUMB_QUALITY));
            str.Format(L"%d", max(70, min(100, m_quality)));
            pfdc->AddEditBox(IDC_EDIT4, str);

            pfdc->AddText(IDS_THUMB_LEVEL, ResStr(IDS_THUMB_LEVEL));
            str.Format(L"%d", max(1, min(9, m_levelPNG)));
            pfdc->AddEditBox(IDC_EDIT5, str);
            pfdc->EndVisualGroup();

            pfdc->Release();
        }
    } else {
        SetTemplate(0, IDD_SAVEIMAGEDIALOGTEMPL);
    }
}