📄 customdlg.cpp
字号:
// CustomDlg.cpp : implementation file
//
#include "stdafx.h"
#include "MyInsaneBT.h"
#include "CustomDlg.h"
#include "SetupRegister.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCustomDlg dialog
#define IDC_TREE_OPTION 36666
CCustomDlg::CCustomDlg(CWnd* pParent /*=NULL*/)
: CBCGPDialog(CCustomDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CCustomDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
CCustomDlg::CCustomDlg(CSetupRegister* pRegister,CWnd* pParent)
: CBCGPDialog(CCustomDlg::IDD, pParent)
{
m_pRegister = pRegister;
}
void CCustomDlg::DoDataExchange(CDataExchange* pDX)
{
CBCGPDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCustomDlg)
//DDX_Control(pDX, IDC_TREE_OPTIONS, m_Optiontree);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCustomDlg, CBCGPDialog)
//{{AFX_MSG_MAP(CCustomDlg)
ON_NOTIFY(TVN_SELCHANGED, IDC_TREE_OPTION, OnSelchangedTreeOptions)
ON_BN_CLICKED(IDC_BUTTON_APPLY, OnButtonApply)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCustomDlg message handlers
BOOL CCustomDlg::OnInitDialog()
{
//读配置信息
CSetupRegister::Instance()->ReadOption();
//创建tree
CreateTree();
m_StatusWnd.CreateEx(this, CRect(0, 0, 100, 100), 5362, 0);
CRect rc;
GetClientRect(&rc);
CRect rcStatus;
rcStatus = rc;
rcStatus.bottom = rcStatus.top + 45;
rc.top += 55;
rc.bottom -= 10;
CRect rcTree = rc;
rcTree.right = rcTree.left + 140;
rc.left += 140;
rc.bottom -= 30;
m_GeneralSet.SetData(m_pRegister);
m_GeneralSet.Create(IDD_DIADLG_GENSET,this);
m_Catalog.SetData(m_pRegister);
m_Catalog.Create(IDD_DIALOG_CATALOG,this);
//m_Catalog.SetData(m_pRegister);
m_DownList.Create(IDD_DIALOG_LIST,this);
//m_DownList.SetData(m_pRegister);
m_StatusWnd.MoveWindow(rcStatus);
m_Optiontree->MoveWindow(rcTree);
m_GeneralSet.MoveWindow(rc);
m_Catalog.MoveWindow(rc);
m_Catalog.ShowWindow(SW_HIDE);
m_DownList.MoveWindow(rc);
m_DownList.ShowWindow(SW_HIDE);
m_Advanced.SetData(m_pRegister);
m_Advanced.Create(IDD_DIALOG_ADVANCED,this);
m_Advanced.MoveWindow(rc);
CenterWindow();
return TRUE;
}
bool CCustomDlg::CreateTree()
{
CRect rectDummy;
rectDummy.SetRectEmpty ();
const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | TVS_HASLINES |
TVS_LINESATROOT | TVS_HASBUTTONS;
m_Optiontree = new CGeoTreeCrt;
if(!m_Optiontree->Create (dwViewStyle, rectDummy, this, IDC_TREE_OPTION))
{
TRACE0("Failed to create tree tab window\n");
return false;
}
HTREEITEM Root = m_Optiontree->InsertItem ("个性化设置",0,0,TVI_ROOT,TVI_LAST);
HTREEITEM hRoot2 = m_Optiontree->InsertItem (_T("常规"),0,0,Root,TVI_LAST);
HTREEITEM hRoot3 = m_Optiontree->InsertItem (_T("类别和目录"),0,0,Root);
HTREEITEM hRoot4 = m_Optiontree->InsertItem (_T("监视"),0,0,Root);
HTREEITEM hRoot5 = m_Optiontree->InsertItem (_T("高级"),0,0,Root);
m_Optiontree->Expand(Root,TVE_EXPAND);
return true;
}
//**********************************************************************************
//** 输 入:
//** 输 出:
//** 功能描述: tree选择事件
//** 作 者: Administrator
//** 创建日期: 2007-07-15
//**************修改记录************************************************************
//** 修 改 者: Administrator
//** 修改日期: 2007-07-15
//** 修改描述:
//** 版 本: V1.0
//**********************************************************************************
void CCustomDlg::OnSelchangedTreeOptions(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
OnCommandUI();
*pResult = 0;
}
//**********************************************************************************
//** 函数名称: CCustomDlg::OnCommandUI
//** 输 入:
//** 输 出:
//** 功能描述: 更新界面状态
//** 作 者: shuyi
//** 创建日期: 2007-7-23
//**************修改记录************************************************************
//** 修 改 者: shuyi
//** 修改日期: 2007-7-23
//** 修改描述:
//** 版 本: V1.0
//**********************************************************************************
void CCustomDlg::OnCommandUI()
{
CString seltext;
HTREEITEM tree = m_Optiontree->GetSelectedItem();
seltext = m_Optiontree->GetItemText(tree);
m_Optiontree->SelectItem(tree);
//界面切换
if(seltext=="常规")
{
m_GeneralSet.ShowWindow(SW_SHOW);
m_Catalog.ShowWindow(SW_HIDE);
m_DownList.ShowWindow(SW_HIDE);
m_Advanced.ShowWindow(SW_HIDE);
}
else if(seltext=="类别和目录")
{
m_GeneralSet.ShowWindow(SW_HIDE);
m_Catalog.ShowWindow(SW_SHOW);
m_DownList.ShowWindow(SW_HIDE);
m_Advanced.ShowWindow(SW_HIDE);
}
else if(seltext=="监视")
{
m_GeneralSet.ShowWindow(SW_HIDE);
m_Catalog.ShowWindow(SW_HIDE);
m_DownList.ShowWindow(SW_SHOW);
m_Advanced.ShowWindow(SW_HIDE);
}
else if(seltext=="高级")
{
m_GeneralSet.ShowWindow(SW_HIDE);
m_Catalog.ShowWindow(SW_HIDE);
m_DownList.ShowWindow(SW_HIDE);
m_Advanced.ShowWindow(SW_SHOW);
}
m_StatusWnd.SetStatusText(seltext);
}
void CCustomDlg::OnButtonApply()
{
m_GeneralSet.Apply();
m_Advanced.Apply();
}
void CCustomDlg::OnOK()
{
m_GeneralSet.Apply();
m_GeneralSet.GetData(m_pRegister);
m_Advanced.Apply();
m_Advanced.GetData(m_pRegister);
m_pRegister->SaveOption();
CBCGPDialog::OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -