📄 scemfexplviewsttings.cpp
字号:
CWinApp* pApp = AfxGetApp();
bBorder = (BOOL)pApp->GetProfileInt(s_szAppSection, SC_T_PageBorderVisible, FALSE);
bShadow = (BOOL)pApp->GetProfileInt(s_szAppSection, SC_T_PageShadowVisible, FALSE);
}
}
void CEMFexplorerView::SCGetSettings_PaperColor(int iSender, int& iStyle, COLORREF& crColor)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
iStyle = m_CtlImage.SCGetPaperColorStyle();
crColor = m_CtlImage.SCGetPaperColor();
} else
{
ASSERT(eSettingsDefault==(enumSettingsPage)iSender);
CWinApp* pApp = AfxGetApp();
iStyle = pApp->GetProfileInt(s_szAppSection, SC_T_PaperColorStyle, (int)SC_COLOR_SYSINDEX);
crColor = (COLORREF)pApp->GetProfileInt(s_szAppSection, SC_T_PaperColor, (int)COLOR_WINDOW);
}
}
int CEMFexplorerView::SCGetSettings_Scale(int iSender)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
switch (m_CtlImage.SCGetFitMode())
{
case SC_FIT_WIDTH: return SC_ZOOM_FITWITDH;
case SC_FIT_PAGE: return SC_ZOOM_FITPAGE;
}
return m_CtlImage.SCGetCurZoom();
}
ASSERT(eSettingsDefault==(enumSettingsPage)iSender);
CWinApp* pApp = AfxGetApp();
switch (pApp->GetProfileInt(s_szAppSection, SC_T_FitMode, SC_FIT_WIDTH))
{
case SC_FIT_WIDTH: return SC_ZOOM_FITWITDH;
case SC_FIT_PAGE: return SC_ZOOM_FITPAGE;
}
return pApp->GetProfileInt(s_szAppSection, SC_T_Scale, SC_ZOOM100);
}
void CEMFexplorerView::SCGetSettings_Margins(int iSender, RECT& rcLTRB)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
CRect rcMargins;
m_CtlImage.SCGetMargins(rcMargins);
CopyRect(&rcLTRB, &rcMargins);
} else
{
ASSERT(eSettingsDefault==(enumSettingsPage)iSender);
CWinApp* pApp = AfxGetApp();
SetRect(&rcLTRB,
pApp->GetProfileInt(s_szAppSection, SC_T_MarginL, 0),
pApp->GetProfileInt(s_szAppSection, SC_T_MarginT, 0),
pApp->GetProfileInt(s_szAppSection, SC_T_MarginR, 0),
pApp->GetProfileInt(s_szAppSection, SC_T_MarginB, 0));
}
}
DWORD CEMFexplorerView::SCGetSettings_PageOrientation(int iSender)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
return m_CtlImage.SCGetCurAngle();
SC_RETURN_DWORDPROP(SC_T_PageOrientation, 0);
}
DWORD CEMFexplorerView::SCGetSettings_TransparencyMode(int iSender)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
return m_CtlImage.SCGetTransparencyMode();
SC_RETURN_DWORDPROP(SC_T_TransparencyMode, 0);
}
DWORD CEMFexplorerView::SCGetSettings_ReverseVideoMode(int iSender)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
return m_CtlImage.SCGetReverseVideoMode();
SC_RETURN_DWORDPROP(SC_T_ReverseVideoMode, 0);
}
DWORD CEMFexplorerView::SCGetSettings_GDIplusEnabled(int iSender)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
return m_CtlImage.SCGetGDIplusEnabled();
SC_RETURN_DWORDPROP(SC_T_GDIplusEnabled, TRUE);
}
void CEMFexplorerView::SCGetSettings_TextRendering(int iSender, int& iHint, int& iContrast)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
iHint = m_CtlImage.SCGetTextRenderingHint();
iContrast = m_CtlImage.SCGetTextContrast();
} else
{
ASSERT(eSettingsDefault==(enumSettingsPage)iSender);
CWinApp* pApp = AfxGetApp();
iHint = pApp->GetProfileInt(s_szAppSection, SC_T_TextRenderingHint, TextRenderingHintAntiAlias);
iContrast = pApp->GetProfileInt(s_szAppSection, SC_T_TextContrast, SC_DFLT_TEXTCONTRAST);
}
}
void CEMFexplorerView::SCGetSettings_Smoothing(int iSender,
int& iLineSmoothing,
int& iImgInterpolation,
int& iImgPixelOffset)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
iLineSmoothing = m_CtlImage.SCGetSmoothingMode();
iImgInterpolation = m_CtlImage.SCGetInterpolationMode();
iImgPixelOffset = m_CtlImage.SCGetPixelOffsetMode();
} else
{
ASSERT(eSettingsDefault==(enumSettingsPage)iSender);
CWinApp* pApp = AfxGetApp();
iLineSmoothing = pApp->GetProfileInt(s_szAppSection, SC_T_SmoothingMode, SmoothingModeHighQuality);
iImgInterpolation = pApp->GetProfileInt(s_szAppSection, SC_T_InterpolationMode, InterpolationModeHighQualityBicubic);
iImgPixelOffset = pApp->GetProfileInt(s_szAppSection, SC_T_PixelOffsetMode, PixelOffsetModeHighQuality);
}
}
// Setters
void CEMFexplorerView::SCPutSettings_CtlBorder(int iSender, int iBorder)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
m_CtlImage.SCSetCtlBorder((DWORD)iBorder);
} else
{
SC_STORE_DWORDPROP(SC_T_CtlBorder, iBorder);
}
}
void CEMFexplorerView::SCPutSettings_CtlColor(int iSender, int iStyle, COLORREF crColor)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
m_CtlImage.SCSetCtlColorStyle(iStyle, crColor, FALSE);
} else
{
ASSERT(eSettingsDefault==(enumSettingsPage)iSender);
CWinApp* pApp = AfxGetApp();
pApp->WriteProfileInt(s_szAppSection, SC_T_CtlColorStyle, iStyle);
pApp->WriteProfileInt(s_szAppSection, SC_T_CtlColor, (int)crColor);
}
}
void CEMFexplorerView::SCPutSettings_PageBorder(int iSender, BOOL bBorder, BOOL bShadow)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
m_CtlImage.SCSetPageBorderVisible(bBorder, FALSE);
m_CtlImage.SCSetPageShadowVisible(bShadow, FALSE);
}
else
{
ASSERT(eSettingsDefault==(enumSettingsPage)iSender);
CWinApp* pApp = AfxGetApp();
pApp->WriteProfileInt(s_szAppSection, SC_T_PageBorderVisible, bBorder);
pApp->WriteProfileInt(s_szAppSection, SC_T_PageShadowVisible, bShadow);
}
}
void CEMFexplorerView::SCPutSettings_PaperColor(int iSender, int iStyle, COLORREF crColor)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
m_CtlImage.SCSetPaperColorStyle(iStyle, crColor, FALSE);
}
else
{
ASSERT(eSettingsDefault==(enumSettingsPage)iSender);
CWinApp* pApp = AfxGetApp();
pApp->WriteProfileInt(s_szAppSection, SC_T_PaperColorStyle, iStyle);
pApp->WriteProfileInt(s_szAppSection, SC_T_PaperColor, crColor);
}
}
void CEMFexplorerView::SCPutSettings_Scale(int iSender, int iScale)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
if (SC_ZOOM_FITWITDH==iScale)
m_CtlImage.SCSetFitMode(SC_FIT_WIDTH, FALSE);
else
if (SC_ZOOM_FITPAGE==iScale)
m_CtlImage.SCSetFitMode(SC_FIT_PAGE, FALSE);
else
m_CtlImage.SCSetCurZoom(iScale, FALSE);
} else
{
ASSERT(eSettingsDefault==(enumSettingsPage)iSender);
int iFitMode = SC_FIT_NONE;
if (SC_ZOOM_FITWITDH==iScale)
iFitMode=SC_FIT_WIDTH;
else
if (SC_ZOOM_FITPAGE==iScale)
iFitMode=SC_FIT_PAGE;
CWinApp* pApp = AfxGetApp();
pApp->WriteProfileInt(s_szAppSection, SC_T_FitMode, iFitMode);
pApp->WriteProfileInt(s_szAppSection, SC_T_Scale, iScale);
}
}
void CEMFexplorerView::SCPutSettings_Margins(int iSender, RECT& rcLTRB)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
CRect rcMargins(&rcLTRB);
m_CtlImage.SCSetMargins(rcMargins, FALSE);
}
else
{
ASSERT(eSettingsDefault==(enumSettingsPage)iSender);
CWinApp* pApp = AfxGetApp();
pApp->WriteProfileInt(s_szAppSection, SC_T_MarginL, rcLTRB.left);
pApp->WriteProfileInt(s_szAppSection, SC_T_MarginT, rcLTRB.top);
pApp->WriteProfileInt(s_szAppSection, SC_T_MarginR, rcLTRB.right);
pApp->WriteProfileInt(s_szAppSection, SC_T_MarginB, rcLTRB.bottom);
}
}
void CEMFexplorerView::SCPutSettings_PageOrientation(int iSender, int iOrientation)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
m_CtlImage.SCSetAngle(iOrientation, FALSE);
} else
{
SC_STORE_DWORDPROP(SC_T_PageOrientation, iOrientation);
}
}
void CEMFexplorerView::SCPutSettings_TransparencyMode(int iSender, int iMode)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
m_CtlImage.SCSetTransparencyMode(iMode, FALSE);
} else
{
SC_STORE_DWORDPROP(SC_T_TransparencyMode, iMode);
}
}
void CEMFexplorerView::SCPutSettings_ReverseVideoMode(int iSender, int iMode)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
m_CtlImage.SCSetReverseVideoMode(iMode, FALSE);
} else
{
SC_STORE_DWORDPROP(SC_T_ReverseVideoMode, iMode);
}
}
void CEMFexplorerView::SCPutSettings_GDIplusEnabled(int iSender, BOOL bEnabled)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
m_CtlImage.SCEnableGDIp(bEnabled, FALSE);
} else
{
SC_STORE_DWORDPROP(SC_T_GDIplusEnabled, bEnabled);
}
}
void CEMFexplorerView::SCPutSettings_TextRendering(int iSender, int iHint, int iContrast)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
m_CtlImage.SCSetTextRenderingHint(iHint, FALSE);
m_CtlImage.SCSetTextContrast(iContrast, FALSE);
}
else
{
ASSERT(eSettingsDefault==(enumSettingsPage)iSender);
CWinApp* pApp = AfxGetApp();
pApp->WriteProfileInt(s_szAppSection, SC_T_TextRenderingHint, iHint);
pApp->WriteProfileInt(s_szAppSection, SC_T_TextContrast, iContrast);
}
}
void CEMFexplorerView::SCPutSettings_Smoothing(int iSender, int iLineSmoothing,
int iImgInterpolation, int iImgPixelOffset)
{
if (eSettingsDoc==(enumSettingsPage)iSender)
{
m_CtlImage.SCSetSmoothingMode(iLineSmoothing, FALSE);
m_CtlImage.SCSetInterpolationMode(iImgInterpolation, FALSE);
m_CtlImage.SCSetPixelOffsetMode(iImgPixelOffset, FALSE);
}
else
{
ASSERT(eSettingsDefault==(enumSettingsPage)iSender);
CWinApp* pApp = AfxGetApp();
pApp->WriteProfileInt(s_szAppSection, SC_T_SmoothingMode, iLineSmoothing);
pApp->WriteProfileInt(s_szAppSection, SC_T_InterpolationMode, iImgInterpolation);
pApp->WriteProfileInt(s_szAppSection, SC_T_PixelOffsetMode, iImgPixelOffset);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -