教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
firefox火狐浏览器下载
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
精彩图库
  当前位置: 库库中文网 · 系统编程教程 · C++语言 · C++综合文章

用C++ Builder创建组合框

学院最新推荐文章
教程推荐
『用C++ Builder创建组合框』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2006-12-14 

在C++ Builder 下,其所带的Combo控件当内容发生变化时将调用OnChange的Combo1Change事件句柄。这时事件句柄将向系统发送一条基于Combo的CB—FINDSTRING消息,在消息中传递编辑字符串内容。该消息的SendMessage返回值是下拉框中第一个匹配条目的Index值,如果在下拉列表框中找到相匹配的条目,Comobo1Change句柄将发送一条基于Combo的CB—SETEDITSEL消息,该消息的参数确定从插入点到字符串结尾的部分将被选择。结果是被选中的部分是作为消息搜索结果显示在Combo的Text值中。

具体实现:

1、在进入C++ Builder 4.0以后,在窗体上画一个CmoboBox1,在Items中输入anlantic faloncs、China、Japanese、Amercia等字符串。

2、创建ComboBox1的OnChange句柄,并填入如下代码:

void —fastcall TForm1::ComboBox1Change(TObject *Sender)

{

String value = ComboBox1-〉Text ;

if (lastkey == ′\b′ || lastkey == VK—DELETE)// 如果用户输入的是Delete键或是Tab键,搜索不进行//

{

lastkey = 0 ;

return ;

}

lastkey = 0 ;

if (ComboBox1-〉SelStart != value.Length ())//如果用户的光标在输入字符串的中间,搜索不进行//

return ;

int index = SendMessage (ComboBox1-〉Handle, CB—FINDSTRING, -1, (LPARAM) value.c—str ()) ;

//在下来列表框寻找与用户输入字符串相匹配的字符串的索引值//

if (index 〉= 0)//如果索引值〉0//

{

ComboBox1-〉ItemIndex = index ;

SendMessage (ComboBox1-〉Handle, CB—SETEDITSEL, 0, MAKELPARAM (value.Length (), -1)) ;

//发送CB_SETEDITSEL消息//

}

}

3、创建ComboBox1的KeyDown句柄,并填入如下代码:

void —fastcall TForm1::ComboBox1KeyDown(TObject *Sender, WORD &Key,

TShiftState Shift)

{

lastkey = Key ;//保存最后的键//

}

4、在头文件中增加如下变量:

Private:WORD LastKey;

5、编译运行。当用户输入在输入框中输入Chi时,便出现China整个字符串。

以上方法在Pwin 98和C++Builder 4.0 Enterprise版中实现。有时想让控件实现一些不大可能的功能,试试Windows的Api 函数,或许它可以让你梦想成真。



作者:无 来源:无
】【关闭窗口
·上页:
·下页:
相关文章
     系统编程教程 - C++综合文章
普通教程soap实际示例 客户端(c++) + 服
普通教程soap实际示例 客户端(c++) + 服
普通教程钩子地类型和完成
普通教程传递数据结构参数和字符串参数时
普通教程C# 命名准则与设计习惯
普通教程关于调用DTS包地代码
普通教程求值表达式
普通教程用C语言描述数据结构
普通教程Visual C++完成文件间成批转换功
普通教程运用VB设计SAP接口程序初探
普通教程VC小灵活技术20个
普通教程用Visual C++操作INI文件
精彩图片汇集
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光