资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

怎样在MSFlexGrid中用代码控制其下拉的滚动条?

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

代码如下,当按下回车到MSFlexGrid容器最下面增加一行时,能否实现自动下拉滚动条?  
  Private   Sub   Form_Activate()  
       
      Dim   i   As   Integer  
      MSFlexGrid1.Rows   =   20  
      MSFlexGrid1.Cols   =   8  
      MSFlexGrid1.ColWidth(0)   =   8   *   25   *   2  
      MSFlexGrid1.ColWidth(1)   =   12   *   25   *   3  
      MSFlexGrid1.ColWidth(2)   =   12   *   25   *   6  
      MSFlexGrid1.ColWidth(3)   =   12   *   25   *   3  
      MSFlexGrid1.ColWidth(4)   =   12   *   25   *   4  
      MSFlexGrid1.ColWidth(5)   =   12   *   25   *   4  
      MSFlexGrid1.ColWidth(6)   =   12   *   25   *   4  
      MSFlexGrid1.ColWidth(7)   =   12   *   25   *   4  
      MSFlexGrid1.FixedRows   =   1  
      MSFlexGrid1.FixedCols   =   1  
      MSFlexGrid1.TextMatrix(0,   0)   =   "编号"  
      MSFlexGrid1.TextMatrix(0,   1)   =   "商品代码"  
      MSFlexGrid1.TextMatrix(0,   2)   =   "商品名"  
      MSFlexGrid1.TextMatrix(0,   3)   =   "型号规格"  
      MSFlexGrid1.TextMatrix(0,   4)   =   "数量"  
      MSFlexGrid1.TextMatrix(0,   5)   =   "单位"  
      MSFlexGrid1.TextMatrix(0,   6)   =   "单价"  
      MSFlexGrid1.TextMatrix(0,   7)   =   "金额"  
      MSFlexGrid1.Text   =   Text1.Text  
      For   i   =   1   To   19  
              MSFlexGrid1.TextMatrix(i,   0)   =   i      
      Next   i  
      Text1.Visible   =   True  
      Text1.Left   =   MSFlexGrid1.Left   +   MSFlexGrid1.ColPos(MSFlexGrid1.Col)  
      Text1.   =   MSFlexGrid1.   +   MSFlexGrid1.RowPos(MSFlexGrid1.Row)  
      Text1.Width   =   MSFlexGrid1.ColWidth(MSFlexGrid1.Col)  
      Text1.Height   =   MSFlexGrid1.RowHeight(MSFlexGrid1.Row)  
      Text1.SetFocus  
  End   Sub  
   
  Private   Sub   MSFlexGrid1_Click()  
       
          文本框跟着移动  
            Text1.Left   =   MSFlexGrid1.Left   +   MSFlexGrid1.ColPos(MSFlexGrid1.Col)  
            Text1.   =   MSFlexGrid1.   +   MSFlexGrid1.RowPos(MSFlexGrid1.Row)  
            Text1.Width   =   MSFlexGrid1.ColWidth(MSFlexGrid1.Col)  
            Text1.Height   =   MSFlexGrid1.RowHeight(MSFlexGrid1.Row)  
            Text1.Text   =   MSFlexGrid1.Text  
            Text1.Visible   =   True  
            Text1.SetFocus  
  End   Sub  
  Private   Sub   MSFlexGrid1_LeaveCell()  
  If   enr   =   False   Then  
  MSFlexGrid1.Text   =   Text1.Text  
  End   If  
  End   Sub  
   
  Private   Sub   MSFlexGrid1_Scroll()  
  Text1.Visible   =   False  
  End   Sub  
   
  Private   Sub   Text1_KeyPress(KeyAscii   As   Integer)  
    On   Error   Resume   Next  
     
      If   KeyAscii   =   vbKeyReturn   Then   回车到下一个格子  
            MSFlexGrid1.Text   =   Text1.Text  
          If   MSFlexGrid1.Col   <   7   Then  
                  MSFlexGrid1.Col   =   MSFlexGrid1.Col   +   1  
          Else  
                enr   =   True  
                MSFlexGrid1.Col   =   1  
                MSFlexGrid1.Row   =   MSFlexGrid1.Row   +   1  
                enr   =   False  
                If   Err   =   30009   Then  
                      MSFlexGrid1.AddItem   (MSFlexGrid1.Rows)  
                      enr   =   True  
                      MSFlexGrid1.Col   =   1  
                      MSFlexGrid1.Row   =   MSFlexGrid1.Row   +   1  
                      MSFlexGrid1.ScrollTrack   =   True  
                      Text1.Visible   =   False  
                      enr   =   False  
                End   If  
          End   If  
            Text1.Left   =   MSFlexGrid1.Left   +   MSFlexGrid1.ColPos(MSFlexGrid1.Col)  
            Text1.   =   MSFlexGrid1.   +   MSFlexGrid1.RowPos(MSFlexGrid1.Row)  
            Text1.Width   =   MSFlexGrid1.ColWidth(MSFlexGrid1.Col)  
            Text1.Height   =   MSFlexGrid1.RowHeight(MSFlexGrid1.Row)  
            Text1   =   MSFlexGrid1.Text  
            Text1.Visible   =   True  
            Text1.SetFocus  
      End   If  
  End   Sub  
   
  Private   Sub   Text1_Change()  
    Dim   A   As   Single  
      If   MSFlexGrid1.Col   =   4   Then  
          MSFlexGrid1.Text   =   Text1.Text  
          求金额  
        A   =   Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row,   4))   *   Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row,   6))  
        MSFlexGrid1.TextMatrix(MSFlexGrid1.Row,   7)   =   Format(A,   "0.00")  
      End   If  
      If   MSFlexGrid1.Col   =   6   Then  
          MSFlexGrid1.Text   =   Text1.Text  
        求金额  
        A   =   Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row,   4))   *   Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row,   6))  
          MSFlexGrid1.TextMatrix(MSFlexGrid1.Row,   7)   =   Format(A,   "0.00")  
      End   If  
  End   Sub  
   
 

网友回答:

发表者:tztz520

MSFlexGrid1.Row=MSFlexGrid1.rows-1这句就可以显示到最下面的一行

发表者:lovebeethoven

同上,设置当前输入行为第一行或第二行


 

 
热门推荐笔记本: 方正笔记本
相关文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved