| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6145 人关注过本帖
标题:表单中文本框生成器输入掩码的问题,如何输入#####??
只看楼主 加入收藏
星期小五
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2011-8-28
收藏
得分:0 
回复 10楼 TonyDeng
十分感谢你在百忙中还打了这么多字。

这是我改写的程序。

CLEAR ALL  

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

CLEAR ALL
RETURN  

DEFINE CLASS C_Form AS Form
    Caption = "我的空白程序"
    Height = 200
    Width = 300
    AutoCenter = .f.
   
    PROCEDURE Destroy
        CLEAR EVENTS
    ENDPROC  

ENDDEFINE
2011-08-28 17:50
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
OK,现在继续,你对比一下前后我加了什么,现在点击“退出”按钮看动作,再看代码。

程序代码:
CLEAR ALL 

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

CLEAR ALL
RETURN 

DEFINE CLASS C_Form AS Form
    Caption = "星期小五的程序"
    Height = 400
    Width = 600
    AutoCenter = .T.
   
    ADD OBJECT Label1   AS Label         WITH Caption = "考号:", Height = 25, Width = 60, Top = 20, Left = 10, Alignment = 1
    ADD OBJECT Text1    AS TextBox       WITH Value = "", Height = 25, Width = 100, Top = 20, Left = 70
    ADD OBJECT Command1 AS CommandButton WITH Caption = "查询", Height = 25, Width = 60, Top = 50, Left = 500
    ADD OBJECT Command2 AS CommandButton WITH Caption = "退出", Height = 25, Width = 60, Top = 80, Left = 500
   
    PROCEDURE Destroy
        CLEAR EVENTS
    ENDPROC
   
    PROCEDURE Command2.Click
        RELEASE ThisForm
    ENDPROC 

ENDDEFINE


授人以渔,不授人以鱼。
2011-08-28 17:55
星期小五
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2011-8-28
收藏
得分:0 
回复 12楼 TonyDeng
PROCEDURE Command2.Click
        RELEASE ThisForm

你为command2 添加了单击退出程序的命令。

不敢想像的是:上面的那些代码都是你用键盘一个一个打上去的?

为什么不用可视化的界面来做?

那些按纽、文本框直接画然后再加命令不是更好?

[ 本帖最后由 星期小五 于 2011-8-28 18:02 编辑 ]
2011-08-28 18:00
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
等你要大批量自动生成几十行这些东西的时候,你就知道这样写的好处,这是可以让程序循环实现的,但可视化是必须一个一个自己敲的,而且,这是可以精确排版的。

授人以渔,不授人以鱼。
2011-08-28 18:06
星期小五
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2011-8-28
收藏
得分:0 
回复 14楼 TonyDeng
这么说,建立表单的时间也应该用键盘打,而不用可视化界面?

出去一下,10分钟后回来。
2011-08-28 18:09
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
继续看“查询”按钮和子窗体怎么做:

程序代码:
CLEAR ALL 

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

CLEAR ALL
RETURN 

*---------------------
* 主窗体类定义
*---------------------
DEFINE CLASS C_Form AS Form
    Caption = "星期小五的程序"
    Height = 400
    Width = 600
    AutoCenter = .T.
   
    ADD OBJECT Label1   AS Label         WITH Caption = "考号:", Height = 25, Width = 60, Top = 20, Left = 10, Alignment = 1
    ADD OBJECT Text1    AS TextBox       WITH Value = "", Height = 25, Width = 100, Top = 20, Left = 70
    ADD OBJECT Command1 AS CommandButton WITH Caption = "查询", Height = 25, Width = 60, Top = 50, Left = 500
    ADD OBJECT Command2 AS CommandButton WITH Caption = "退出", Height = 25, Width = 60, Top = 80, Left = 500
   
    PROCEDURE Destroy
        CLEAR EVENTS
    ENDPROC
   
    PROCEDURE Command1.Click
        LOCAL frmInquire AS Object
       
        frmInquire = CREATEOBJECT("C_Inquire")
        WITH frmInquire
            .Top = ThisForm.Top + 100
            .Left = ThisForm.Left + 100
            .Show(1)                && 模式窗体,此时主窗体不会响应交互事件
        ENDWITH
       
    ENDPROC
   
    PROCEDURE Command2.Click
        RELEASE ThisForm
    ENDPROC 

ENDDEFINE 

*--------------------
* 查询窗体类定义
*--------------------
DEFINE CLASS C_Inquire AS Form
    Caption = "查询"
    Height = 200
    Width = 200
   
    PROCEDURE Destroy
        RELEASE ThisForm
    ENDPROC
   
ENDDEFINE

注意.Show(1)的用法,这就是某人问如何不让其它窗体接受焦点的方法,但只能在本程序中,无法阻止用户切换到Windows的其它窗口上去,比如此时阻止用户到资源管理器查看文件就是无理的。

[ 本帖最后由 TonyDeng 于 2011-8-28 18:21 编辑 ]

授人以渔,不授人以鱼。
2011-08-28 18:09
星期小五
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2011-8-28
收藏
得分:0 
回复 16楼 TonyDeng
PROCEDURE Command1.Click
        LOCAL frmInquire AS Object
      
        frmInquire = CREATEOBJECT("C_Inquire")
        WITH frmInquire
            .Top = ThisForm.Top + 100
            .Left = ThisForm.Left + 100
            .Show(1)                && 模式窗体,此时主窗体不会响应交互事件
        ENDWITH
--------------------------------------------------------------------------------------------------------------

这就是查询窗口的命令吧,看不懂。

点击查询又跳出一个新窗口。

[ 本帖最后由 星期小五 于 2011-8-28 18:23 编辑 ]
2011-08-28 18:22
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
对,这个代码跟一开始建立主窗体的一样啊,你对比一下,frmInquire是窗体的名字(类如前面的Form1,当然你也可以改为Form2)。建立窗体之后,就是.Show了。这里加了两行,是定位该子窗体位置的,它以主窗体Form1(此处ThisForm就是Form1)的左上角为原点偏移100像素(这是给你示范如何精确控制控件位置的,此时无需理会Form1在屏幕上何处,子窗体都在这个相对位置。)。

跳出的新窗口frmInquire就是你前面要的第二个窗口。

授人以渔,不授人以鱼。
2011-08-28 18:27
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
WITH句式,是每个.前面都默认有frmInquire,比如.Top其实是frmInquire.Top,类推。

授人以渔,不授人以鱼。
2011-08-28 18:35
星期小五
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2011-8-28
收藏
得分:0 
回复 18楼 TonyDeng
稍稍看懂一点,这些要用键盘打的命令也挺不好记,

还有啊,

----------------------------------------------------------------------------
Form1 = CREATEOBJECT("C_Form") 这里的    两的空格是必须的吗?
----------------------------------------------------------------------------
DEFINE CLASS C_Form AS Form
    Caption = "查询系统"
 第二行的首行缩进也是必须的吗?
--------------------------------------------------------------------------
2011-08-28 18:36
快速回复:表单中文本框生成器输入掩码的问题,如何输入#####??
数据加载中...
 
   



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

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