C#调用API,从Control继承自已生成ComboBox控件!!!!

用C#做智能设备的程序.因为设备的操作系统是PPC2002,所以只能采用Compact Framework1.0框架,这个版本的框架的ComboBox的DropDownStyle只提供了DropDownList,不提供DropDown,而我要实现可输入的DropDown.

做CF程序的应该都知道OpenNETCF这个优秀的开源项目,它里面的ComboBoxEx是继承自ComboBox的,里面也不过是实现了FindString这样的方法,但还是没有提供DrowDown样式.另个,这个开源框架里还有一个ControlEx的抽象基类,允许我们从这个类继承,用CreateWindowEx来创建Win32的控件.我现在的做法是从这个ControlEx继承了下来,创建的控件在程序运行起来后可见.但我用SendMessage(this.ChildHandle, (int)CB.ADDSTRING, 0, pString);这种方法增加项目,返回值是成功的,但是下拉列表里确是空的.我又用SendMessage(this.ChildHandle, (int)CB.GETLBTEXT, index, ptr);这种方法取得项目都是正确的,也就是说确确实实项目是添加进去了,但就是不显示出来.

我尝试在完整版的Framework下实现这个控件,完整版下的Control比在精简版下实现继承要方便得多.但是显示的界面还是不对,只有类似于Textbox的一个控件,连下拉按钮都没有,在精简版下至少还有个按钮.

为了这个问题我已经弄了三天了,头晕脑涨,我知道我把帖子发到首页是不对的,在这里我表示我的谦意,但是这方面的资料实在太少了,园里肯定有高手懂得WinSDK和C#的框架,希望能帮我搞定这个问题!

另外,把TextBox放在Combo上面的方式我已经实验过了,虽然能通过,但是我就是想知道如何继承Control后对标准控件就行包装!

我的联系方式:
 

ComboBox包装的测试源码下载

转载于:https://www.cnblogs.com/fxwdl/archive/2007/07/07/809242.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值