// NetManagerDlg.cpp : implementation file
//
#include "stdafx.h"
#include "NetManager.h"
#include "NetManagerDlg.h"
#include "GlobalsExtern.h"
#include <afxpriv.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
static UINT auIDStatusBar[] =
{
ID_SEPARATOR
};
/////////////////////////////////////////////////////////////////////////////
// CNetManagerDlg dialog
CNetManagerDlg::CNetManagerDlg(CWnd* pParent /*=NULL*/)
: CDialog(CNetManagerDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CNetManagerDlg)
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
g_pThisApp = AfxGetApp();
m_hIcon = g_pThisApp->LoadIcon(IDR_MAINFRAME);
m_bDlgCreated = false;
m_bStarted = false;
m_dlgPropSheet = new CPropertySheet;
m_pPageGeneral = new CPageGeneral;
m_pPageFiles = new CPageFiles;
m_pPageYou = new CPageYou;
m_pPageNet = new CPageNet;
m_pPagePeople = new CPagePeople;
m_pPageMail = new CPageMail;
m_BlinkState = true;
// init globals
g_History = &m_History;
g_Output = &m_Output;
g_AnimateWait = &m_AnimateWait;
g_AnimatePeople = &m_AnimatePeople;
g_AnimateNet = &m_AnimateNet;
}
void CNetManagerDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CNetManagerDlg)
DDX_Control(pDX, IDC_INFOTREE, m_InfoTree);
DDX_Control(pDX, IDC_ANIMATE_WAIT, m_AnimateWait);
DDX_Control(pDX, IDC_ANIMATE_NET, m_AnimateNet);
DDX_Control(pDX, IDC_ANIMATE_PEOPLE, m_AnimatePeople);
DDX_Control(pDX, IDB_CLEAR_OUTPUT, m_ClearOutput);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CNetManagerDlg, CDialog)
//{{AFX_MSG_MAP(CNetManagerDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDB_SHOW_OUTPUT, OnShowOutput)
ON_BN_CLICKED(IDB_CLEAR_OUTPUT, OnClearOutput)
ON_BN_CLICKED(IDB_START, OnStart)
ON_WM_TIMER()
ON_BN_CLICKED(IDB_END, OnEnd)
ON_WM_HELPINFO()
ON_EN_CHANGE(IDC_OUTPUT, OnChangeOutput)
ON_WM_SIZE()
ON_WM_GETMINMAXINFO()
ON_WM_ACTIVATE()
ON_NOTIFY(TCN_SELCHANGE, IDC_TABCTRL_OUTPUT, OnSelchangeTabctrlOutput)
ON_EN_CHANGE(IDC_HISTORY, OnChangeHistory)
ON_NOTIFY(TVN_SELCHANGED, IDC_INFOTREE, OnSelchangedInfotree)
ON_WM_SETCURSOR()
ON_WM_SETTINGCHANGE()
ON_WM_MENUSELECT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CNetManagerDlg message handlers
void CNetManagerDlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
if(m_bDlgCreated)
{
lpMMI->ptMinTrackSize.x = DLG_MIN_WIDTH;
lpMMI->ptMaxTrackSize.x = DLG_MAX_WIDTH;
lpMMI->ptMinTrackSize.y = m_nDlgHeight;
lpMMI->ptMaxTrackSize.y = m_nDlgHeight;
}
}
/////////////////////////////////////////////////////////////////////////////
void CNetManagerDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
if(m_bDlgCreated)
{
ResizeWindows();
// We need to resize the dialog to make room for control bars.
// First, figure out how big the control bars are.
CRect rcClientStart;
CRect rcClientNow;
GetClientRect(rcClientStart);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0, reposQuery, rcClientNow);
// Now move all the controls so they are in the same relative
// position within the remaining client area as they would be
// with no control bars.
CPoint ptOffset(rcClientNow.left - rcClientStart.left, rcClientNow.top - rcClientStart.top);
CRect rcChild;
CWnd* pwndChild = GetWindow(GW_CHILD);
while (pwndChild)
{
pwndChild->GetWindowRect(rcChild);
ScreenToClient(rcChild);
rcChild.OffsetRect(ptOffset);
pwndChild->MoveWindow(rcChild, FALSE);
pwndChild = pwndChild->GetNextWindow();
}
// Adjust the dialog window dimensions
CRect rcWindow;
GetWindowRect(rcWindow);
rcWindow.right += rcClientStart.Width() - rcClientNow.Width();
rcWindow.bottom += rcClientStart.Height() - rcClientNow.Height();
MoveWindow(rcWindow, FALSE);
// And position the control bars
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
}
/*
// for menu (more than 1 row of main menu (while resizing))
CRect rc;
GetClientRect(rc);
if(rc.Height() != m_nDlgClientHeight)
m_nDlgHeight += m_nDlgClientHeight - rc.Height(); // new height
*/
}
/////////////////////////////////////////////////////////////////////////////
BOOL CNetManagerDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
m_Output.SubclassDlgItem(IDC_OUTPUT, this);
m_History.SubclassDlgItem(IDC_HISTORY, this);
m_InfoWindow.SubclassDlgItem(IDC_INFOWINDOW, this);
m_OutputTabCtrl.SubclassDlgItem(IDC_TABCTRL_OUTPUT, this);
m_History.ShowWindow(SW_SHOWNA);
m_Output.ShowWindow(SW_HIDE);
m_InfoTree.ShowWindow(SW_HIDE);
m_InfoWindow.ShowWindow(SW_HIDE);
// ToolTips -----------------------------------------------------------------
m_ToolTip.Create(this);
m_ToolTip.Activate(TRUE);
CWnd* pWnd = GetWindow(GW_CHILD);
while(pWnd)
{
int nID = pWnd->GetDlgCtrlID();
if (nID != -1)
m_ToolTip.AddTool(pWnd, pWnd->GetDlgCtrlID());
pWnd = pWnd->GetWindow(GW_HWNDNEXT);
}
// m_pPageGeneral->m_ToolTip = &m_ToolTip;
// Tab control buttons ------------------------------------------------------
CImageList* pOutputTabButtons = new CImageList;
pOutputTabButtons->Create(16, 16, ILC_COLOR8 | ILC_MASK, 3, 0);
pOutputTabButtons->Add(AfxGetApp()->LoadIcon(IDI_HISTORY));
pOutputTabButtons->Add(AfxGetApp()->LoadIcon(IDI_OUTPUT));
pOutputTabButtons->Add(AfxGetApp()->LoadIcon(IDI_INFO));
m_OutputTabCtrl.SetImageList(pOutputTabButtons);
TC_ITEM TabCtrlItem;
TabCtrlItem.mask = TCIF_TEXT | TCIF_IMAGE;
TabCtrlItem.iImage = 0;
TabCtrlItem.pszText = "History";
m_OutputTabCtrl.InsertItem(0, &TabCtrlItem);
TabCtrlItem.iImage = 1;
TabCtrlItem.pszText = "Output";
m_OutputTabCtrl.InsertItem(1, &TabCtrlItem);
TabCtrlItem.iImage = 2;
TabCtrlItem.pszText = "Info";
m_OutputTabCtrl.InsertItem(2, &TabCtrlItem);
// Info Tree ----------------------------------------------------------------
CImageList* pInfoImages = new CImageList;
pInfoImages->Create(16, 16, ILC_COLOR8 | ILC_MASK, 2, 0);
pInfoImages->Add(AfxGetApp()->LoadIcon(IDI_INFOROOT));
pInfoImages->Add(AfxGetApp()->LoadIcon(IDI_INFOROOTOPEN));
pInfoImages->Add(AfxGetApp()->LoadIcon(IDI_INFOTEXT));
pInfoImages->Add(AfxGetApp()->LoadIcon(IDI_INFOTEXTOPEN));
m_InfoTree.SetImageList(pInfoImages, TVSIL_NORMAL);
HTREEITEM hTreeItem1;
HTREEITEM hTreeItem2;
hTreeItem1 = m_InfoTree.InsertItem("NetManager", 0, 1, TVI_ROOT, TVI_LAST);
m_InfoTree.SetItemData(hTreeItem1, IDS_INFO_NETMANAGER);
hTreeItem2 = m_InfoTree.InsertItem("What is NetManager?", 2, 3, hTreeItem1, TVI_LAST);
m_InfoTree.SetItemData(hTreeItem2, IDS_INFO_NETMANAGER_WHATIS);
hTreeItem2 = m_InfoTree.InsertItem("Version", 2, 3, hTreeItem1, TVI_LAST);
m_InfoTree.SetItemData(hTreeItem2, IDS_INFO_NETMANAGER_VERSION);
hTreeItem2 = m_InfoTree.InsertItem("Author", 2, 3, hTreeItem1, TVI_LAST);
m_InfoTree.SetItemData(hTreeItem2, IDS_INFO_NETMANAGER_AUTHOR);
hTreeItem1 = m_InfoTree.InsertItem("General Functions", 0, 1, TVI_ROOT, TVI_LAST);
m_InfoTree.SetItemData(hTreeItem1, IDS_INFO_GENERAL);
hTreeItem2 = m_InfoTree.InsertItem("Start All", 2, 3, hTreeItem1, TVI_LAST);
m_InfoTree.SetItemData(hTreeItem2, IDS_INFO_GENERAL_STARTALL);
hTreeItem2 = m_InfoTree.InsertItem("End All", 2, 3, hTreeItem1, TVI_LAST);
m_InfoTree
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
MY_NET_MANAGER.rar (88个子文件)
www.pudn.com.txt 218B
NET_MANAGER
PAGEMAIL.H 2KB
NETMANAGER.RC 41KB
GLOBALS.H 567B
NETMANAGER.H 2KB
INFOWND.CPP 910B
PAGEMAILDELCURRENT.H 1KB
SPLASH.CPP 4KB
SPLASH.H 1KB
NETMANAGER.DSW 545B
STATLINK.H 2KB
PAGEPEOPLELIST.CPP 7KB
PAGEMAILDELCURRENT.CPP 2KB
PING.H 1KB
COMBOBOXEX.H 1KB
NETMANAGER.DSP 9KB
PAGEPEOPLE.H 3KB
PAGEFILESEXELIST.CPP 11KB
PAGEPEOPLE.CPP 35KB
RES
USER.ICO 4KB
INFOTEXTOPEN.ICO 1KB
YOU.ICO 1KB
CHECKED.ICO 318B
PEOPLE.ICO 1KB
LINE.ICO 2KB
NETMANAGER.ICO 4KB
WAIT.AVI 5KB
NETMANAGER.RC2 402B
MANUAL.ICO 2KB
PEOPLE.AVI 5KB
NET.ICO 1KB
NET.AVI 5KB
INFOROOT.ICO 1KB
INFOROOTOPEN.ICO 1KB
SERVER.ICO 4KB
UNCHECKED.ICO 318B
FILES.ICO 1KB
INFOTEXT.ICO 1KB
GENERAL.ICO 1KB
SPLASH.BMP 3KB
MAIL.ICO 318B
INFO.ICO 1KB
OUTPUT.ICO 1KB
HISTORY.ICO 1KB
STATUSBAR.H 2KB
PAGENET.CPP 10KB
COMBOBOXEX.CPP 2KB
STATLINK.CPP 5KB
STDAFX.CPP 227B
STATUSBAR.CPP 2KB
STDAFX.H 976B
SMTP.H 5KB
TABCTRLEX.CPP 4KB
INFOWND.H 1KB
NETMANAGERDLG.H 4KB
ABOUTDLG.CPP 1KB
PAGEGENERAL.H 2KB
NETMANAGER.CPP 13KB
RELEASED
NETMANAG.INI 1KB
NETMANAGER.EXE 195KB
GLOBALS.CPP 2KB
NETMANAGER.MAK 24KB
PAGENETLIST.H 1KB
HYPRLINK.CPP 643B
PAGEFILES.H 2KB
PAGEYOU.H 2KB
RESOURCE.H 10KB
OUTPUTWND.H 1KB
PAGEYOU.CPP 10KB
TABCTRLEX.H 2KB
PAGEGENERAL.CPP 13KB
GLOBALSEXTERN.H 937B
PAGENETLIST.CPP 1KB
PAGEMAIL.CPP 10KB
HYPRLINK.H 695B
PAGENET.H 2KB
PAGEFILES.CPP 13KB
NETNODE.CPP 8KB
PAGEMAILCONFIG.H 1KB
NETNODE.H 2KB
NETMANAGERDLG.CPP 46KB
PAGEPEOPLELIST.H 2KB
SMTP.CPP 22KB
OUTPUTWND.CPP 898B
PAGEMAILCONFIG.CPP 1KB
PING.CPP 15KB
PAGEFILESEXELIST.H 2KB
ABOUTDLG.H 1KB
共 88 条
- 1
资源评论
钱亚锋
- 粉丝: 90
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- zaopingshujufenxi.zip
- 六级作文模板万能句型pdf.zip
- delphi 12 控件之DISQLite3 v5.48.3 for Delphi 11-12 Athens + CRACK.7
- Delphi 12 控件之DIXml v6.3.1 for Delphi 11-12 Athens + CRACK.7z
- Delphi 12 控件Mitov Software MegaLab 8.0 for D12 Athens Source Cod
- Delphi 12 控件之Delphi-WinTaskSched-master.zip
- C语言连接两个字符串pdf.zip
- Matlab的语言教程
- Sigrity-PowerSI提取S参数仿真操作指导
- 基于Boson的计算机网络实验:静态路由的配置
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功