📄 tabpageview.cpp
字号:
// TabPageView.cpp : implementation file
//
#include "stdafx.h"
#include "ChooseBookTool.h"
#include "TabPageView.h"
#include "BookClass.h"
#include "ADOConnection/ADOConn.h"
#include "MainFrm.h"
#include "BookListView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTabPageView
//列表控件的列
static int k = 0;
static CString ListColumn[7] = {"BookID","ISBN","图书书名","出版社名称","作者",\
"出版日期","所属类别"};
//圣典图书分类
//文学类
static CString Literature[12] = {"小说","散文","诗歌","戏曲文学","纪实文学","作品集","人物传记",\
"民间文学","少数民族文学","宗教文学","世界文学","文学研究"};
//艺术类
static CString art[12] = {"书法篆刻","中外绘画","建筑艺术","摄影摄像","工艺美术","雕塑","舞蹈","戏剧",\
"剧本","电影电视","音乐","艺术理论"};
//经济类
static CString Economic[9] = {"贸易经济","财政/金融","旅游经济","邮电经济","交通运输经济","农业经济",\
"经济计划与管理","经济理论","世界经济"};
//工商管理类
static CString Industry[7] = {"企业管理","行业经济","信息产业经济","管理学","人才学","会计","审计"};
//计算机或网络
static CString Computer[5] = {"数据库与操作系统","计算机应用","计算机网络","计算机硬件","计算机科学理论"};
//外语类
static CString English[6] = {"口语与听力","英语工具书","考试用书","英语学习","英语读物","其他外语"};
//教育体育
static CString Education[8] = {"教育理论与现状","思想政治教育","电话教育","学校管理","高等教育","师范教育","社会教育","体育"};
//文化传媒
static CString Culture[3] = {"语言","文化","知识信息与传媒"};
//自然科学
static CString Science[15] = {"天文学","气象学","测绘学","地球科学","科学研究","自然科学总论",\
"非线性科学","系统科学","高等化学","高等物理","高等数学","力学","环境科学",\
"生物科学","晶体学"};
//电工电子
static CString Electrician[3] = {"电工技术","电子技术","自动化技术"};
//工业技术
static CString IndustryTechnology[13] = {"技术基础知识","造纸印刷工业","轻工业手工业","矿业工业","石油天然气工业",\
"能源动力工业","原子能技术","化学工业","冶金工业","金属工艺","仪器仪表","武器工业","航空航天"};
//建筑/水利
static CString Building[2] = {"建筑科学","水利工程"};
//医学/保建
static CString Medicine[16] = {"预防医学/卫生学","中国医学","基础医学","临床医学","内科","外科","妇产科","儿科","肿瘤科","神经学","皮肤科",\
"耳鼻口腔科","眼科","特种医学","药学","外国医学"};
//农林科学
static CString Auriculture[8] = {"农业基础与工程","农艺","植物保护","农作物","园艺","林业","畜牧业","水产业"};
//政治军事
static CString Politics[6] = {"党史党建","外交国际关系","世界政治","中国政治","中外战争纪实","军事"};
//法律
static CString Law[4] = {"法律","中国法律","外国法律","国际法律"};
//历史
static CString History[4] = {"中国历史","文物考古","世界历史","史学理论"};
//交通/旅游
static CString Traffic[3] = {"交通运输","旅游地理","风俗习惯"};
//哲学/社会
static CString Philosophy[14] = {"哲学理论","外国哲学","中国哲学","思维哲学","逻辑哲学","伦理学","美学","心理学","宗教","领袖传记",\
"领袖著作","社会科学总论","统记学","社会人口"};
//家庭/生活
static CString Family[13] = {"服装裁剪","纺织技术","家庭装饰装修","美食/餐饮","食品加工","工艺美术","家用电器","五金制品","文体家庭用品","家务","美容","手工美术","家具制作"};
//工具书
static CString ToolBook[7] = {"丛书","百科全书","辞典","论文集","年鉴","期刊","文摘/索引"};
//基础教育
static CString PrimaryEducation[4] = {"学前教育","初等教育","中等教育","儿童文学"};
//属性页选项
static CString TabPage[2] = {"目录","查找"};
static int i=0;
static CBookClass SDClass[] = {CBookClass("文学",Literature,12),CBookClass("艺术",art,12),CBookClass("经济",Economic,9),CBookClass("工商管理",Industry,7),\
CBookClass("计算机/网络",Computer,5),CBookClass("外语",English,6),CBookClass("教育/体育",Education,8),CBookClass("文化传媒",Culture,3),CBookClass("自然科学",Science,15),\
CBookClass("电工电子",Electrician,3),CBookClass("工业技术",IndustryTechnology,13),CBookClass("建筑/水利",Building,2),CBookClass("医学保健",Medicine,16),\
CBookClass("农林科学",Auriculture,8),CBookClass("政治/军事",Politics,6),CBookClass("法律",Law,4),CBookClass("历史",History,4),\
CBookClass("交通/旅游",Traffic,3),CBookClass("哲学社会",Philosophy,14),CBookClass("家庭生活",Family,13),\
CBookClass("工具书",ToolBook,7),CBookClass("基础教育",PrimaryEducation,4)};
IMPLEMENT_DYNCREATE(CTabPageView, CFormView)
CTabPageView::CTabPageView()
: CFormView(CTabPageView::IDD)
{
//{{AFX_DATA_INIT(CTabPageView)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
strItemDate = _T("");
m_pRunDlg = new CWaitDlg(this);
m_pRunDlg->Create();
}
CTabPageView::~CTabPageView()
{
m_pRunDlg->DestroyWindow();
delete m_pRunDlg;
}
void CTabPageView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTabPageView)
DDX_Control(pDX, IDC_RADIO1, m_CtrRadio);
DDX_Control(pDX, IDC_CHECK_EQUAL, m_CtrCheck);
DDX_Control(pDX, IDC_EDIT_CONDITION, m_CtrEditCondition);
DDX_Control(pDX, IDC_LIST_RESULT, m_CtrListResult);
DDX_Control(pDX, IDC_TAB_CHOOSEBOOK, m_CtrChooseBook);
DDX_Control(pDX, IDC_TREE_BOOKCLASS, m_CtrBookClass);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTabPageView, CFormView)
//{{AFX_MSG_MAP(CTabPageView)
ON_WM_PAINT()
ON_WM_WINDOWPOSCHANGING()
ON_NOTIFY(TCN_SELCHANGE, IDC_TAB_CHOOSEBOOK, OnSelchangeTabChoosebook)
ON_WM_CONTEXTMENU()
ON_COMMAND(ID_TREERIGHT_ADD, OnTreerightAdd)
ON_BN_CLICKED(IDC_BUTTON_SELECT, OnButtonSelect)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTabPageView diagnostics
#ifdef _DEBUG
void CTabPageView::AssertValid() const
{
CFormView::AssertValid();
}
void CTabPageView::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CTabPageView message handlers
/*void CTabPageView::OnOK()
{
// TODO: Add your control notification handler code here
}*/
void CTabPageView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
HICON hicon[2];
m_ImageList.Create(16,16,TRUE,2,2);
hicon[0] = AfxGetApp()->LoadIcon(IDR_FOLDER);
hicon[1] = AfxGetApp()->LoadIcon(IDR_BOOKLIST);
for (int n=0;n<8;n++)
{
m_ImageList.Add(hicon[n]);
}
m_ImageList.Add(AfxGetApp()->LoadIcon(IDR_BOOKLIST));
m_CtrBookClass.SetImageList(&m_ImageList,LVSIL_NORMAL);
//初使化时隐藏第二页的控件
GetDlgItem(IDC_STATIC_FILED)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RADIO1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RADIO2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RADIO3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RADIO4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_CONDITION)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON_SELECT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LIST_RESULT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CHECK_EQUAL)->ShowWindow(SW_HIDE);
InitListResult();
AddTabPage();
CreateBookTree();
}
void CTabPageView::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
CRect Tree_Rect;
CRect rtRect;
int cx=::GetSystemMetrics(SM_CXSCREEN);
int cy=::GetSystemMetrics(SM_CYSCREEN);
int btttonDis;
GetWindowRect(&TabPage_Rect);
ScreenToClient(&TabPage_Rect);
GetDlgItem(IDC_TAB_CHOOSEBOOK)->MoveWindow(TabPage_Rect);
//得到检查框的位置
GetDlgItem(IDC_CHECK_EQUAL)->GetWindowRect(&Check_Rect);
ScreenToClient(&Check_Rect);
btttonDis = TabPage_Rect.bottom - Check_Rect.bottom;
GetDlgItem(IDC_CHECK_EQUAL)->MoveWindow(CRect(Check_Rect.left,TabPage_Rect.bottom-Check_Rect.Height()-10,
Check_Rect.right,TabPage_Rect.bottom-10));
GetDlgItem(IDC_CHECK_EQUAL)->GetWindowRect(&Check_Rect);
ScreenToClient(&Check_Rect);
//改变树型控件的大小
GetDlgItem(IDC_TREE_BOOKCLASS)->GetWindowRect(&Tree_Rect);
ScreenToClient(&Tree_Rect);
GetDlgItem(IDC_TREE_BOOKCLASS)->MoveWindow(CRect(Tree_Rect.left,Tree_Rect.top,
TabPage_Rect.right-10,
TabPage_Rect.bottom-10));
//改变编辑框的和按钮的大小
//得到编辑框的大小
GetDlgItem(IDC_EDIT_CONDITION)->GetWindowRect(&Edit_Rect);
ScreenToClient(&Edit_Rect);
//得到按钮的大小
GetDlgItem(IDC_BUTTON_SELECT)->GetWindowRect(&Button_Rect);
ScreenToClient(&Button_Rect);
//移动按钮的位置
GetDlgItem(IDC_BUTTON_SELECT)->MoveWindow(CRect(TabPage_Rect.right-Button_Rect.Width()-10,
Button_Rect.top,TabPage_Rect.right-10,Button_Rect.bottom));
//再次得到按钮的位置
GetDlgItem(IDC_BUTTON_SELECT)->GetWindowRect(&Button_Rect);
//转换成客户区坐标
ScreenToClient(&Button_Rect);
//移动编辑框的位置
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -