| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 204 人关注过本帖
标题:请问如何正确选择记事本中的指定行?
取消只看楼主 加入收藏
sych
Rank: 6Rank: 6
等 级:侠之大者
威 望:7
帖 子:316
专家分:448
注 册:2019-10-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
请问如何正确选择记事本中的指定行?
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

如果没有双字节字符,执行结果是正确
PUBLIC oform1
oform1=NEWOBJECT("form1")
oform1.Show
RETURN

DEFINE CLASS form1 AS form
    Height = 110
    Width = 193
    ShowWindow = 2
    DoCreate = .T.
    AutoCenter = .T.
    Caption = "Form1"
    AlwaysOnTop = .T.
    Name = "Form1"

    ADD OBJECT command1 AS commandbutton WITH ;
        Top = 60, ;
        Left = 48, ;
        Height = 25, ;
        Width = 60, ;
        Caption = "执行", ;
        Name = "Command1"

    ADD OBJECT text1 AS textbox WITH ;
        Alignment = 3, ;
        Value = 1, ;
        Height = 25, ;
        InputMask = "999", ;
        Left = 72, ;
        Top = 24, ;
        Width = 40, ;
        Name = "Text1"

    ADD OBJECT label1 AS label WITH ;
        Caption = "选择第:", ;
        Height = 16, ;
        Left = 24, ;
        Top = 29, ;
        Width = 46, ;
        Name = "Label1"

    ADD OBJECT label2 AS label WITH ;
        Caption = "行", ;
        Height = 16, ;
        Left = 116, ;
        Top = 29, ;
        Width = 46, ;
        Name = "Label2"

    PROCEDURE command1.Click
        #Define EM_SETSEL 0xb1
        #Define EM_LINEINDEX 0xbb
TEXT TO prgprg noshow
2343432435
34454t4365t43
ddffergter
rwew阿德顺丰到付归属感
谁丰东股份23424递四方速递
23424535
水电费45235
3424
endtext
        DECLARE Long FindWindowEx IN WIN32API Long, Long, String, String
        Declare Integer SendMessage In WIN32API as SendMessages Integer,Integer,Integer,String
        Declare Integer SendMessage In WIN32API as SendMessagen Integer,Integer,Integer,Integer
        Declare Integer WinExec in kernel32 string, integer
        winexec("NOTEPAD.EXE",1)
        hWnd = FindWindowEx( 0, 0, "Notepad", NULL )
        SendMessages(m.Hwnd,274,61488,null)
        lnSendHwnd=FindWindowEx(m.hwnd,0,"Edit",Null)
        SendMessages(lnSendHwnd,12,LEN(prgprg)+1,prgprg)
        i=thisform.text1.value
        SendMessagen(lnSendHwnd,EM_SETSEL,SendMessagen(lnSendHwnd,EM_LINEINDEX,i-1,0),SendMessagen(lnSendHwnd,EM_LINEINDEX,i,0))
    ENDPROC

ENDDEFINE


[此贴子已经被作者于2024-11-10 14:42编辑过]

搜索更多相关主题的帖子: Name Integer Caption 选择 Top 
5 天前 14:41
sych
Rank: 6Rank: 6
等 级:侠之大者
威 望:7
帖 子:316
专家分:448
注 册:2019-10-11
收藏
得分:0 
完美解决
4 天前 09:59
sych
Rank: 6Rank: 6
等 级:侠之大者
威 望:7
帖 子:316
专家分:448
注 册:2019-10-11
收藏
得分:0 
你建议改为按宽字符处理试试,我是一点头绪也没有,看到你的代码才豁然开朗,谢谢。
4 天前 10:11
sych
Rank: 6Rank: 6
等 级:侠之大者
威 望:7
帖 子:316
专家分:448
注 册:2019-10-11
收藏
得分:0 
我又测试了一下,发现只变动这一句也可以
    SendMsgWn(lnSendHwnd, EM_SETSEL ;
        , SendMsgWn(lnSendHwnd,EM_LINEINDEX,i-1,0) ;
        , SendMsgWn(lnSendHwnd,EM_LINEINDEX,i,0) )
收到的鲜花
  • kangss4 天前 20:22 送鲜花  1朵   附言:确实不错
4 天前 10:22
快速回复:请问如何正确选择记事本中的指定行?
数据加载中...
 
   



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

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