?? sheet.cpp
字號:
// Sheet.cpp : implementation file
//
#include "stdafx.h"
#include "Wediter.h"
#include "Sheet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSheet
IMPLEMENT_DYNAMIC(CSheet, CPropertySheet)
CSheet::CSheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
{
Setpages();
}
CSheet::CSheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(pszCaption, pParentWnd, iSelectPage)
{
Setpages();
}
CSheet::~CSheet()
{
}
BEGIN_MESSAGE_MAP(CSheet, CPropertySheet)
//{{AFX_MSG_MAP(CSheet)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSheet message handlers
BOOL CSheet::OnCommand(WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
switch(wParam)
{
case IDOK: //確定
{
int n,reidx;
reidx=GetActiveIndex();
for(n=0;n<GetPageCount();n++)
{
SetActivePage(n);
Getpagedata(GetActivePage());
}
SetActivePage(reidx);
return CPropertySheet::OnCommand(wParam, lParam);
}
case IDCANCEL: //取消
return CPropertySheet::OnCommand(wParam, lParam);
case ID_APPLY_NOW: //應用
{
Getpagedata(GetActivePage());
return CPropertySheet::OnCommand(wParam, lParam);
}
case IDHELP: //幫助
{
AfxGetApp()->m_pMainWnd->OnHelpFinder();
return TRUE;
}
default: //其它
return CPropertySheet::OnCommand(wParam, lParam);
}
}
void CSheet::Setpages()
{
m_pagedata.m_char=gapp.charname;
m_pagedata.m_word=gapp.wordname;
m_pagestate.m_icon=gapp.icon;
m_pagestate.m_rowcol=gapp.rowcol;
m_pagestate.m_stats=gapp.stats;
m_pagestate.m_time=gapp.time;
m_pagestate.m_tool=gapp.tool;
m_pagetabs.m_tabs=gapp.tabs/4;
AddPage(&m_pagedata);
AddPage(&m_pagestate);
AddPage(&m_pagetabs);
}
void CSheet::Getpagedata(CPropertyPage* pag)
{
pag->UpdateData();
switch(GetPageIndex(pag))
{
case 0: //庫文件
{
m_pagedata.m_char.TrimLeft();
m_pagedata.m_char.TrimRight();
m_pagedata.m_word.TrimLeft();
m_pagedata.m_word.TrimRight();
if(!m_pagedata.m_char.IsEmpty())
gapp.charname=m_pagedata.m_char;
if(!m_pagedata.m_word.IsEmpty())
gapp.wordname=m_pagedata.m_word;
}
case 1: //顯示
{
gapp.icon=m_pagestate.m_icon;
gapp.rowcol=m_pagestate.m_rowcol;
gapp.stats=m_pagestate.m_stats;
gapp.time=m_pagestate.m_time;
gapp.tool=m_pagestate.m_tool;
CToolBar* ptolbar=(CToolBar*)
AfxGetApp()->m_pMainWnd->GetDescendantWindow(AFX_IDW_TOOLBAR);
if(ptolbar)
{
if(gapp.tool==1)
{
ptolbar->ShowWindow(SW_SHOW);
Setmanwindows();
}
else
{
ptolbar->ShowWindow(SW_HIDE);
Setmanwindows();
}
}
ptolbar=NULL;
delete ptolbar;
CStatusBar* pStatus=(CStatusBar*)
AfxGetApp()->m_pMainWnd->GetDescendantWindow(AFX_IDW_STATUS_BAR);
if(pStatus)
{
if(gapp.stats==1)
{
pStatus->ShowWindow(SW_SHOW);
Setmanwindows();
if(gapp.time==1)
pStatus->SetPaneStyle(pStatus->CommandToIndex(ID_INDICATOR_CLOCK),SBPS_NORMAL);
else
pStatus->SetPaneStyle(pStatus->CommandToIndex(ID_INDICATOR_CLOCK),SBPS_DISABLED);
if(gapp.rowcol==1)
{
pStatus->SetPaneStyle(1,SBPS_NORMAL);
pStatus->SetPaneStyle(2,SBPS_NORMAL);
}
else
{
pStatus->SetPaneStyle(1,SBPS_DISABLED);
pStatus->SetPaneStyle(2,SBPS_DISABLED);
}
}
else
{
pStatus->ShowWindow(SW_HIDE);
Setmanwindows();
}
}
pStatus=NULL;
delete pStatus;
}
case 2: //縮進
{
gapp.tabs=m_pagetabs.m_tabs*4;
pview->SetTabStops(gapp.tabs);
}
}
}
void CSheet::Setmanwindows()
{
CRect rect;
AfxGetApp()->m_pMainWnd->GetWindowRect(rect);
AfxGetApp()->m_pMainWnd->MoveWindow(rect.TopLeft().x,rect.TopLeft().y,rect.Width(),rect.Height()-1);
AfxGetApp()->m_pMainWnd->MoveWindow(rect.TopLeft().x,rect.TopLeft().y,rect.Width(),rect.Height());
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -