请给个CListCtrl关于添加了若干行若干列后,其形成的单元格内容是文本,期望此文本框是可编辑的!!

zhaolixin007 2011-02-17 09:45:30
如题,请给个例子,因为我司无法上外网,除了CSDN啊,博客园等,如果给链接最好给个CSDN的,十分感谢
...全文
81 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaolixin007 2011-04-13
  • 打赏
  • 举报
回复
);

return FALSE;

}
else
{
//AfxMessageBox("下载成功");
//delete ConnInfom;
return TRUE;
}
}
void CFtpLoad::ParseRecvMsg(CString RecvMsg )
{
//解析FTP上传所需参数
CString csRecvMsg("");
csRecvMsg = RecvMsg;
int ipos =csRecvMsg.Find("ftp:/");
ipos = csRecvMsg.GetLength() -ipos;
csRecvMsg = csRecvMsg.Right(ipos - 6);

CString csUserName("");
csUserName = csRecvMsg.Left(csRecvMsg.Find(':')); //用户名

ipos = csRecvMsg.Find(":");
ipos = csRecvMsg.GetLength() -ipos;
csRecvMsg = csRecvMsg.Right(ipos-1);
CString csPassWord(""); //密码
csPassWord = csRecvMsg.Left(csRecvMsg.Find('@'));

//csRecvMsg = csRecvMsg.Right(csRecvMsg.Find('@'));

ipos = csRecvMsg.Find("@");
ipos = csRecvMsg.GetLength() -ipos;
csRecvMsg = csRecvMsg.Right(ipos-1);
CString csIp(""); //IP
csIp = csRecvMsg.Left(csRecvMsg.Find(':'));

ipos = csRecvMsg.Find(":");
ipos = csRecvMsg.GetLength() -ipos;
csRecvMsg = csRecvMsg.Right(ipos-1);

CString csPort("");
csPort =csRecvMsg.Left(csRecvMsg.Find("/")); //Port
char * szPort = csPort.GetBuffer();

INTERNET_PORT iPort;
iPort=(INTERNET_PORT) atoi(szPort);

ipos = csRecvMsg.Find("/");
ipos = csRecvMsg.GetLength() -ipos;
csRecvMsg = csRecvMsg.Right(ipos-1);

CString csRemotePath("");
csRemotePath = csRecvMsg.Left(csRecvMsg.ReverseFind('//')); //远程路径

CString csFilePath("");

//CString csFileName("");

m_ConnParam.m_csIp = csIp;
m_ConnParam.m_csUser = csUserName;
m_ConnParam.m_Port = iPort;
m_ConnParam.m_csPwsd = csPassWord;
m_ConnParam.m_csRemotePath = csRemotePath;

}
BOOL CTL1DefaultReply::UpLoadFileWithFTP(CString csPathFile,OperateType operType)
{
if (csPathFile.Find("/") == -1 && csPathFile.Find("\\") == -1)
{
return FALSE;
}

int index = csPathFile.ReverseFind('\\');
if (index == -1)
{
index = csPathFile.ReverseFind('/');
}
CString FileName = csPathFile.Right(csPathFile.GetLength() - index - 1);
switch(operType)
{
case NONE_DOING:
break;
case UP_FILE:
m_FtpClient.ParseRecvMsg(m_csRevMsg);
m_FtpClient.FtpUpLoadExcute(csPathFile,FileName);
break;
case DOWN_FILE:
m_FtpClient.ParseRecvMsg(m_csRevMsg);
m_FtpClient.FtpDownLoadExcute(csPathFile,FileName);
break;
default:
break;
}
return TRUE;
}

zhaolixin007 2011-04-13
  • 打赏
  • 举报
回复
#include "stdafx.h"
#include "FtpLoad.h"
CFtpLoad::CFtpLoad()
{
m_pInetSession = new CInternetSession;
m_bConnected = FALSE;
}
CFtpLoad::~CFtpLoad()
{
delete m_pInetSession;
}
BOOL CFtpLoad::FtpConn()
{
try
{
m_pFtpConnection = m_pInetSession->GetFtpConnection(m_ConnParam.m_csIp,
m_ConnParam.m_csUser,m_ConnParam.m_csPwsd ,m_ConnParam.m_Port,true);
if(!m_pFtpConnection)
{
m_bConnected = FALSE;
TRACE("GetFtpConnection FAILED!\n");
return FALSE;
}
}
catch (...)
{
m_bConnected = FALSE;
TRACE("GetFtpConnection FAILED!\n");
return FALSE;
}

m_bConnected = TRUE;

return TRUE;
}
BOOL CFtpLoad::FtpUpLoadExcute(CString csLocalFile,CString csRemoteFile)
{
BOOL ret;
if (m_bConnected == FALSE)
{
ret = FtpConn();
}
if(!ret)
{
return FALSE;
}

//csRemoteFile = csRemoteFile+csLocalFile.Right(csLocalFile.ReverseFind('/')) ;
ret = m_pFtpConnection->PutFile(csLocalFile,m_ConnParam.m_csRemotePath + "/" + csRemoteFile);
if(!ret)
{
ret = FtpConn();
if (ret == FALSE)
{
return FALSE;
}

ret = m_pFtpConnection->PutFile(csLocalFile,m_ConnParam.m_csRemotePath + "/" + csRemoteFile);

return FALSE;
}
else
{
//AfxMessageBox("上传成功");
return TRUE;
}

}
BOOL CFtpLoad::FtpDownLoadExcute(CString csLocalFile,CString csRemoteFile)
{
BOOL ret;
if (m_bConnected == FALSE)
{
ret = FtpConn();

if (ret == FALSE)
{
return FALSE;
}
}
if(!m_pFtpConnection)
{
return FALSE;
}

ret = m_pFtpConnection->GetFile(m_ConnParam.m_csRemotePath + "/" + csRemoteFile,csLocalFile,FALSE,FILE_ATTRIBUTE_NORMAL,FTP_TRANSFER_TYPE_BINARY,1);

if(!ret)
{
ret = FtpConn();
if (ret == FALSE)
{
return FALSE;
}
m_pFtpConnection->GetFile(m_ConnParam.m_csRemotePath + "/" + csRemoteFile,csLocalFile,FALSE,FILE_ATTRIBUTE_NORMAL,FTP_TRANSFER_TYPE_BINARY,1
zhaolixin007 2011-02-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fishion 的回复:]
简单的就是创建一个编辑框,指定父窗口为listctrl,需要的时候就显示在特定位置上,不需要用时就隐藏起来
[/Quote]
嗯,他们的代码也是这样写的,非常感谢,给分!
fishion 2011-02-17
  • 打赏
  • 举报
回复
简单的就是创建一个编辑框,指定父窗口为listctrl,需要的时候就显示在特定位置上,不需要用时就隐藏起来

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧