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

📄 scemfexplviewsttings.cpp

📁 Source code for EMFexplorer 1.0
💻 CPP
📖 第 1 页 / 共 2 页
字号:

		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 + -