⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 customdlg.cpp

📁 类似flashget下载工具代码 本来想在完善了上传的
💻 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 + -