📄 prefdialogcolors.cpp
字号:
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 + -