?? pagesetdlg.cpp
字號:
// PageSetDlg.cpp : implementation file
//
#include "stdafx.h"
#include "lesson.h"
#include "PageSetDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CPageSetDlg dialog
CPageSetDlg::CPageSetDlg(CWnd* pParent /*=NULL*/)
: CDialog(CPageSetDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CPageSetDlg)
m_High = _T("");
m_Width = _T("");
m_Up = _T("");
m_Down = _T("");
m_Left = _T("");
m_Right = _T("");
m_Str = _T("");
//}}AFX_DATA_INIT
}
void CPageSetDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPageSetDlg)
DDX_Control(pDX, IDC_LIST, m_List);
DDX_Control(pDX, IDC_FONT, m_Font);
DDX_Text(pDX, IDC_HIGH, m_High);
DDX_Text(pDX, IDC_WIDTH, m_Width);
DDX_Text(pDX, IDC_UP, m_Up);
DDX_Text(pDX, IDC_DOWN, m_Down);
DDX_Text(pDX, IDC_LEFT, m_Left);
DDX_Text(pDX, IDC_RIGHT, m_Right);
DDX_Text(pDX, IDC_STR, m_Str);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CPageSetDlg, CDialog)
//{{AFX_MSG_MAP(CPageSetDlg)
ON_EN_CHANGE(IDC_HIGH, OnChangeHigh)
ON_EN_CHANGE(IDC_WIDTH, OnChangeWidth)
ON_EN_CHANGE(IDC_UP, OnChangeUp)
ON_EN_CHANGE(IDC_DOWN, OnChangeDown)
ON_EN_CHANGE(IDC_LEFT, OnChangeLeft)
ON_EN_CHANGE(IDC_RIGHT, OnChangeRight)
ON_EN_CHANGE(IDC_STR, OnChangeStr)
ON_BN_CLICKED(IDC_FULL, OnFull)
ON_BN_CLICKED(IDC_DELETE, OnDelete)
ON_BN_CLICKED(IDC_TOUP, OnToup)
ON_BN_CLICKED(IDC_TODOWN, OnTodown)
ON_LBN_SELCHANGE(IDC_LIST, OnSelchangeList)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPageSetDlg message handlers
void CPageSetDlg::OnChangeHigh()
{
UpdateData();
}
void CPageSetDlg::OnChangeWidth()
{
UpdateData();
}
void CPageSetDlg::OnChangeUp()
{
UpdateData();
}
void CPageSetDlg::OnChangeDown()
{
UpdateData();
}
void CPageSetDlg::OnChangeLeft()
{
UpdateData();
}
void CPageSetDlg::OnChangeRight()
{
UpdateData();
}
void CPageSetDlg::OnChangeStr()
{
UpdateData();
GetDlgItem(IDC_FULL)->EnableWindow();
SetDefID(IDC_FULL);
}
void CPageSetDlg::OnFull()
{
// TODO: Add your control notification handler code here
m_List.AddString(m_Str);
GetDlgItem(IDC_DELETE)->EnableWindow();
SetDefID(IDOK);
GotoDlgCtrl(GetDlgItem(IDC_STR));
}
void CPageSetDlg::OnDelete()
{
// TODO: Add your control notification handler code here
int rgIndex[63];
for(int x=0;x<63;x++)rgIndex[x]=-1;
int nMaxItems=m_List.GetSelCount();
m_List.GetSelItems(nMaxItems,rgIndex);
int i=0;int nIndex;
for(i=m_List.GetSelCount()-1;i>=0;i--)
{
nIndex=rgIndex[i];
m_List.DeleteString(nIndex);
}
GetDlgItem(IDC_DELETE)->EnableWindow(0);
GetDlgItem(IDC_TOUP)->EnableWindow(0);
GetDlgItem(IDC_TODOWN)->EnableWindow(0);
}
void CPageSetDlg::OnToup()
{
// TODO: Add your control notification handler code here
CString str;
int sel[32];
int max=m_List.GetSelCount();
m_List.GetSelItems(max,sel);
m_List.GetText(sel[0],str);
m_List.DeleteString(sel[0]);
m_List.InsertString(sel[0]-1,str);
m_List.SetSel(sel[0]-1);
OnSelchangeList();
}
void CPageSetDlg::OnTodown()
{
// TODO: Add your control notification handler code here
CString str;
int sel[32];
int max=m_List.GetSelCount();
m_List.GetSelItems(max,sel);
m_List.GetText(sel[0],str);
m_List.DeleteString(sel[0]);
m_List.InsertString(sel[0]+1,str);
m_List.SetSel(sel[0]+1);
OnSelchangeList();
}
void CPageSetDlg::OnSelchangeList()
{
// TODO: Add your control notification handler code here
int nMaxItems=m_List.GetSelCount();
if(nMaxItems>0)
{
GetDlgItem(IDC_DELETE)->EnableWindow(1);
if(nMaxItems==1)
{
int sel[1];
m_List.GetSelItems(nMaxItems,sel);
if(sel[0]!=0)
{
GetDlgItem(IDC_TOUP)->EnableWindow(1);
}
else
GetDlgItem(IDC_TOUP)->EnableWindow(0);
if(sel[0]!=m_List.GetCount()-1)
{
GetDlgItem(IDC_TODOWN)->EnableWindow(1);
}
else
GetDlgItem(IDC_TODOWN)->EnableWindow(0);
}
else
{
GetDlgItem(IDC_TOUP)->EnableWindow(0);
GetDlgItem(IDC_TODOWN)->EnableWindow(0);
}
}
else
{
GetDlgItem(IDC_DELETE)->EnableWindow(0);
GetDlgItem(IDC_TOUP)->EnableWindow(0);
GetDlgItem(IDC_TODOWN)->EnableWindow(0);
}
}
BOOL CPageSetDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_Font.AddString("黑體");
m_Font.AddString("仿宋_GB2312");
m_Font.AddString("楷體_GB2312");
m_Font.AddString("宋體");
CLessonApp * pa=(CLessonApp *)AfxGetApp();
m_High.Format("%d",pa->m_Print.m_High);
m_Width.Format("%d",pa->m_Print.m_Width);
m_Up.Format("%d",pa->m_Print.m_Up);
m_Down.Format("%d",pa->m_Print.m_Down);
m_Left.Format("%d",pa->m_Print.m_Left);
m_Right.Format("%d",pa->m_Print.m_Right);
m_Font.SetCurSel(m_Font.FindString(-1,pa->m_Print.m_Font));
DoList();
UpdateData(0);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CPageSetDlg::OnOK()
{
// TODO: Add extra validation here
CLessonApp * pa =(CLessonApp *)AfxGetApp();
pa->m_Print.m_High=atoi(m_High);
pa->m_Print.m_Width=atoi(m_Width);
pa->m_Print.m_Up=atoi(m_Up);
pa->m_Print.m_Down=atoi(m_Down);
pa->m_Print.m_Left=atoi(m_Left);
pa->m_Print.m_Right=atoi(m_Right);
pa->m_Print.m_Str=DoList(1);
m_Font.GetLBText(m_Font.GetCurSel(),pa->m_Print.m_Font);
CDialog::OnOK();
}
CString CPageSetDlg::DoList(int flag)
{
CString str;
if(flag)
{
CString temp;
for(int i=0;i<m_List.GetCount();i++)
{
m_List.GetText(i,temp);
str+=temp;
str+="/";
}
return str;
}
else
{
CLessonApp * pa =(CLessonApp *)AfxGetApp();
str=pa->m_Print.m_Str;
CString temp;
int n=-1;
while(!str.IsEmpty())
{
n=str.Find(47);
if(n<0)
{
m_List.AddString(str);
break;
}
temp=str.Left(n);
m_List.AddString(temp);
str.Delete(0,n+1);
}
return "";
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -