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

📄 prefdialog.cpp

📁 Crimson编辑器的英文版,完成从韩文版变成英文版的移植,并且附带可执行文件和注册表文件,无需原先的安装包,是改写编辑器的最理想选择.
💻 CPP
📖 第 1 页 / 共 3 页
字号:
	RECT rect; GetWindowRect( & rect ); 
	MoveWindow( rect.left, rect.top, 546, 440 );

	// categories & buttons
	INT nPosY;

	nPosY  =   8; m_stcCategories.MoveWindow(8, nPosY, 150, 14);
	nPosY +=  18; m_treCategories.MoveWindow(8, nPosY, 150, 330);

	nPosY  = 360; m_ctlSeparator.MoveWindow(8, nPosY, 530, 14);
	nPosY +=  16; m_btnOK.MoveWindow(240, nPosY, 90, 22);
	nPosY +=   0; m_btnCancel.MoveWindow(340, nPosY, 90, 22);
	nPosY +=   0; m_btnApply.MoveWindow(440, nPosY, 90, 22);

	// resize each page
	SizeGeneralPage();			SizeVisualPage();			SizeFontsPage();
	SizeColorsPage();			SizePrintPage();
	SizeFilePage();				SizeAssocPage();			SizeBackupPage();
	SizeSyntaxPage();			SizeFiltersPage();
	SizeToolsPage();			SizeCommandsPage();			SizeMacrosPage();
}

void CPreferenceDialog::ShowProperPrefPages()
{
	ShowGeneralPage();			ShowVisualPage();			ShowFontsPage();
	ShowColorsPage();			ShowPrintPage();
	ShowFilePage();				ShowAssocPage();			ShowBackupPage();
	ShowSyntaxPage();			ShowFiltersPage();
	ShowToolsPage();			ShowCommandsPage();			ShowMacrosPage();
}

BOOL CPreferenceDialog::LoadAllPrefSettings()
{
	LoadGeneralSettings();		LoadVisualSettings();		LoadFontSettings();
	LoadColorSettings();		LoadPrintSettings();
	LoadFileSettings();		/*	LoadAssocSettings(); */		LoadBackupSettings();
	LoadSyntaxTypes();			LoadFileFilters();
	LoadToolsSettings();		LoadUserCommands();			LoadMacroBuffers();

	return TRUE;
}

BOOL CPreferenceDialog::ApplyAllPrefSettings()
{
	SaveGeneralSettings();		SaveVisualSettings();		SaveFontSettings();
	SaveColorSettings();		SavePrintSettings();
	SaveFileSettings();			SaveAssocSettings();		SaveBackupSettings();
	SaveSyntaxTypes();			SaveFileFilters();
	SaveToolsSettings();		SaveUserCommands();			SaveMacroBuffers();

	CMainFrame * pFrame = (CMainFrame *)AfxGetMainWnd();
	pFrame->ApplyOutputWindowFont(TRUE);

	CCedtApp * pApp = (CCedtApp *)AfxGetApp();
	pApp->ApplyFileFilterToFileWindow();

	pApp->SaveMultiInstancesFlag(REGKEY_ALLOW_MULTI);
	pApp->ApplyPreferencesToAllViews(); // CCedtApp::SaveUserConfiguration();

	CCedtApp::SaveColorSettings();
	CCedtApp::SaveUserCommands(CCedtApp::m_szInstallDirectory + "\\cedt.cmd");
	CCedtApp::SaveMacroBuffers(CCedtApp::m_szInstallDirectory + "\\cedt.mac");

	return TRUE;
}

HTREEITEM CPreferenceDialog::InsertCategoryItem(UINT nResourceID, HTREEITEM hParent, UINT nCategory)
{
	CString szText; szText.LoadString( nResourceID );
	HTREEITEM hItem = m_treCategories.InsertItem( szText, hParent );
	BOOL bDataSet = m_treCategories.SetItemData( hItem, nCategory );
	m_treCategories.Expand( hParent, TVE_EXPAND );
	return hItem;
}


/////////////////////////////////////////////////////////////////////////////
// CPreferenceDialog message handlers
BOOL CPreferenceDialog::OnInitDialog() 
{
	CDialog::OnInitDialog();

	InitAllPrefPages();
	SizeAllPrefPages();
	LoadAllPrefSettings();

	switch( m_nActiveCategory ) {
	case PREF_CATEGORY_GENERAL:		m_treCategories.SelectItem(m_hItemGeneral);		break;
	case PREF_CATEGORY_VISUAL:		m_treCategories.SelectItem(m_hItemVisual);		break;
	case PREF_CATEGORY_FONTS:		m_treCategories.SelectItem(m_hItemFonts);		break;
	case PREF_CATEGORY_COLORS:		m_treCategories.SelectItem(m_hItemColors);		break;
	case PREF_CATEGORY_PRINT:		m_treCategories.SelectItem(m_hItemPrint);		break;
	case PREF_CATEGORY_FILE:		m_treCategories.SelectItem(m_hItemFile);		break;
	case PREF_CATEGORY_ASSOC:		m_treCategories.SelectItem(m_hItemAssoc);		break;
	case PREF_CATEGORY_BACKUP:		m_treCategories.SelectItem(m_hItemBackup);		break;
	case PREF_CATEGORY_SYNTAX:		m_treCategories.SelectItem(m_hItemSyntax);		break;
	case PREF_CATEGORY_FILTERS:		m_treCategories.SelectItem(m_hItemFilters);		break;
	case PREF_CATEGORY_TOOLS:		m_treCategories.SelectItem(m_hItemTools);		break;
	case PREF_CATEGORY_COMMANDS:	m_treCategories.SelectItem(m_hItemCommands);	break;
	case PREF_CATEGORY_MACROS:		m_treCategories.SelectItem(m_hItemMacros);		break;
	}

	CenterWindow();
	// ensure preference window appear center of the editor

	return TRUE;
}

void CPreferenceDialog::OnApply() 
{
	ApplyAllPrefSettings();
}

void CPreferenceDialog::OnOK() 
{
	ApplyAllPrefSettings();
	CDialog::OnOK();
}

void CPreferenceDialog::OnSelchangedCategories(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW * pNMTreeView = (NM_TREEVIEW *)pNMHDR;
	m_nActiveCategory = pNMTreeView->itemNew.lParam;

	if( m_nActiveCategory == PREF_CATEGORY_ASSOC ) LoadAssocSettings();
	ShowProperPrefPages();

	*pResult = 0;
}

BOOL CPreferenceDialog::PreTranslateMessage(MSG* pMsg) 
{
	if( pMsg->message == WM_SYSKEYUP || pMsg->message == WM_KEYUP ) {
		CWnd * pWnd = GetFocus();
		if( pWnd == (CWnd *)(& m_hkyCommandHotKey) ) OnChangeCommandHotKey();
		else if( pWnd == (CWnd *)(& m_hkyMacroHotKey) ) OnChangeMacroHotKey();
	}

	return CDialog::PreTranslateMessage(pMsg);
}

HBRUSH CPreferenceDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	static CBrush brush;

	if( pWnd == & m_btnBackgroundColor ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] ); 
		pDC->SetTextColor( m_crTextColor[WT_WORD] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnActiveLineColor ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x02] );
		pDC->SetTextColor( m_crTextColor[WT_WORD] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnWordColor ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_WORD] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnConstantColor ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_CONSTANT] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnCommentColor ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_LINECOMMENT] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnStringColor ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_QUOTATION1] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnDelimiterColor ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_DELIMITER] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnVariableColor ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_VARIABLE] ); pDC->SetBkMode( TRANSPARENT );
		return brush;

	} else if( pWnd == & m_btnKeyword0Color ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_KEYWORD0] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnKeyword1Color ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_KEYWORD1] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnKeyword2Color ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_KEYWORD2] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnKeyword3Color ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_KEYWORD3] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnKeyword4Color ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_KEYWORD4] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnKeyword5Color ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_KEYWORD5] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnKeyword6Color ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_KEYWORD6] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnKeyword7Color ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_KEYWORD7] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnKeyword8Color ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_KEYWORD8] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnKeyword9Color ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_KEYWORD9] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnLeftMarginColor ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x01] );
		pDC->SetTextColor( m_crTextColor[WT_LINEFEED] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnLineNumberColor ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x01] );
		pDC->SetTextColor( m_crTextColor[WT_LINEFEED] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnRange1BkgrColor ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x03] );
		pDC->SetTextColor( m_crTextColor[WT_WORD] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnRange2BkgrColor ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x04] );
		pDC->SetTextColor( m_crTextColor[WT_WORD] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnHighlightedColor ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_HIGHLIGHTON] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else if( pWnd == & m_btnShadowedColor ) {
		brush.DeleteObject(); brush.CreateSolidBrush( m_crBkgrColor[0x00] );
		pDC->SetTextColor( m_crTextColor[WT_SHADOWON] ); pDC->SetBkMode( TRANSPARENT );
		return brush;
	} else return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}

⌨️ 快捷键说明

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