FTP客户端课程设计报告书(2)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) {
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } }
SetIcon(m_hIcon, TRUE); SetIcon(m_hIcon, FALSE); m_ctrBinary.SetCheck(1); m_ctrActive.SetCheck(1);
m_editPort.SetWindowText(\ bBinary1 = 1; // 使用二进制 bPassive1 = 0; // 使用主动 myPort = 21;
m_imgList.Create(20,20,ILC_COLOR32,0,0); // 创建图像列表 m_imgList.SetBkColor(RGB(255,255,255)); // 文件夹图标
hIconFold = ::LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_FOLDER)); // 文件图标
hIconFile = ::LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_FILE)); m_imgList.Add(hIconFold); m_imgList.Add(hIconFile);
m_ctrlLocalFile.SetImageList(&m_imgList,LVSIL_SMALL); // 关联 m_ctrlServerFile.SetImageList(&m_imgList,LVSIL_SMALL); // 关联 m_editServer.SetWindowText(\ m_editName.SetWindowText(\ m_editPassword.SetWindowText(\ m_btnCon.EnableWindow(TRUE); m_btnClo.EnableWindow(FALSE);
m_ctrlLocalFile.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); m_ctrlServerFile.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); m_ctrlLocalFile.InsertColumn(0,\文件名\设置列 m_ctrlLocalFile.InsertColumn(1,\文件类型\ m_ctrlLocalFile.InsertColumn(2,\修改日期\
m_ctrlServerFile.InsertColumn(0,\文件名\设置列 m_ctrlServerFile.InsertColumn(1,\文件类型\ m_ctrlServerFile.InsertColumn(2,\修改日期\ // 添加硬盘盘符
size_t szAllDriveStrings=::GetLogicalDriveStrings(0,NULL);
TCHAR *pDriveStrings=new TCHAR[szAllDriveStrings+sizeof(_T(\ GetLogicalDriveStrings(szAllDriveStrings,pDriveStrings); size_t szDriveString=::strlen(pDriveStrings);
第5页
while(szDriveString>0) {
m_ctrlLocal.AddString(pDriveStrings); pDriveStrings+=szDriveString+1;
szDriveString=::strlen(pDriveStrings); }
int index = m_ctrlLocal.FindString(0,\ m_ctrlLocal.SetCurSel(index);
m_strLocPath = \初始化为c盘 ListLocFile();
cFtpOpr.setEidt(&m_ediMessage);
return TRUE; // return TRUE unless you set the focus to a control }
void CFtpDlg::OnSysCommand(UINT nID, LPARAM lParam) {
if ((nID & 0xFFF0) == IDM_ABOUTBOX) {
CAboutDlg dlgAbout; dlgAbout.DoModal(); } else {
CDialog::OnSysCommand(nID, lParam); } }
void CFtpDlg::OnPaint() {
if (IsIconic()) {
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; dc.DrawIcon(x, y, m_hIcon); } else {
CDialog::OnPaint(); } }
第6页
HCURSOR CFtpDlg::OnQueryDragIcon() {
return (HCURSOR) m_hIcon; }
// 连接服务器
void CFtpDlg::OnBtnConnect() {
// TODO: Add your control notification handler code here
m_editServer.GetWindowText(m_strServer); // 记录FTP服务器地址 CString strtemp;
m_editPort.GetWindowText(strtemp);
myPort = ::atoi(strtemp); // 获得设置的端口号 int i;
if (bAnony == 0) {// 不使用匿名
m_editName.GetWindowText(m_strName); // 记录FTP登陆用户名 m_editPassword.GetWindowText(m_strPassword); // 记录FTP登陆用户密码 i = cFtpOpr.set(m_strServer,m_strName,m_strPassword); } else
{// 使用匿名
CString strNameTemp;
m_editName.GetWindowText(strNameTemp); // 匿名登陆的用户名 i = cFtpOpr.set(m_strServer,strNameTemp,\ }
if (i)
{// 设置成功,打开连接
if (cFtpOpr.OpenConnection()) {// 连接成功
m_btnClo.EnableWindow(TRUE); m_btnCon.EnableWindow(FALSE);
UpdateServerFile();// 更新服务器的文件显示 m_ctrlServer.ResetContent(); CString temp;
cFtpOpr.GetPath(temp);
m_ctrlServer.AddString((LPSTR)(LPCTSTR)temp); m_ctrlServer.SetCurSel(0);
m_chkAnony.EnableWindow(FALSE); m_ctrActive.EnableWindow(FALSE);
CButton *temp2 =(CButton*)GetDlgItem(IDC_PASSIVE); temp2->EnableWindow(FALSE); m_editPort.EnableWindow(FALSE); } else
第7页
{
// 连接失败 } } }
void CFtpDlg::OnBtnClose() {// 关闭连接
if (cFtpOpr.CloseConnection()) {// 关闭成功
m_btnClo.EnableWindow(FALSE); m_btnCon.EnableWindow(TRUE);
m_ctrlServerFile.DeleteAllItems(); m_ctrlServer.ResetContent(); m_ctrActive.EnableWindow(TRUE);
CButton *temp2 =(CButton*)GetDlgItem(IDC_PASSIVE); temp2->EnableWindow(TRUE); m_editPort.EnableWindow(TRUE); m_chkAnony.EnableWindow(TRUE); } }
// 双击本地文件列表控件中的选项
void CFtpDlg::OnDblclkListLocalfile(NMHDR* pNMHDR, LRESULT* pResult) {
// TODO: Add your control notification handler code here POSITION p=m_ctrlLocalFile.GetFirstSelectedItemPosition(); if (p == NULL) {
return; }
//获取刚选取的位置的下标(从0开始的)
int index = m_ctrlLocalFile.GetNextSelectedItem(p); //获得选中的内容
//得到第index行.第0列的内容(下标从0开始)
CString FirstColumn=m_ctrlLocalFile.GetItemText(index,0); CString SecondColumn = m_ctrlLocalFile.GetItemText(index,1); if (index == 0) // 返回上层目录 {
int k = m_strLocPath.GetLength() - 1; if (m_strLocPath.Right(2) == \ {
return; }
// 删除当层的项目
int ix = m_ctrlLocal.FindString(0,m_strLocPath);
第8页
if (ix != CB_ERR) {
m_ctrlLocal.DeleteString(ix); }
for (int j = k -1; j >= 2;--j) {
if (m_strLocPath.GetAt(j) == '\\\\') {
m_strLocPath = m_strLo …… 此处隐藏:3480字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




