| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1458 人关注过本帖
标题:关于在表格中用方向键改变行或列时,如何不让后缀空格处于选定状态的问题
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
把你的需求详细说明看看,最好有图,希望通过怎样的手段达到什么目的。

授人以渔,不授人以鱼。
2011-10-04 00:58
xmlz
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:294
专家分:1392
注 册:2010-8-29
收藏
得分:7 
经测试没有出现你所说的SelLength和SelStart不起作用的情况

this.selstart=0
this.sellength=13        &&选定前13位
_cliptext=this.seltext &&选定内容复制到剪贴板


_cliptext=left(this.value,13)
2011-10-04 09:13
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
国庆节刚买了台电脑,这两天正忙着将资料搬迁到新电脑中,所以没有及时找资料回复。
楼主的问题确实有点难度,可以试试先测算出有效字符的长度,然后将有效字符全部选定。因我的理解有误差,认为没有必要这样做,所以回答中并不是解决问题的方法。
第2个问题12楼已经作了详细的回答,相信楼主能够成功。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2011-10-04 19:04
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下代码,随便找个数据表测试
程序代码:
CLEAR ALL
CLOSE DATABASES ALL
CLEAR 

PUBLIC K_ESC
K_ESC = 27

goForm = CREATEOBJECT("C_Form")
goForm.Show()
READ EVENTS

CLOSE DATABASES ALL
CLEAR ALL
RETURN 

DEFINE CLASS C_Form AS Form
    Caption = "测试例程"
    MinWidth = 800
    MinHeight = 600
    AutoCenter = .T.
    KeyPreview = .T.
   
    ADD OBJECT Grid1  AS Grid WITH TabIndex = 1
    ADD OBJECT Label1 AS Label WITH Caption = "系统剪贴板内容", Height = 25, AutoSize = .T.
    ADD OBJECT Edit1  AS EditBox WITH ReadOnly = .T.
   
    PROCEDURE Load
        USE test EXCLUSIVE IN 0
    ENDPROC
   
    PROCEDURE Unload
        USE IN test
    ENDPROC
   
    PROCEDURE Arrange
        WITH ThisForm.Grid1
            .Top = 5
            .Left = 5
            .Height = ThisForm.Height - .Top - 5
            .Width = ThisForm.Width / 2 - .Left - 5
        ENDWITH
        WITH ThisForm.Label1
            .Top = 5
            .Left = ThisForm.Width / 2 + 5
        ENDWITH
        WITH ThisForm.Edit1
            .Top = ThisForm.Label1.Top + ThisForm.Label1.Height + 5
            .Left = ThisForm.Width / 2 + 5
            .Height = ThisForm.Height - .Top - 5
            .Width = ThisForm.Width - .Left - 5
        ENDWITH
    ENDPROC
   
    PROCEDURE Activate
        ThisForm.Arrange
    ENDPROC
   
    PROCEDURE Resize
        ThisForm.Arrange
    ENDPROC
   
    PROCEDURE KeyPress(tnKeyCode, tnShiftAltCtrl)
        IF tnKeyCode == K_ESC
            RELEASE ThisForm
        ENDIF
    ENDPROC
   
    PROCEDURE Destroy
        CLEAR EVENTS
    ENDPROC
   
    PROCEDURE Grid1.Init
        WITH This
            .RecordSourceType = 1
            .RecordSource = "test"
            .SetAll("Width", 150, "Column")
        ENDWITH
    ENDPROC
   
    PROCEDURE Grid1.AfterRowColChange(tnColumnIndex)
        LOCAL lnSatrt, lnLength
       
        IF tnColumnIndex == 1
            lnStart = 1
            lnLength = 7
            This.Copy_Clipboard(test.T01, lnStart, lnLength)
        ELSE
            ThisForm.Edit1.Value = ""
        ENDIF
    ENDPROC
   
    PROCEDURE Grid1.Copy_Clipboard(tcString, tnStart, tnLength)
        _ClipText = SUBSTRC(tcString, tnStart, tnLength)
        ThisForm.Edit1.Value = "从第" + ALLTRIM(STR(tnStart)) + "个字符开始共" + ALLTRIM(STR(tnLength)) + "个字符的内容:" + _ClipText
    ENDPROC
   
ENDDEFINE


[ 本帖最后由 TonyDeng 于 2011-10-4 22:17 编辑 ]

授人以渔,不授人以鱼。
2011-10-04 22:04
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
用14楼的代码,系统剪贴板的内容随着Grid中光标的变化而变化,不用按Ctrl+C,定位后,切换到另外的程序(你的网页),按Ctrl+V即可得到所要的东西。要决定截取什么数据,修改lnStart和lnLength即可。领会思想后,想怎么用都行(删空格那么简单的事你自己知道在哪执行),比如,如果Grid中该栏的数据没有与数据表字段绑定(我这里绑定了test.T01),也可以取Grid1.Columns(1).Text1.Value,此时则可以不是字符串,稍为改一下即可。

[ 本帖最后由 TonyDeng 于 2011-10-5 15:58 编辑 ]

授人以渔,不授人以鱼。
2011-10-05 15:52
承一佳
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2011-7-14
收藏
得分:0 
69080118063
6908011806311
69080118063
感谢12楼xmlz老师
感谢TonyDeng老师
2012-02-11 03:06
快速回复:关于在表格中用方向键改变行或列时,如何不让后缀空格处于选定状态的问 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033628 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved