菜鸟贴:如何在MFC中,控制一个button获得另一个文本框中的输入数据?

xcw_pet 2015-08-27 04:48:26
这是AES的一个VC++调用函数,我考下来实现一下, 里面mingwen.GetWindowText(s) ;和miyao.GetWindowText(s1) 应该是原贴自己定义了。 可是我不知道如何编写调用。 本想不行就将s,s1设置成一个常量。也不知道怎么弄,求哪位朋友有空帮忙看一下!!!

void Cadd_mfcDlg::OnBnClickedButton1()
{
int i;
CString s,s1;
mingwen.GetWindowText(s) ;//s用来接收明文,s1用来接收密钥
rijndael rij;//加密类的对象

length=s.GetLength();//明文长度length是Caesproject2Dlg类的成员变量
N=length/16;//每16字节一组,N是Caesproject2Dlg类的成员变量
if(length%16==0) //作用是当明文长度不是128bit整数倍时调整N值
{
N=N;
}
else
{
length=length+16-length%16;
N=N+1;
}
LPTSTR lpsz = new TCHAR[s.GetLength()+1];
_tcscpy(lpsz,s);//将明文拷贝到lpsz指向的内存

if(s.GetLength()%16!=0) //如果明文长度不是128bit的倍数用空格补齐剩余的位
{
for(i=0;i<(int)(16-s.GetLength()%16);i++)
{
lpsz[length-16+s.GetLength()%16+i]=' ';
}
}
unsigned char *e_bit;//用于指向加密后的密文
e_bit=new unsigned char [length];

miyao.GetWindowText(s1);//从文本框中取得密钥
LPTSTR k_bit = new TCHAR[256];
_tcscpy(k_bit,s1);//将密钥拷贝到k_bit指向的内存

rij.set_key((unsigned char *)k_bit,256);//设置密钥
for(int j=0;j<N;j++)//循环加密N次,每次128bit
{
rij.encrypt((unsigned char *)lpsz,e_bit);
lpsz+=16;
e_bit+=16;
}
lpsz=lpsz-16*N;//明文指针回到明文头
e_bit=e_bit-16*N;//密文指针回到密文头
miwen.SetWindowText((LPCTSTR)e_bit);//显示密文
// TODO: 在此添加控件通知处理程序代码
}
...全文
275 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_21847209 2015-08-28
  • 打赏
  • 举报
回复
你在给输入框控件设置一个变量,然后对变量进行操作就好了,就是在头上的那个给对话框添加函数的第二个标签栏里的,你看下应该是可以找到,然后给你控件加个String类型的变量就好了
二班的码农 2015-08-27
  • 打赏
  • 举报
回复
没必要用GetWindowText,直接给控件绑定一个变量,通过类向导就可以很轻松绑定一个变量 然后,用updateData来更新变量数据或刷新界面数据

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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