当前位置:编程学习 > VC++ >>

vc++从空的EditBox控件读取的字符是什么

比如EditBox只有5个字符 ,我获取10个赋值给一个数组,数组后5个元素师什么 相关代码GetDlgItemText(IDC_EAesEn,(char*)inBuff,32);
追问:是0吗?还是NULL?
答案:没有了,空值。
其他:随机值 如果你输出来看的话是乱码 这个EditBox无关,跟你的数组的初始值有关,在数组定义的时候,会给其中的成员初始化,各种类型的变量的初始化值是不一样的,这个你可以自己测试一下 在EDIT BOX的属性界面将Multiline勾选使其支持多行输入,再将Want return勾上使其支持回车符的输入!在ClassWizard中添加对话框的事件,并关联EDIT BOX为Control变量m_edit;然后添加对话框的PreTranslateMessage事件,事件代码如下:
BOOL CKsDlg::PreTranslateMessage(MSG* pMsg) 
{
 // TODO: Add your specialized code here and/or call the base class
 if   (WM_KEYFIRST<=pMsg->message && pMsg->message<=WM_KEYLAST)   
 { 
  if (pMsg-> wParam == VK_RETURN) 
  { 
   if (GetFocus()==GetDlgItem(IDC_EDIT1)) 
   { 
    int lines,lens=1; //定义当前行的行号,以及当前行长度
    lines=m_edit.LineIndex(-1);//获取当前输入行的行号
       lens=m_edit.LineLength(lines);
    
  char *mstr=new char[lens]; //定义一个字符串指针用来获取当前行的内容
   m_edit.GetLine(lines,mstr,lens); //取得当前行的内容
   CString strs; //定义一个C++字符串类变量
   strs.Format("%s",mstr);//将当前行的内容转换成CString类;
   delete mstr;//释放mstr所占的空间
   这里输入你想要执行的操作!比如要执行的命令,我不知道你想要执行什么类型的命令所以这里能给你写出来
   this->SetFocus();//这里把焦点转回给对话框,否则可能会执行两次当前事件!
   } 
  } 
 } 
  return   CDialog::PreTranslateMessage(pMsg); 
}

上一个:如何在VC中调用Matlab编译的cpp文件
下一个:怎样改变.vc++生成的Debug,cpp,html,ncb,opt,dsp,dsw文件生成的位置

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,