设为首页 加入收藏

TOP

7.5.4 车站查询的实现(1)
2013-10-07 14:53:47 来源: 作者: 【 】 浏览:64
Tags:7.5.4 车站 查询 实现

7.5.4  车站查询的实现(1)

车站的查询同车次的查询是类似的,它也是作为Tab的一个属性页。添加一个对话框资源,将ID改为IDD_ROADWAY,修改对话框的属性。在对话框上添加如图7-18所示的控件。

 
图7-18  车站查询界面

在对话框界面上空白区域双击,进入添加类界面。为对话框创建一个新类CStaionWayView。通过类向导更改控件的ID和为控件添加相应的变量,添加WM_INITDIALOG消息响应函数OnInitDialog(),该函数中代码如下:

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

  1. 1  BOOL CStaionWayView::OnInitDialog()  
  2. 2  {  
  3. 3   CPropertyPage::OnInitDialog();  
  4. 4      DWORD style=m_list.GetExtendedStyle();               //获取列表控件的风格  
  5. 5   m_list.SetExtendedStyle(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);  
  6. 6   m_list.InsertColumn(0,"车次",LVCFMT_LEFT,50);         //向列表控件中插入列  
  7. 7   m_list.InsertColumn(1,"起始站",LVCFMT_LEFT,70);  
  8. 8   m_list.InsertColumn(2,"终点站",LVCFMT_LEFT,70);  
  9. 9   m_list.InsertColumn(3,"发车时间",LVCFMT_LEFT,70);  
  10. 10      m_list.InsertColumn(4,"停止时间",LVCFMT_LEFT,70);  
  11. 11      return TRUE;  
  12. 12  }  

第3~10行代码为列表控件初始化,设置列表控件的风格、列的宽度及标题。

上述代码用列表控件的初始化函数SetExtendedStyle()设置列表控件的风格,而函数InsertColumn()实现设置列表控件的列标题。给【查询】按钮添加消息响应函数,该消息函数中具体代码如下:

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

  1. 1  void CStaionWayView::OnButton1()  
  2. 2  {  
  3. 3       UpdateData(true);                                   //保存数据  
  4. 4   int i=0;                                                //定义整型变量  
  5. 5   bool flag=false;                                        //定义布尔型变量  
  6. 6   CFont m_font;                                           //定义字体  
  7. 7   m_list.SetBkColor(RGB(247,247,255));                    //设置列表控件背景色  
  8. 8   m_list.SetTextColor(RGB(0,0,255));                      //设置列表控件文字色  
  9. 9   CString str,str1;                                       //定义字符串变量  
  10. 10      m_list.DeleteAllItems();                                //删除列表控件所有项  
  11. 11      CBusSet m_pBusSet;                                  //定义记录集变量  
  12. 12      CStationSet m_pStationSet;                              //定义记录集变量  
  13. 13      m_pBusSet.Open();                                       //打开记录集  
  14. 14      m_pStationSet.Open();                                   //打开记录集  
  15. 15      m_pStationSet.MoveFirst();                              //移动到首条记录  
  16. 16      while(!m_pStationSet.IsEOF())                           //遍历记录集  
  17. 17      {  
  18. 18          if(m_station==m_pStationSet.m_STATION)              //查找匹配数据  
  19. 19          {  
  20. 20              m_pBusSet.MoveFirst();                      //移动到首条记录  
  21. 21              while(!m_pBusSet.IsEOF())                       //遍历记录集  
  22. 22              {  
  23. 23                  if(m_pStationSet.m_ID==m_pBusSet.m_ID_BUS)  //查找匹配数据  
  24. 24                  {  
  25. 25                      m_list.InsertItem(i,m_pBusSet.m_ID_BUS);    //插入数据到列表中  
  26. 26                      m_list.SetItemText(i,1,m_pBusSet.m_BEGIN);  
  27. 27                      m_list.SetItemText(i,2,m_pBusSet.m_END);  
  28. 28                      m_list.SetItemText(i,3,m_pBusSet.m_AMTIME);  
  29. 29                      m_list.SetItemText(i,4,m_pBusSet.m_PMTIME);  
  30. 30                      flag=true;                          //改变标记  
  31. 31                      i++;  
  32. 32                      break;  
  33. 33                  }  
  34. 34                  else  
  35. 35                      m_pBusSet.MoveNext();                   //移动到下一条记录  
  36. 36              }  
  37. 37          }  
  38. 38          m_pStationSet.MoveNext();                           //移动到下一条记录  
  39. 39      }  
  40. 40      m_pBusSet.Close();  
  41. 41      m_pStationSet.Close();                          //关闭记录集  
  42. 42     CMainFrame *pFrame=(CMainFrame *)AfxGetMainWnd();        //获取主框架指针  
  43. 43      CMapPublicView *pView=(CMapPublicView *)(pFrame->m_wndSplitter.GetPane   
  44.         (0,0));  
  45. 44      pView->FindArea(m_station);                         //显示查询站点  
  46. 45      if(!flag)                                           //如果没有找到数据  
  47. 46          MessageBox("输入站点不存在!");  
  48. 47  }  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++程序设计(第8版) 译者序 下一篇7.4.3 数据库关系图(2)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: