QQ登录

只需一步,快速开始

55上位机VC MFC编辑框写入内容到列表选择框

[ 复制链接 ]

55上位机VC MFC编辑框写入内容到列表选择框

55上位机VC MFC编辑框写入内容到列表选择框

55上位机VC MFC编辑框写入内容到列表选择框


功能展示

在编辑框输入文件,进行查找操作时,如果相同内容过多,一一的输入内容查找,显得非常麻烦,如果用户仅输入一次,我们就将全部相似内容都罗列出来供用户选择,就会十分方便和人性化,我们当前例程就来实现这功能,效果如图
要点提示
用户往编辑框每输入一个数据时都会触发一个消息EN_CHANGE,比如输入了数字0,字母o,中文啊,系统都会发EN_CHANGE消息,所以我们只要处理这个消息便可以方便实现对用户输入内容的查找





实现功能
1.新建基于对话框的应用程序
2.拖拽一编辑框和列表框控件并关联变量CListCtrl m_List;CEdit  m_Edit;并初始化控件  m_List.ModifyStyle(0L,LVS_REPORT);
  m_List.ModifyStyle(0L,LVS_SHOWSELALWAYS);
  m_List.ModifyStyle(0L,LVS_NOSORTHEADER);
  m_List.SetExtendedStyle(LVS_EX_GRIDLINES);
  m_List.InsertColumn(0,"网站名");
  m_List.InsertColumn(1,"网站类型");
  m_List.InsertColumn(2,"网址");

  m_List.SetColumnWidth(0,100);
  m_List.SetColumnWidth(1,100);
  m_List.SetColumnWidth(2,300);
3.实现数据库文件的加载:先复制我们例程的数据库文件到工程根目录;//导入 ADO动态链接库msado15.dll
#import "c:\Program Files\CommonFiles\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
再添加几个变量用于数据库文件的操作private://数据库操作变量
_ConnectionPtr m_pConnection; _RecordsetPtrm_pRecordset; CString xm,xb,csrq,gzdw,yddh,gddh ;
4.双击列表控件,添加函数实现EN_CHANGE消息的处理  CString sText; m_Edit.GetWindowText(sText);
m_List.DeleteAllItems(); if(!sText.IsEmpty()){ SetDataBase(sText); }
SetDataBase(sText()是我们自定义的函数用来实现数据库文件的加载的设置列表框内容


  1. void CGkbc8Dlg::SetDataBase(CString sql)
  2. {
  3.         ::CoInitialize(NULL);
  4.         m_pConnection=NULL;
  5.         m_pConnection.CreateInstance(__uuidof(Connection));
  6.         m_pConnection->ConnectionString="uid=;pwd=;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=mrdb.mdb;";
  7.         m_pConnection->Open(L"",L"",L"",adCmdUnspecified);
  8.         CString text;
  9.         text.Format("select * from info where xm like '%s%%'",sql);
  10.            m_pRecordset=m_pConnection->Execute((_bstr_t)text,NULL,adCmdText);

  11.         int i=0;
  12.         while(!m_pRecordset->adoEOF)
  13.         {
  14.         xm=(char*)(_bstr_t)m_pRecordset->GetCollect("xm");
  15.         xb=(char*)(_bstr_t)m_pRecordset->GetCollect("xb");
  16.         csrq=(char*)(_bstr_t)m_pRecordset->GetCollect("csrq");
  17.         gzdw=(char*)(_bstr_t)m_pRecordset->GetCollect("gzdw");
  18.         yddh=(char*)(_bstr_t)m_pRecordset->GetCollect("yddh");
  19.         gddh=(char*)(_bstr_t)m_pRecordset->GetCollect("gddh");
  20.         m_List.InsertItem(i,"");
  21.         m_List.SetItemText(i,0,xm);
  22.         m_List.SetItemText(i,1,xb);
  23.         m_List.SetItemText(i,2,csrq);
  24.         m_List.SetItemText(i,3,gzdw);
  25.         m_List.SetItemText(i,4,yddh);
  26.         m_List.SetItemText(i,5,gddh);
  27.         i+=1;
  28.         m_pRecordset->MoveNext();
  29.         }
  30.         m_pRecordset->Close();
  31.         m_pConnection->Close();
  32.         m_pRecordset=NULL;
  33.         m_pConnection=NULL;
  34.         ::CoUninitialize();
  35. }
复制代码
我们来演示下功能实现的整个过程

请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:55.上位机VC MFC编辑框写入内容到列表选择框.rar 
文件大小:176.96 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

点击查看
快速回复 返回列表 客服中心 搜索