// MainFrm.cpp : implementation of the CMainFrame class
//
#include "stdafx.h"
#include "FtpClient.h"
#include "FtpClientView.h"
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMainFrame
BOOL IsFree;
CFtpInfoView* pFtpInfoView;
CLocFileView* pLocView;
CServFileView* pServView;
char szAppName[256];
char szFtpName[256];
char szFtpUser[20];
char szFtpPassword[20];
char szFtpDirectory[MAX_PATH];
char szLocDirectory[MAX_PATH];
int nPort;
int nCount;
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_COMMAND_EX(CG_ID_VIEW_MYDIALOGBAR, OnBarCheck)
ON_UPDATE_COMMAND_UI(CG_ID_VIEW_MYDIALOGBAR, OnUpdateControlBarMenu)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_BN_CLICKED(IDC_QUICKCONNECT, OnQuickconnect)
ON_COMMAND(ID_FILE_DISCONNECT, OnFileDisconnect)
ON_COMMAND(ID_FILE_STOP, OnFileStop)
ON_UPDATE_COMMAND_UI(ID_FILE_DISCONNECT, OnUpdateFileDisconnect)
ON_COMMAND(IDC_FILE_RECONNECT, OnFileReconnect)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction
CMainFrame::CMainFrame()
{
m_bConnected=FALSE;
}
CMainFrame::~CMainFrame()
{
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
CImageList imageList;
CBitmap bitmap;
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
// TODO: Delete these three lines if you don't want the toolbar to
// be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
// TODO: Add a menu item that will toggle the visibility of the
// dialog bar named "My Dialog Bar":
// 1. In ResourceView, open the menu resource that is used by
// the CMainFrame class
// 2. Select the View submenu
// 3. Double-click on the blank item at the bottom of the submenu
// 4. Assign the new item an ID: CG_ID_VIEW_MYDIALOGBAR
// 5. Assign the item a Caption: My Dialog Bar
// TODO: Change the value of CG_ID_VIEW_MYDIALOGBAR to an appropriate value:
// 1. Open the file resource.h
// CG: The following block was inserted by the 'Dialog Bar' component
{
// Initialize dialog bar m_wndMyDialogBar
if (!m_wndMyDialogBar.Create(this, CG_IDD_MYDIALOGBAR,
CBRS_TOP | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_HIDE_INPLACE,
CG_ID_VIEW_MYDIALOGBAR))
{
TRACE0("Failed to create dialog bar m_wndMyDialogBar\n");
return -1; // fail to create
}
m_wndMyDialogBar.EnableDocking(CBRS_ALIGN_TOP | CBRS_ALIGN_BOTTOM);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndMyDialogBar);
m_wndMyDialogBar.SetDlgItemText(IDC_FTPPORT,"21");
m_wndMyDialogBar.SetDlgItemText(IDC_FTPNAME,"10.13.21.66");
m_wndMyDialogBar.SetDlgItemText(IDC_FTPUSER,"Anonymous");
m_wndMyDialogBar.SetDlgItemText(IDC_FTPPASSWORD,"Anonymous");
}
return 0;
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return TRUE;
}
CString CMainFrame::GetFtpName()
{
CString str;
m_wndMyDialogBar.GetDlgItemText(IDC_FTPNAME,str);
return str;
}
int CMainFrame::GetFtpPort()
{
CString str;
m_wndMyDialogBar.GetDlgItemText(IDC_FTPPORT,str);
int i=atoi(str);
return i;
}
CString CMainFrame::GetFtpUser()
{
CString str;
m_wndMyDialogBar.GetDlgItemText(IDC_FTPUSER,str);
return str;
}
CString CMainFrame::GetFtpPassword()
{
CString str;
m_wndMyDialogBar.GetDlgItemText(IDC_FTPPASSWORD,str);
return str;
}
void CMainFrame::OnQuickconnect()
{
GetFtpPara(&(pServView->m_ctServDir));
if(!pServView->BeginFindServFile())
AfxMessageBox("建立网络线程失败");
m_bConnected=TRUE;
}
void CMainFrame::GetFtpPara(CComboBoxEx* pCombo)
{
CString str;
strcpy(szAppName,AfxGetAppName());
strcpy(szFtpPassword,GetFtpPassword());
strcpy(szFtpName,GetFtpName());
nPort=GetFtpPort();
pCombo->GetWindowText(str);
strcpy(szFtpDirectory,str);
strcpy(szFtpUser,GetFtpUser());
}
/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics
#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
CFrameWnd::AssertValid();
}
void CMainFrame::Dump(CDumpContext& dc) const
{
CFrameWnd::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers
//////////////////////////////////////////////////////////////////////
// CFtpParaClass Class
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CFtpParaClass::CFtpParaClass()
{
HIMAGELIST hImageList;
SHFILEINFO shFi;
hImageList=(HIMAGELIST)SHGetFileInfo("C:\\",0,&shFi,sizeof(shFi),
SHGFI_SYSICONINDEX|SHGFI_SMALLICON);
if(!hImageList)
return ;
m_ctImageList.m_hImageList=hImageList;
m_hDragCursor=AfxGetApp()->LoadIcon(IDI_CURSOR);
m_bDragging=FALSE;
}
CFtpParaClass::~CFtpParaClass()
{
if(m_ctImageList.m_hImageList)
m_ctImageList.Detach();
}
void CFtpParaClass::SetFileColumns(CListCtrl* pListCtrl)
{
static struct
{
LPSTR pszText;
int uiFormat;
}columns[]={
_T("文件名"),LVCFMT_LEFT,
_T("日期"),LVCFMT_CENTER,
_T("字节数"),LVCFMT_CENTER
};
for(int i=0,j=120;i<sizeof(columns)/sizeof(columns[0]);i++,j-=10)
pListCtrl->InsertColumn(i,columns[i].pszText,columns[i].uiFormat,j);
}
void CFtpParaClass::SetPopMenu(int nIndex)
{
CMenu dMenu;
if(!dMenu.LoadMenu(IDR_LOC_SERV_MENU))
AfxThrowResourceException();
CMenu* pPopMenu=dMenu.GetSubMenu(nIndex);
ASSERT(pPopMenu!=NULL);
POINT pt;
::GetCursorPos(&pt);
pPopMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,pt.x,pt.y,AfxGetMainWnd());
}
BOOL CFtpParaClass::SetImageList(CListCtrl* pListCtrl,CComboBoxEx* pCombo)
{
pListCtrl->SetImageList(&m_ctImageList,LVSIL_SMALL);
if(!pCombo)
return TRUE;
pCombo->SetImageList(&m_ctImageList);
return TRUE;
}
void CFtpParaClass::GetFileIcon(CString& fileName,int* iIcon,int* iIconSel)
{
CString str=fileName;
if(str.Right(1)!="\\")
str+="\\";
SHFILEINFO shFi;
if(!SHGetFileInfo(str,0,&shFi,sizeof(shFi),SHGFI_ICON|SHGFI_SMALLICON|SHGFI_DISPLAYNAME))
{
AfxMessageBox("111");
return;
}
*iIcon=shFi.iIcon;
DestroyIcon(shFi.hIcon);
if(iIconSel)
{
if(!SHGetFileInfo(str,0,&shFi,sizeof(shFi),SHGFI_ICON|SHGFI_SMALLICON|SHGFI_OPENICON|SHGFI_DISPLAYNAME))
{
AfxMessageBox("222");
return;
}
*iIconSel=shFi.iIcon;
DestroyIcon(shFi.hIcon);
}
// fileName=shFi.szDisplayName;
return ;
}
void CFtpParaClass::OnInsertFile(CListCtrl* pListCtrl,LPVOID pIn,LPARAM lParam)
{
FILE_FTP_INFO*pInfo=(FILE_FTP_INFO*)pIn;
LVITEM lvIt;
int iIcon,nItem;
if(pInfo->nType==DIRECTORYICON)
nItem=0;
else
nItem=pListCtrl->GetItemCount();
CString fileName=pInfo->szFileName;;
if((int)lParam==LOCFILE)
GetFil
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
FTP.rar_ftp_surroundednev_tracku4w_widea9b_下载文件 (119个子文件)
FtpClient.aps 36KB
SFTP.APS 35KB
1.bmp 27KB
2.bmp 27KB
toolbar_.bmp 27KB
bmp00001.bmp 26KB
bitmap1.bmp 3KB
mainfram.bmp 3KB
Toolbar.bmp 1KB
bmp00001.bmp 886B
Toolbar.bmp 726B
file_bit.bmp 366B
UP1LVL.BMP 246B
SFTP.bsc 3.07MB
SFTP.clw 3KB
FtpClient.clw 3KB
MainFrm.cpp 60KB
FTPClient.cpp 12KB
SFTPView.cpp 7KB
LocalFileView.cpp 6KB
FtpClient.cpp 4KB
SFTP.cpp 4KB
SFTPDoc.cpp 4KB
FtpClient1.cpp 4KB
MyFtpClass.cpp 4KB
FtpClientView.cpp 3KB
SetupDlg.cpp 2KB
MainFrm.cpp 2KB
FtpClientDoc.cpp 2KB
ListItem.cpp 2KB
InfoView.cpp 2KB
MessageDlg.cpp 1KB
MyThread.cpp 1010B
FTPSocket.cpp 864B
StdAfx.cpp 210B
StdAfx.cpp 206B
NODROP01.CUR 326B
SFTP.dsp 5KB
FtpClient.dsp 5KB
FtpClient.dsw 543B
SFTP.dsw 533B
FtpClient.exe 188KB
SFTP.exe 160KB
SFTP.exe 160KB
MainFrm.h 11KB
SFTPView.h 2KB
LocalFileView.h 2KB
Resource.h 2KB
FtpClientView.h 2KB
resource.h 2KB
SFTPDoc.h 2KB
FtpClientDoc.h 1KB
InfoView.h 1KB
MainFrm.h 1KB
SetupDlg.h 1KB
FTPClient.h 1KB
FtpClient.h 1KB
MyThread.h 1KB
SFTP.h 1KB
MessageDlg.h 1KB
MyFtpClass.h 1KB
FtpClient1.h 1KB
FTPSocket.h 1KB
StdAfx.h 1KB
StdAfx.h 1KB
ListItem.h 691B
SFTPDoc.ico 1KB
SFTP.ico 1KB
FtpClient.ico 1KB
xiongFtp.ico 1KB
cursor.ico 1KB
FtpClientDoc.ico 1KB
vc60.idb 233KB
vc60.idb 217KB
FtpClient.ilk 616KB
SFTP.ilk 468KB
FtpClient.ncb 193KB
SFTP.ncb 113KB
MainFrm.obj 276KB
StdAfx.obj 105KB
StdAfx.obj 104KB
FTPClient.obj 69KB
SFTPDoc.obj 38KB
SFTPView.obj 35KB
FtpClient.obj 26KB
SFTP.obj 23KB
FtpClientView.obj 22KB
MainFrm.obj 20KB
SetupDlg.obj 19KB
MessageDlg.obj 16KB
FtpClientDoc.obj 15KB
ListItem.obj 12KB
FTPSocket.obj 7KB
FtpClient.opt 73KB
SFTP.opt 63KB
SFTP.pch 6.71MB
FtpClient.pch 5.26MB
FtpClient.pdb 521KB
SFTP.pdb 433KB
vc60.pdb 380KB
共 119 条
- 1
- 2
资源评论
JaniceLu
- 粉丝: 85
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功