3.6.4 编号信息的动态获取

2013-10-07 14:50:40 · 作者: · 浏览: 60

3.6.4  编号信息的动态获取

上一节主要完成了界面的设计,由于功能代码均没添加,所以单击界面上的控件都不会起作用,本节将介绍如何实现前台销售功能。

首先,在对话框上的空白区域双击,给该前台销售对话框建立一个类CForeMange,通过类向导给各个编辑框、List控件添加变量,给7个按钮添加单击消息函数,给商品编号对应的编辑框添加EN_KILLFOCUS消息,动态获取编号商品信息。在CForeMange类中编写代码实现模块功能。这里将介绍编辑框数据输入时动态显示查找结果的方法,具体代码如下:

代码位置:见光盘中本章源代码的CForeMange类。

  1. 1  void CForeMange::OnKillfocusMercid()  
  2. 2  {  
  3. 3   CString sqlstr;  
  4. 4   UpdateData();                                       //保存用户输入数据  
  5. 5   if(m_id=="")return;  
  6. 6   sqlstr.Format("select * from tb_merchangiseinfo where id='%s'",m_id);                                                                   //构造打开表SQL语句  
  7. 7   if(GetRecord(sqlstr)==0)                                //如果没有记录  
  8. 8   {  
  9. 9       MessageBox("没有该商品");  
  10. 10          GetDlgItem(IDC_MERCID)->SetFocus();                 //设置编辑框焦点  
  11. 11          return;  
  12. 12      }  
  13. 13  }  

注意:此处只是实现了编号输入时商品有无的动态判断,判断的依据就是用编号构造SQL语句查询,若返回的结果为0,则没有该商品信息。其中第7行所用到的函数GetRecord()具体代码和前面第3.5.4节一样,在此不再介绍。要实现编号对应的商品信息,还需要添加PreTranslateMessage()消息,对键盘的各种消息进行处理。