/****************************************************************/
/* */
/* ApplicationDlg.cpp */
/* */
/* Programmed by JamesPang */
/* */
/* Last updated: 2008-09-24 */
/* */
/****************************************************************/
#include "stdafx.h"
#include "FTPServerApp.h"
#include "FTPServer.h"
#include "ApplicationDlg.h"
#include "AboutDlg.h"
#include <afxpriv.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CFTPServerApp theApp;
extern CFTPServer theServer;
static UINT auIDStatusBar[] =
{
ID_SEPARATOR,
ID_INDICATOR_DATA_RECEIVED,
ID_INDICATOR_DATA_SEND,
ID_INDICATOR_ONLINELED,
ID_INDICATOR_OFFLINELED
};
/********************************************************************/
/* */
/* Function name : CApplicationDlg */
/* Description : Constructor */
/* */
/********************************************************************/
CApplicationDlg::CApplicationDlg(CWnd* pParent /*=NULL*/)
: CDialogResize(CApplicationDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CApplicationDlg)
//}}AFX_DATA_INIT
m_hIcon = AfxGetApp()->LoadIcon(IDI_FTPSERVER);
m_bInitialized = FALSE;
}
/********************************************************************/
/* */
/* Function name : ~CApplicationDlg */
/* Description : Destructor */
/* */
/********************************************************************/
CApplicationDlg::~CApplicationDlg()
{
}
/********************************************************************/
/* */
/* Function name : DoDataExchange */
/* Description : Called by the framework to exchange and validate */
/* dialog data. */
/* */
/********************************************************************/
void CApplicationDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogResize::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CApplicationDlg)
DDX_Control(pDX, IDC_INFOBAR, m_InfobarCtrl);
DDX_Control(pDX, IDC_OUTLOOKBAR, m_OutlookBar);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CApplicationDlg, CDialogResize)
//{{AFX_MSG_MAP(CApplicationDlg)
ON_WM_SYSCOMMAND()
ON_WM_SIZE()
ON_WM_DESTROY()
ON_COMMAND(ID_SERVER_START, OnServerStart)
ON_UPDATE_COMMAND_UI(ID_SERVER_START, OnUpdateServerStart)
ON_COMMAND(ID_SERVER_STOP, OnServerStop)
ON_UPDATE_COMMAND_UI(ID_SERVER_STOP, OnUpdateServerStop)
ON_COMMAND(ID_SERVER_EXIT, OnServerExit)
ON_NOTIFY(NM_CLICK, IDC_OUTLOOKBAR, OnClickOutlookBar)
ON_NOTIFY(LVN_KEYDOWN, IDC_OUTLOOKBAR, OnKeydownOutlookBar)
ON_COMMAND(IDC_VIEW_TRACE, OnViewTrace)
ON_COMMAND(IDC_VIEW_ONLINE_USERS, OnViewOnlineUsers)
ON_COMMAND(IDC_VIEW_CONFIGURATION, OnViewConfiguration)
ON_UPDATE_COMMAND_UI(IDC_VIEW_TRACE, OnUpdateViewTrace)
ON_UPDATE_COMMAND_UI(IDC_VIEW_ONLINE_USERS, OnUpdateViewOnlineUsers)
ON_UPDATE_COMMAND_UI(IDC_VIEW_CONFIGURATION, OnUpdateViewConfiguration)
ON_COMMAND(ID_HELP_ABOUT, OnHelpAbout)
ON_COMMAND(IDC_VIEW_STATISTICS, OnViewStatistics)
ON_UPDATE_COMMAND_UI(IDC_VIEW_STATISTICS, OnUpdateViewStatistics)
ON_COMMAND(IDC_VIEW_USERACCOUNTS, OnViewUseraccounts)
ON_UPDATE_COMMAND_UI(IDC_VIEW_USERACCOUNTS, OnUpdateViewUseraccounts)
ON_WM_INITMENUPOPUP()
ON_COMMAND(ID_HELP_GETLATESTVERSION, OnHelpGetLatestVersion)
//}}AFX_MSG_MAP
ON_MESSAGE(WM_KICKIDLE, OnKickIdle)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, OnToolTipText)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, OnToolTipText)
ON_COMMAND(IDC_APPLY, OnApply)
END_MESSAGE_MAP()
BEGIN_DLGRESIZE_MAP(CApplicationDlg)
DLGRESIZE_CONTROL(IDC_OUTLOOKBAR, DLSZ_SIZE_Y)
DLGRESIZE_CONTROL(IDC_DIALOG_AREA, DLSZ_SIZE_X | DLSZ_SIZE_Y)
DLGRESIZE_CONTROL(AFX_IDW_STATUS_BAR, DLSZ_MOVE_Y | DLSZ_SIZE_X)
DLGRESIZE_CONTROL(AFX_IDW_TOOLBAR, DLSZ_SIZE_X)
DLGRESIZE_CONTROL(IDC_STATIC1, DLSZ_SIZE_X)
DLGRESIZE_CONTROL(IDC_INFOBAR, DLSZ_SIZE_X)
END_DLGRESIZE_MAP()
/********************************************************************/
/* */
/* Function name : OnInitDialog */
/* Description : Called by the framework in response to the */
/* WM_INITDIALOG message. */
/* */
/********************************************************************/
BOOL CApplicationDlg::OnInitDialog()
{
CDialogResize::OnInitDialog();
// setup listview ctrl, so that it looks like the outbar control
SetupOutlookBar();
// Add statusbar to the dialog
CreateStatusbar();
CRect rect;
GetDlgItem(IDC_STATIC1)->GetWindowRect(rect);
ScreenToClient(rect);
rect.right+=4;
GetDlgItem(IDC_STATIC1)->MoveWindow(rect);
InitResizing(FALSE);
// create property pages
m_TracePage.Create(IDD_PROPPAGE_TRACE, this);
m_OnlineUsersPage.Create(IDD_PROPPAGE_ONLINE, this);
m_UserAccountPage.Create(IDD_PROPPAGE_ACCOUNTS, this);
m_ConfigurationPage.Create(IDD_PROPPAGE_CONFIGURATION, this);
m_StatisticsPage.Create(IDD_PROPPAGE_STATISTICS, this);
// activate main page
ActivatePage(0);
// Set big icon
SetIcon(m_hIcon, TRUE);
// Set small icon
SetIcon(m_hIcon, FALSE);
// get registry values
m_ConfigurationPage.m_nPort = AfxGetApp()->GetProfileInt("Settings", "Port", 6234);
m_ConfigurationPage.m_nMaxUsers = AfxGetApp()->GetProfileInt("Settings", "MaxUsers", 10);
m_ConfigurationPage.m_nTimeout = AfxGetApp()->GetProfileInt("Settings", "Timeout", 5);
m_ConfigurationPage.m_strWelcomeMessage = AfxGetApp()->GetProfileString("Settings", "WelcomeMsg", "Welcome to Pang's FTP Server");
m_ConfigurationPage.m_strGoodbyeMessage = AfxGetApp()->GetProfileString("Settings", "GoodbyeMsg", "Bye");
m_ConfigurationPage.m_bLaunchOnStartup = AfxGetApp()->GetProfileInt("Settings", "LaunchOnStartup", 0);
m_ConfigurationPage.m_bStartInTray = AfxGetApp()->GetProfileInt("Settings", "StartInTray", 0);
m_ConfigurationPage.m_bAutoActivate = AfxGetApp()->GetProfileInt("Settings", "AutoActivate", 0);
//2008-09-24 JamesPang
//读入配置文件,默认目录
//start...
m_ConfigurationPage.m_strDefaultDir = AfxGetApp()->GetProfileString("Settings", "DefaultDir", "C:\\");
//end...
m_ConfigurationPage.UpdateData(FALSE);
// and finally, let's add some tooltips
m_ToolTipCtrl.Create(this);
m_ToolTipCtrl.Activate(TRUE);
// minimize at startup ?
if (m_ConfigurationPage.m_bStartInTray)
{
PostMessage(WM_SYSCOMMAND, SC_MINIMIZE, 0);
// this seems to be a workaround to let the statement above to get working
CRect rect;
GetWindowRect(rect);
SetWindowPos(&CWnd::wndTop, rect.left, rect.top, rect.Width(), rect.Height(), SWP_HIDEWINDOW | SWP_NOSIZE | SWP_NOMOVE);
}
theServer.Initialize(this);
if (m_ConfigurationPage.m_bAutoActivate)
{
OnServerStart();
}
m_bInitialized = TRUE;
return TRUE;
}
/********************************************************************/
/* */
/* Function name : OnSysCommand */
/* Description : Here we catch the minimizing */
/* */
/********************************************************************/
void CApplicationDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
switch(nID)
{
case SC_MINIMIZE:
// do not minimize to the taskbar
ShowWindow(SW_HIDE);
break;
default:
CDialog::OnSysCommand(nID, lParam);
break;
}
}
/********************************************************************/
/* */
/* Function name : OnSize */
/* Description : Handle WM_SIZE message */
/* */
/********************************************************************/
void CApplicationDlg::OnSize(UINT nType, int cx, int cy)
{
CDialogResize::OnSize(nType, cx, cy);
if (m_bInit
没有合适的资源?快使用搜索试试~ 我知道了~
socket控件!!!!!!!!!!!!
共111个文件
h:32个
cpp:29个
ico:23个
需积分: 31 45 下载量 164 浏览量
2008-10-25
09:25:02
上传
评论
收藏 246KB RAR 举报
温馨提示
VC封装的 稳定的DELPHI ocx控件,经验证很稳定,很实用!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
资源推荐
资源详情
资源评论
收起资源包目录
socket控件!!!!!!!!!!!! (111个子文件)
FTPServer.aps 69KB
FTPClient.aps 43KB
upload.avi 14KB
inetdownload.avi 11KB
xptheme.bin 644B
toolbar1.bmp 478B
FTPServer.clw 9KB
FTPClient.clw 859B
ApplicationDlg.cpp 36KB
ControlSocket.cpp 33KB
FTPClient.cpp 26KB
UserAccountPage.cpp 18KB
FileInfo.cpp 14KB
DataSocket.cpp 14KB
FTPUpload.cpp 13KB
StdAfx.cpp 12KB
FTPServer.cpp 11KB
StarWarsCtrl.cpp 11KB
DialogResize.cpp 10KB
FTPDownload.cpp 10KB
UserManager.cpp 8KB
InfobarCtrl.cpp 8KB
IconButton.cpp 7KB
ConfigurationPage.cpp 7KB
ConnectThread.cpp 7KB
TracePage.cpp 6KB
ProgressDlg.cpp 6KB
OnlineUsersPage.cpp 6KB
SystemTray.cpp 5KB
StringHelper.cpp 5KB
StatisticsPage.cpp 4KB
FTPServerApp.cpp 3KB
ListenSocket.cpp 2KB
AddUserDlg.cpp 1KB
AboutDlg.cpp 1KB
FTPEventSink.cpp 451B
StdAfx.cpp 211B
FTPClient.def 229B
FTPServer.dsp 9KB
FTPClient.dsp 5KB
FTPClient.dsw 543B
FTPServer.dsw 541B
FileInfo.h 13KB
resource.h 5KB
ApplicationDlg.h 4KB
ControlSocket.h 3KB
DialogResize.h 3KB
FTPClient.h 3KB
ShFolder.h 3KB
FTPServer.h 2KB
UserAccountPage.h 2KB
StdAfx.h 2KB
ConnectThread.h 2KB
TracePage.h 2KB
StarWarsCtrl.h 2KB
ConfigurationPage.h 2KB
ProgressDlg.h 2KB
OnlineUsersPage.h 2KB
InfobarCtrl.h 2KB
IconButton.h 1KB
StdAfx.h 1KB
FTPUpload.h 1KB
SystemTray.h 1KB
FTPDownload.h 1KB
StatisticsPage.h 1KB
UserManager.h 1KB
DataSocket.h 1KB
FTPServerApp.h 1KB
AddUserDlg.h 1KB
ListenSocket.h 1KB
AboutDlg.h 1KB
FTPEventSink.h 948B
resource.h 732B
StringHelper.h 631B
ftp.ico 5KB
led_gree.ico 1KB
led_red.ico 1KB
led_off.ico 1KB
internet.ico 1KB
icon2.ico 766B
users.ico 766B
useracco.ico 766B
statistics.ico 766B
configur.ico 766B
settings.ico 766B
icon1.ico 318B
ico00002.ico 318B
folder.ico 318B
add.ico 318B
dir.ico 318B
update.ico 318B
deluser.ico 318B
del.ico 318B
user.ico 318B
edit.ico 318B
edituser.ico 318B
ico00001.ico 318B
20080917.log 356B
20080918.log 356B
20081007.log 356B
共 111 条
- 1
- 2
资源评论
riyeqingsh
- 粉丝: 2
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功