|
@@ -5,6 +5,10 @@
|
|
|
#include "stdafx.h"
|
|
|
#include "OGCAssistTool.h"
|
|
|
#include "OGCAssistToolDlg.h"
|
|
|
+#include "PageDebug.h"
|
|
|
+#include "PageLog.h"
|
|
|
+#include "PageConfig.h"
|
|
|
+#include "PageStatistics.h"
|
|
|
|
|
|
#ifdef _DEBUG
|
|
|
#define new DEBUG_NEW
|
|
@@ -13,7 +17,7 @@
|
|
|
|
|
|
// 用于应用程序“关于”菜单项的 CAboutDlg 对话框
|
|
|
|
|
|
-class CAboutDlg : public CDialog
|
|
|
+class CAboutDlg : public CDialogEx
|
|
|
{
|
|
|
public:
|
|
|
CAboutDlg();
|
|
@@ -29,16 +33,16 @@ protected:
|
|
|
DECLARE_MESSAGE_MAP()
|
|
|
};
|
|
|
|
|
|
-CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
|
|
|
+CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)
|
|
|
{
|
|
|
}
|
|
|
|
|
|
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
|
|
|
{
|
|
|
- CDialog::DoDataExchange(pDX);
|
|
|
+ CDialogEx::DoDataExchange(pDX);
|
|
|
}
|
|
|
|
|
|
-BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
|
|
|
+BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
@@ -48,21 +52,23 @@ END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
|
COGCAssistToolDlg::COGCAssistToolDlg(CWnd* pParent /*=NULL*/)
|
|
|
- : CDialog(COGCAssistToolDlg::IDD, pParent)
|
|
|
+ : CDialogEx(COGCAssistToolDlg::IDD, pParent)
|
|
|
{
|
|
|
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
|
|
|
}
|
|
|
|
|
|
void COGCAssistToolDlg::DoDataExchange(CDataExchange* pDX)
|
|
|
{
|
|
|
- CDialog::DoDataExchange(pDX);
|
|
|
+ CDialogEx::DoDataExchange(pDX);
|
|
|
+ DDX_Control(pDX, IDC_TAB, m_tabCtrl);
|
|
|
}
|
|
|
|
|
|
-BEGIN_MESSAGE_MAP(COGCAssistToolDlg, CDialog)
|
|
|
+BEGIN_MESSAGE_MAP(COGCAssistToolDlg, CDialogEx)
|
|
|
ON_WM_SYSCOMMAND()
|
|
|
ON_WM_PAINT()
|
|
|
ON_WM_QUERYDRAGICON()
|
|
|
//}}AFX_MSG_MAP
|
|
|
+ ON_NOTIFY(TCN_SELCHANGE, IDC_TAB, &COGCAssistToolDlg::OnTcnSelchangeTab)
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
@@ -70,7 +76,7 @@ END_MESSAGE_MAP()
|
|
|
|
|
|
BOOL COGCAssistToolDlg::OnInitDialog()
|
|
|
{
|
|
|
- CDialog::OnInitDialog();
|
|
|
+ CDialogEx::OnInitDialog();
|
|
|
|
|
|
// 将“关于...”菜单项添加到系统菜单中。
|
|
|
|
|
@@ -98,6 +104,7 @@ BOOL COGCAssistToolDlg::OnInitDialog()
|
|
|
SetIcon(m_hIcon, FALSE); // 设置小图标
|
|
|
|
|
|
// TODO: 在此添加额外的初始化代码
|
|
|
+ InitTabCtrl();
|
|
|
|
|
|
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
|
|
|
}
|
|
@@ -111,7 +118,7 @@ void COGCAssistToolDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- CDialog::OnSysCommand(nID, lParam);
|
|
|
+ CDialogEx::OnSysCommand(nID, lParam);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -140,7 +147,7 @@ void COGCAssistToolDlg::OnPaint()
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- CDialog::OnPaint();
|
|
|
+ CDialogEx::OnPaint();
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -151,3 +158,86 @@ HCURSOR COGCAssistToolDlg::OnQueryDragIcon()
|
|
|
return static_cast<HCURSOR>(m_hIcon);
|
|
|
}
|
|
|
|
|
|
+void COGCAssistToolDlg::InitTabCtrl()
|
|
|
+{
|
|
|
+ BOOL bResult;
|
|
|
+ static CFont font;// 必须全局或成员或静态,局部变量无效异常;
|
|
|
+ bResult = font.CreateFont(50, 20, 0, 0, 800, FALSE, 0, 0, 1, 0, 0, 0, 0, _T("Arial"));
|
|
|
+ m_tabCtrl.SetFont(&font);
|
|
|
+
|
|
|
+ m_ImageList.Create(IDB_TAB, 32, 1, RGB(255,255,255) );
|
|
|
+ m_tabCtrl.SetImageList(&m_ImageList);
|
|
|
+
|
|
|
+ m_tabCtrl.InsertItem(0, _T("调试"));
|
|
|
+ m_tabCtrl.InsertItem(1, _T("日志"));
|
|
|
+ m_tabCtrl.InsertItem(2, _T("统计"));
|
|
|
+ m_tabCtrl.InsertItem(3, _T("设置"));
|
|
|
+
|
|
|
+ TC_ITEM tcItem;
|
|
|
+ tcItem.mask = TCIF_IMAGE;
|
|
|
+ for( int i = 0; i < 4; i++ )
|
|
|
+ {
|
|
|
+ tcItem.iImage = i;
|
|
|
+ m_tabCtrl.SetItem( i, &tcItem ); //显示ImageList的序号
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 获取当前窗口大小;
|
|
|
+ CRect rcWnd;
|
|
|
+ m_tabCtrl.GetWindowRect(&rcWnd);
|
|
|
+
|
|
|
+ int nCount = m_tabCtrl.GetItemCount();
|
|
|
+ // 设置标签的大小(必须在属性Style里设置Fixed Width)
|
|
|
+ CSize size(rcWnd.Width()/nCount-1, 80), sizeReturn;
|
|
|
+ sizeReturn = m_tabCtrl.SetItemSize(size);
|
|
|
+
|
|
|
+ // 设置好标签后,创建Page;
|
|
|
+ CPageDebug *pDlgDebug = new CPageDebug();
|
|
|
+ pDlgDebug->Create(PAGE_DEBUG, &m_tabCtrl);
|
|
|
+ m_pDialog[0] = pDlgDebug;
|
|
|
+
|
|
|
+ CPageLog* pDlgLog = new CPageLog();
|
|
|
+ pDlgLog->Create(PAGE_LOG, &m_tabCtrl);
|
|
|
+ m_pDialog[1] = pDlgLog;
|
|
|
+
|
|
|
+ CPageStatistics *pDlgStatistics = new CPageStatistics();
|
|
|
+ pDlgStatistics->Create(PAGE_STATISTICS, &m_tabCtrl);
|
|
|
+ m_pDialog[2] = pDlgStatistics;
|
|
|
+
|
|
|
+ CPageConfig *pDlgConfig = new CPageConfig();
|
|
|
+ pDlgConfig->Create(PAGE_CONFIG, &m_tabCtrl);
|
|
|
+ m_pDialog[3] = pDlgConfig;
|
|
|
+
|
|
|
+ //设定在Tab内显示的范围
|
|
|
+ CRect rcClient;
|
|
|
+ m_tabCtrl.GetClientRect(rcClient);
|
|
|
+ rcClient.top += 82;
|
|
|
+
|
|
|
+ pDlgDebug->MoveWindow(&rcClient);
|
|
|
+ pDlgDebug->ShowWindow(SW_SHOW);
|
|
|
+
|
|
|
+ pDlgLog->MoveWindow(&rcClient);
|
|
|
+ pDlgLog->ShowWindow(SW_HIDE);
|
|
|
+
|
|
|
+ pDlgConfig->MoveWindow(&rcClient);
|
|
|
+ pDlgConfig->ShowWindow(SW_HIDE);
|
|
|
+
|
|
|
+ pDlgStatistics->MoveWindow(&rcClient);
|
|
|
+ pDlgStatistics->ShowWindow(SW_HIDE);
|
|
|
+
|
|
|
+ // 设置默认page;
|
|
|
+ m_tabCtrl.SetCurSel(m_CurSelTab=0);
|
|
|
+}
|
|
|
+
|
|
|
+void COGCAssistToolDlg::OnTcnSelchangeTab(NMHDR *pNMHDR, LRESULT *pResult)
|
|
|
+{
|
|
|
+ // TODO: 在此添加控件通知处理程序代码
|
|
|
+ m_pDialog[m_CurSelTab]->ShowWindow(SW_HIDE);
|
|
|
+ //得到新的页面
|
|
|
+ m_CurSelTab = m_tabCtrl.GetCurSel();
|
|
|
+ //把新的页面显示出来
|
|
|
+ m_pDialog[m_CurSelTab]->ShowWindow(SW_SHOW);
|
|
|
+ m_pDialog[m_CurSelTab]->UpdateData(TRUE);
|
|
|
+
|
|
|
+ *pResult = 0;
|
|
|
+}
|