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

📄 prefdialogcolors.cpp

📁 Crimson编辑器的英文版,完成从韩文版变成英文版的移植,并且附带可执行文件和注册表文件,无需原先的安装包,是改写编辑器的最理想选择.
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	fin.read((char *)m_crTextColor, sizeof(m_crTextColor));
	if( ! fin.good() ) { fin.close(); return FALSE; }

	if( fin.peek() != EOF ) { fin.close(); return FALSE; }
	fin.close();

	return TRUE;
}

BOOL CPreferenceDialog::SaveColorScheme(LPCTSTR lpszPathName)
{
	INT nLength;

	ofstream fout( lpszPathName, ios::out | ios::binary );
	if( ! fout.is_open() ) return FALSE;

	nLength = strlen(STRING_COLORSETTINGSVER);
	fout.write((const char *)STRING_COLORSETTINGSVER, nLength);

	fout.write((const char *)m_crBkgrColor, sizeof(m_crBkgrColor));
	fout.write((const char *)m_crTextColor, sizeof(m_crTextColor));

	fout.close();

	return TRUE;
}

void CPreferenceDialog::OnSelchangeColorsPannel(NMHDR* pNMHDR, LRESULT* pResult) 
{
	m_nActiveColorsPannel = m_tabColorsPannel.GetCurSel();
	ShowProperPrefPages();
	*pResult = 0;
}

void CPreferenceDialog::OnSelchangeColorSchemeList() 
{
	m_nActiveColorScheme = m_cmbColorSchemeList.GetCurSel();
}

void CPreferenceDialog::OnBackgroundColor() 
{
	CColorDialog dlg(m_crBkgrColor[0x00]);
	if( dlg.DoModal() == IDOK ) {
		m_crBkgrColor[0x00] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnActiveLineColor() 
{
	CColorDialog dlg(m_crBkgrColor[0x02]);
	if( dlg.DoModal() == IDOK ) {
		m_crBkgrColor[0x02] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnWordColor() 
{
	CColorDialog dlg(m_crTextColor[WT_WORD]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_WORD] = m_crTextColor[WT_WRONGWORD] = dlg.GetColor();
		m_crTextColor[WT_DBCHAR] = m_crTextColor[WT_GRAPH] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnConstantColor() 
{
	CColorDialog dlg(m_crTextColor[WT_CONSTANT]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_CONSTANT] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnCommentColor() 
{
	CColorDialog dlg(m_crTextColor[WT_LINECOMMENT]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_LINECOMMENT] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnStringColor() 
{
	CColorDialog dlg(m_crTextColor[WT_QUOTATION1]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_QUOTATION1] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnDelimiterColor() 
{
	CColorDialog dlg(m_crTextColor[WT_DELIMITER]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_RETURN] = m_crTextColor[WT_TAB] = dlg.GetColor();
		m_crTextColor[WT_SPACE] = m_crTextColor[WT_DELIMITER] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnVariableColor() 
{
	CColorDialog dlg(m_crTextColor[WT_VARIABLE]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_VARIABLE] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnKeyword0Color() 
{
	CColorDialog dlg(m_crTextColor[WT_KEYWORD0]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_KEYWORD0] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnKeyword1Color() 
{
	CColorDialog dlg(m_crTextColor[WT_KEYWORD1]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_KEYWORD1] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnKeyword2Color() 
{
	CColorDialog dlg(m_crTextColor[WT_KEYWORD2]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_KEYWORD2] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnKeyword3Color() 
{
	CColorDialog dlg(m_crTextColor[WT_KEYWORD3]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_KEYWORD3] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnKeyword4Color() 
{
	CColorDialog dlg(m_crTextColor[WT_KEYWORD4]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_KEYWORD4] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnKeyword5Color() 
{
	CColorDialog dlg(m_crTextColor[WT_KEYWORD5]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_KEYWORD5] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnKeyword6Color() 
{
	CColorDialog dlg(m_crTextColor[WT_KEYWORD6]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_KEYWORD6] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnKeyword7Color() 
{
	CColorDialog dlg(m_crTextColor[WT_KEYWORD7]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_KEYWORD7] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnKeyword8Color() 
{
	CColorDialog dlg(m_crTextColor[WT_KEYWORD8]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_KEYWORD8] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnKeyword9Color() 
{
	CColorDialog dlg(m_crTextColor[WT_KEYWORD9]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_KEYWORD9] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnLeftMarginColor() 
{
	CColorDialog dlg(m_crBkgrColor[0x01]);
	if( dlg.DoModal() == IDOK ) {
		m_crBkgrColor[0x01] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnLineNumberColor() 
{
	CColorDialog dlg(m_crTextColor[WT_LINEFEED]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_LINEFEED] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnRange1BkgrColor() 
{
	CColorDialog dlg(m_crBkgrColor[0x03]);
	if( dlg.DoModal() == IDOK ) {
		m_crBkgrColor[0x03] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnRange2BkgrColor() 
{
	CColorDialog dlg(m_crBkgrColor[0x04]);
	if( dlg.DoModal() == IDOK ) {
		m_crBkgrColor[0x04] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnHighlightedColor() 
{
	CColorDialog dlg(m_crTextColor[WT_HIGHLIGHTON]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_HIGHLIGHTON] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnShadowedColor() 
{
	CColorDialog dlg(m_crTextColor[WT_SHADOWON]);
	if( dlg.DoModal() == IDOK ) {
		m_crTextColor[WT_SHADOWON] = dlg.GetColor();
		InvalidateColorButtons();
	}
}

void CPreferenceDialog::OnLoadColorScheme() 
{
	INT nScheme = m_cmbColorSchemeList.GetCurSel(); if( nScheme == CB_ERR ) return;

	if( nScheme == 4 ) { // saved color schemes
		DWORD dwFlags = OFN_HIDEREADONLY | OFN_FILEMUSTEXIST;
		CString szFilter; szFilter.LoadString(IDS_FILTER_COLOR_SCHEME);
		CFileDialog dlg(TRUE, NULL, NULL, dwFlags, szFilter);

		CString szTitle; szTitle.LoadString(IDS_DLG_LOAD_COLOR_SCHEME);
		CString szInitialDirectory = CCedtApp::m_szInstallDirectory + "\\schemes";

		TCHAR szCurrentDirectory[MAX_PATH];
		GetCurrentDirectory( MAX_PATH, szCurrentDirectory );

		dlg.m_ofn.lpstrTitle = szTitle; dlg.m_ofn.lpstrInitialDir = szInitialDirectory;
		if( dlg.DoModal() != IDOK ) return;

		SetCurrentDirectory( szCurrentDirectory );
		LoadColorScheme( dlg.GetPathName() );

	} else LoadSystemColorScheme( nScheme );

	InvalidateColorButtons();
}

void CPreferenceDialog::OnSaveColorScheme() 
{
	DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
	CString szFilter; szFilter.LoadString(IDS_FILTER_COLOR_SCHEME);
	CFileDialog dlg(FALSE, ".clr", NULL, dwFlags, szFilter);

	CString szTitle; szTitle.LoadString(IDS_DLG_SAVE_COLOR_SCHEME);
	CString szInitialDirectory = CCedtApp::m_szInstallDirectory + "\\schemes";

	TCHAR szCurrentDirectory[MAX_PATH];
	GetCurrentDirectory( MAX_PATH, szCurrentDirectory );

	dlg.m_ofn.lpstrTitle = szTitle; dlg.m_ofn.lpstrInitialDir = szInitialDirectory;
	if( dlg.DoModal() != IDOK ) return;

	SetCurrentDirectory( szCurrentDirectory );
	SaveColorScheme( dlg.GetPathName() );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -