标题:VFP如何实现【即指即现】功能?
只看楼主
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:5 
简单参考示例

即指即现.rar (4.1 KB)
2018-06-23 22:33
cluna2013
Rank: 1
等 级:新手上路
帖 子:206
专家分:0
注 册:2013-3-2
得分:0 
回复 21楼 吹水佬
很感谢您提供帮助!遗憾的是文件下载打不开。结完贴也打不开。能否再发过?
2018-06-24 05:42
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用cluna2013在2018-6-24 05:42:16的发言:

很感谢您提供帮助!遗憾的是文件下载打不开。结完贴也打不开。能否再发过?

刚试过,可以正常下载。
主要有两个文件:
表单:表单1
自定义类:myclass
参考用VFP的类浏览器导出的代码:全部放到test.prg运行
** test.prg
PUBLIC oform1
SET CLASSLIB TO c:\temp\即指即现\myclass.vcx ADDITIVE
oform1=NEWOBJECT("form1")
oform1.Show
RETURN


    **************************************************
*-- Form:         form1 (c:\temp\即指即现\表单1.scx)
*-- 父类:  form
*-- 基类:    form
*-- 时间戳:   06/23/18 10:30:07 PM
*
DEFINE CLASS form1 AS form


    Top = 11
    Left = 29
    Height = 308
    Width = 384
    ShowWindow = 2
    DoCreate = .T.
    ShowTips = .T.
    Caption = "Form1"
    Name = "Form1"


    ADD OBJECT list1 AS listbox WITH ;
        FontSize = 11, ;
        FirstElement = 1, ;
        Height = 144, ;
        Left = 12, ;
        NumberOfElements = 0, ;
        TabIndex = 3, ;
        Top = 144, ;
        Visible = .F., ;
        Width = 312, ;
        Name = "List1"


    ADD OBJECT mytextbox1 AS mytextbox WITH ;
        FontSize = 14, ;
        Height = 30, ;
        Left = 24, ;
        Top = 99, ;
        Width = 144, ;
        Name = "Mytextbox1"


    ADD OBJECT mytextbox2 AS mytextbox WITH ;
        FontSize = 14, ;
        Height = 30, ;
        Left = 24, ;
        Top = 60, ;
        Width = 144, ;
        Name = "Mytextbox2"


    ADD OBJECT mytextbox3 AS mytextbox WITH ;
        FontSize = 14, ;
        Height = 30, ;
        Left = 24, ;
        Top = 22, ;
        Width = 144, ;
        Name = "Mytextbox3"


    ADD OBJECT label1 AS label WITH ;
        AutoSize = .T., ;
        FontSize = 12, ;
        BorderStyle = 1, ;
        Caption = "Label1", ;
        Height = 20, ;
        Left = 216, ;
        Top = 36, ;
        Visible = .F., ;
        Width = 50, ;
        BackColor = RGB(233,234,191), ;
        Name = "Label1"


    PROCEDURE Load
        CREATE CURSOR tt (f1 I, f2 I, f3 I)
        FOR i=1 TO 10
            INSERT INTO tt VALUES (i, i*2, i*3)
        ENDFOR
    ENDPROC


    PROCEDURE Init
        WITH THISFORM.LIST1
            .COLUMNCOUNT=FCOUNT([tt])
            .COLUMNWIDTHS=[86,86,86]
            .ROWSOURCETYPE=6
            .ROWSOURCE=[tt.f3,f2,f1]
            .VISIBLE=.T.
            .REQUERY
        ENDWITH

        THISFORM.myTextbox3.ControlSource=[tt.f3]
        THISFORM.myTextbox2.ControlSource=[tt.f2]
        THISFORM.myTextbox1.ControlSource=[tt.f1]
    ENDPROC


    PROCEDURE list1.Click
        THISFORM.REFRESH
    ENDPROC


ENDDEFINE
*
*-- EndDefine: form1
**************************************************


**************************************************
*-- 类:           mytextbox (c:\temp\即指即现\myclass.vcx)
*-- 父类:  textbox
*-- 基类:    textbox
*-- 时间戳:   06/23/18 10:25:01 PM
*
DEFINE CLASS mytextbox AS textbox

    BorderStyle = 0
    Height = 20
    ReadOnly = .T.
    Width = 100
    Name = "mytextbox"


    PROCEDURE MouseEnter
        LPARAMETERS nButton, nShift, nXCoord, nYCoord
        thisform.label1.top = nYCoord
        thisform.label1.left = nXCoord
        thisform.label1.Caption = ICASE(;
            This.Value%3==0, '甲子乙丑海中金',;
            This.Value%3==1, '甲寅乙卯大溪水',;
            This.Value%3==2, '甲辰乙巳覆灯火',"")
        thisform.label1.Visible = .T.
    ENDPROC


    PROCEDURE MouseLeave
        LPARAMETERS nButton, nShift, nXCoord, nYCoord
        thisform.label1.Visible = .F.
    ENDPROC


ENDDEFINE
*
*-- EndDefine: mytextbox
**************************************************


2018-06-24 07:13
cluna2013
Rank: 1
等 级:新手上路
帖 子:206
专家分:0
注 册:2013-3-2
得分:0 
回复 22楼 cluna2013
是可以下载,但是打不开。
能否请您重新打包发过来?毕竟看现成的程序掌握起来更快。

[此贴子已经被作者于2018-6-24 08:57编辑过]

2018-06-24 08:55
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 24楼 cluna2013
可能是解压工具软件不兼容或版本低
2018-06-24 10:32
cluna2013
Rank: 1
等 级:新手上路
帖 子:206
专家分:0
注 册:2013-3-2
得分:0 
回复 25楼 吹水佬
换了一个解压缩软件,仍然打不开啊?
2018-06-24 10:56
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 26楼 cluna2013
用 WinRAR v5.5 打包的,找个v5.5以上版本的WinRAR肯定可以吧。
也可以参考23楼的代码,自己写个表单和封装一个textbox类。主要代码就几行,顶多也就花几分钟。
2018-06-24 15:07
cluna2013
Rank: 1
等 级:新手上路
帖 子:206
专家分:0
注 册:2013-3-2
得分:0 
回复 27楼 吹水佬
按照您说的安装新版本下载软件,果然打开了。您的东西正是我所要的。接下来我会去消化这个编程思路——不好意思,看教科书没有看程序来得快!
非常感谢!
2018-06-24 19:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-488052-1-1.html




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

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