我建了一个MSFLEXGRID控件和一个TEXT控件,实现了对GRID的编辑,共有4列10行,现在的问题是我想在第一列实现输入数字在-50到50,第二列输入数字0到100,第三列只能输入三个字符A B C中任意一个。请大侠帮忙解决,感激不尽。

解决方案 »

  1.   

    那需要在text里面检查了text的keyup里面作判断就好了
      

  2.   

    你可以定义一个变量,比如:intCol,当位于第一行时:intCol=1 第二行时:intCol=2,以此类推在Text控件的Change事件中写入判断语句即可,大致如下:select case intcol
        case 1
            if val(text1.text)>50 or val(text1.text)<-50 then
                 text1.text=mid(text1.text,1,len(text1.text)-1)
            endif 
        case 2
            '仿照上面写
        case 3end select
      

  3.   

    你的text是放哪的?如果是根据点击grid的位置动态移上去的,不难得到grid的行和列吧?
      

  4.   

    我的TEXT 是放在第一行,第一列,现在问题是,我在TEXT上输入的数值无法按我的条件运行,即,不管你输什么,TEXT显示什么,但是在GRID中是可以实现有条件写入的。
      

  5.   

    你把代码贴出来吧,理论上你的Text不就是Grid的编辑么?
    为什么text里面不可以,反倒是Grid里面可以了呢?
      

  6.   

    听楼主的意思,好像楼主不是用text来实现msflexgrid的输入的
    那得请教一下楼主了,用什么方法实现的