|
Available in the LEADTOOLS Imaging toolkit. |
ShowSaveDlg Example for C++ 5.0 and later
void CDialogs::OnFileSave()
{
HRESULT hr;
int nRet;
ILEADRasterDlgKrn_U *m_pRasterDlgKrn = NULL;
hr = CoCreateInstance(CLSID_LEADRasterDlgKrn_U,
NULL,
CLSCTX_ALL,
IID_ILEADRasterDlgKrn_U,
(LPVOID*)&m_pRasterDlgKrn);
ILEADRasterDlgFile_U *m_pRasterDlgFile = NULL;
hr = CoCreateInstance(CLSID_LEADRasterDlgFile_U,
NULL,
CLSCTX_ALL,
IID_ILEADRasterDlgFile_U,
(LPVOID*)&m_pRasterDlgFile);
nRet = m_pRasterDlgKrn->InitDlg(INIT_WITH_COLOR);
m_pRasterDlgFile->DialogTitle = "Save a File";
m_pRasterDlgFile->FileDlgFlags = 0;
m_pRasterDlgFile->InitialDir = "C:\\";
m_pRasterDlgFile->SaveMulti = MULTIPAGE_OVERWRITE;
m_pRasterDlgFile->UIFlags =
SAVE_SHOW_FILEOPTIONS_PROGRESSIVE |
SAVE_SHOW_FILEOPTIONS_MULTIPAGE |
SAVE_SHOW_FILEOPTIONS_STAMP |
SAVE_SHOW_FILEOPTIONS_QFACTOR |
SAVE_SHOW_FILEOPTIONS_J2KOPTIONS |
SAVE_SHOW_FILEOPTIONS_BASICJ2KOPTIONS;
m_pRasterDlgFile->Bitmap = m_pLead1.GetBitmap();
nRet = m_pRasterDlgFile->ShowSaveDlg((long)m_hWnd);
if (nRet == 0 && m_pRasterDlgFile->DialogStatus == DLG_OK)
{
CString csOut;
CString csTemp;
csTemp.Format(TEXT("File: %s\n"), (LPCTSTR)m_pRasterDlgFile->GetFileName());
csOut = csTemp;
csTemp.Format(TEXT("BPP: %d\n"), m_pRasterDlgFile->SaveBitsPerPixel);
csOut += csTemp;
csTemp.Format(TEXT("Format: %d\n"), m_pRasterDlgFile->SaveFormat);
csOut += csTemp;
csTemp.Format(TEXT("QFactor: %d\n"), m_pRasterDlgFile->SaveQFactor);
csOut += csTemp;
csTemp.Format(TEXT("SaveMulti: %d : Page#: %d\n"),
m_pRasterDlgFile->SaveMulti, m_pRasterDlgFile->PageNumber);
csOut += csTemp;
csTemp.Format(TEXT("SaveProgressive: %d\n"), m_pRasterDlgFile->SaveProgressive);
csOut += csTemp;
csTemp.Format(TEXT("SavePasses: %d\n"), m_pRasterDlgFile->SavePasses);
csOut += csTemp;
csTemp.Format(TEXT("SaveStamp: %d\n"), m_pRasterDlgFile->SaveWithStamp);
csOut += csTemp;
csTemp.Format(TEXT("StampBits: %d\n"), m_pRasterDlgFile->SaveStampBits);
csOut += csTemp;
csTemp.Format(TEXT("StampWidth: %d\n"), m_pRasterDlgFile->SaveStampWidth);
csOut += csTemp;
csTemp.Format(TEXT("StampHeight: %d\n"), m_pRasterDlgFile->SaveStampHeight);
csOut += csTemp;
csTemp.Format(TEXT("Interlaced: %d\n"), m_pRasterDlgFile->SaveInterlaced);
AfxMessageBox(csOut);
}
}