MFC中 CEdit control控件无法显示文本
//sssDlg.cppcharIP_add[16]={0};charport[8]={0};charuname[16]={0};charpw[16]={0};CStri...
// sssDlg.cpp
char IP_add[16]={0};
char port[8]={0};
char uname[16]={0};
char pw[16]={0};
CString cur_IP,cur_port,cur_uname,cur_pw;
UINT cur_port_i=0;
BOOL CsssDlg::OnInitDialog(){
CDialogEx::OnInitDialog();
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// TODO: 在此添加额外的初始化代码
m_listCtrl.InsertColumn(0, _T("文件名"), LVCFMT_LEFT, 150);
m_listCtrl.InsertColumn(1, _T("PDA端路径"), LVCFMT_LEFT, 300);
m_listCtrl.InsertColumn(2, _T("MD5"),LVCFMT_LEFT, 300);
m_listCtrl.SetEditColomn (0,TRUE); //允许第0列可直接编辑
m_listCtrl.SetEditColomn (1,TRUE); //允许第1列可直接编辑
//m_listCtrl.SetEditColomn (2,TRUE); //允许第2列可直接编辑
m_listCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); //全行选择|表格内边框
FILE* fp;
char buf[64]={0};
int sec1,sec2,sec3,sec4;
sec1=sec2=sec3=sec4=0;
USES_CONVERSION;
errno_t err;
err=fopen_s(&fp,"FTP_login","r");//if (!());
fgets(buf,sizeof(IP_add),fp);
sscanf_s(buf,"%d.%d.%d.%d %s %s",&sec1,&sec2,&sec3,&sec4,port,8,uname,16);
sprintf_s(IP_add,"%d.%d.%d.%d\0",sec1,sec2,sec3,sec4);
m_IP.SetAddress(sec1,sec2,sec3,sec4);//IP地址可以正常显示
m_port.SetWindowTextW(A2T(port));//端口号不显示
m_username.SetWindowTextW(A2T(uname));//用户名也不显示
m_password.SetPasswordChar('*');
//m_password.SetWindowTextW(A2T(pw));
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
如上图所示,只有IP地址文本框能显示,用户名和端口号却显示不出来,求助~~ 展开
char IP_add[16]={0};
char port[8]={0};
char uname[16]={0};
char pw[16]={0};
CString cur_IP,cur_port,cur_uname,cur_pw;
UINT cur_port_i=0;
BOOL CsssDlg::OnInitDialog(){
CDialogEx::OnInitDialog();
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// TODO: 在此添加额外的初始化代码
m_listCtrl.InsertColumn(0, _T("文件名"), LVCFMT_LEFT, 150);
m_listCtrl.InsertColumn(1, _T("PDA端路径"), LVCFMT_LEFT, 300);
m_listCtrl.InsertColumn(2, _T("MD5"),LVCFMT_LEFT, 300);
m_listCtrl.SetEditColomn (0,TRUE); //允许第0列可直接编辑
m_listCtrl.SetEditColomn (1,TRUE); //允许第1列可直接编辑
//m_listCtrl.SetEditColomn (2,TRUE); //允许第2列可直接编辑
m_listCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); //全行选择|表格内边框
FILE* fp;
char buf[64]={0};
int sec1,sec2,sec3,sec4;
sec1=sec2=sec3=sec4=0;
USES_CONVERSION;
errno_t err;
err=fopen_s(&fp,"FTP_login","r");//if (!());
fgets(buf,sizeof(IP_add),fp);
sscanf_s(buf,"%d.%d.%d.%d %s %s",&sec1,&sec2,&sec3,&sec4,port,8,uname,16);
sprintf_s(IP_add,"%d.%d.%d.%d\0",sec1,sec2,sec3,sec4);
m_IP.SetAddress(sec1,sec2,sec3,sec4);//IP地址可以正常显示
m_port.SetWindowTextW(A2T(port));//端口号不显示
m_username.SetWindowTextW(A2T(uname));//用户名也不显示
m_password.SetPasswordChar('*');
//m_password.SetWindowTextW(A2T(pw));
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
如上图所示,只有IP地址文本框能显示,用户名和端口号却显示不出来,求助~~ 展开
2个回答
展开全部
你自己测试一下A2T的正确性吧。
或者试试A2T(port)改成CString(port)
或者试试A2T(port)改成CString(port)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的port和 uname 初始化在哪里了?
追问
sscanf_s(buf,"%d.%d.%d.%d %s %s",&sec1,&sec2,&sec3,&sec4,port,8,uname,16);
从文件里读出来一行buf,然后按格式%s取,A2T()转换;
代码里面都贴出来了啊
追答
呵呵,不知道那个是做什么用的。
你可以在m_password.SetPasswordChar('*'); 这里设置个断点,
你看看
port和uname 的值 具体是多少。
如果正确,就是SetWindowTextW()应用有问题了,不是的话,就是赋值时出现问题了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询