许燕玲俯卧撑那一期图:使DataGrid控件的单元格具有下拉功能

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 01:43:26
使DataGrid控件的单元格具有下拉功能2008-06-18 22:53

    经常看到有些软件的列表中单元格具有类似下列组合框一样的功能,如图:

    在VB的DataGrid和MSFlexGrid控件中都没有这个功能。在网上找了一些类,大多用VC编写的,有些太复杂了,而且使用时容易出问题。自己又不太熟悉DLL的编写,不好调试。最后想了个办法,在DataGrid上使用Combo Box控件,基本上可以实现类似的功能。
    在窗体上添加一个DataGrid控件,一个Combo Box控件。Combo Box控件默认设为为不可见。然后在DataGrid控件的MouseUp事件中加入代码,作用是当用户点击表格时,判断鼠标所点击的行和列。如果是要使用下拉功能的列,则在所点击的单元格的位置显示Combo Box控件(记得在窗体上放置时要将Combo Box置于DataGrid的上层)。这就完成了显示功能,看起来像模像样了,但要它真正的起作用,还要将Combo Box(CB_INEXP)中用户所选择的数据传递到DataGrid(DG_Record)当前的单元格。

    这样只是显示功能,要下拉控件真正的起作用,还需将用户在下列组合框中选择的数据传递到DataGrid当前的单元格(即Combo Box所在单元格)中去。在Combo Box(CB_INEXP)的单击事件中加入如下代码: