| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 916 人关注过本帖
标题:text背景变颜色
只看楼主 加入收藏
zfk1970
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2010-12-2
结帖率:78.13%
收藏
已结贴  问题点数:5 回复次数:10 
text背景变颜色
拟让text大于某数值时背景颜色变红,同时出警告对话框,请指教。
搜索更多相关主题的帖子: 对话框 
2011-07-10 21:12
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
在TextBox.Refresh代碼裏設定。

授人以渔,不授人以鱼。
2011-07-10 21:38
lyxc34
Rank: 2
等 级:论坛游民
帖 子:139
专家分:50
注 册:2011-7-3
收藏
得分:3 
在InteractiveChange事件里面写代码判定输入的值,然后改变颜色。
程序代码:
C=this.value
IF VAL(C)>120000
  this.BackColor=RGB(255,0,0)
  MESSAGEBOX("输入值过大!")
ENDIF
2011-07-10 21:42
lyxc34
Rank: 2
等 级:论坛游民
帖 子:139
专家分:50
注 册:2011-7-3
收藏
得分:0 
如果要实时判定输入的值的大小的话,还是用InteractiveChange好点吧。
2011-07-10 21:43
lyxc34
Rank: 2
等 级:论坛游民
帖 子:139
专家分:50
注 册:2011-7-3
收藏
得分:0 
刚好,楼主提醒了我,可以在输密码的TEXTBOX里面设定这个,通过密码的长度来判定安全程度。
2011-07-10 21:54
zfk1970
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2010-12-2
收藏
得分:0 
此为一中间计算值,
写在refresh事件中
运行至   IF VAL(C)>120000
提示函数的值、类型或数目错误。
  

[ 本帖最后由 zfk1970 于 2011-7-10 22:01 编辑 ]
2011-07-10 21:56
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用lyxc34在2011-7-10 21:43:27的发言:

如果要实时判定输入的值的大小的话,还是用InteractiveChange好点吧。


輸入動作有編輯,不是最終結果沒必要馬上變色,而且這樣馬上變的話,會閃花眼的。再說,他未必總是手動輸入數據,也可以是綁定了數據庫字段的,此時不會激發那個事件,但Refresh一定會做。在Refesh時刷新就可以了。

授人以渔,不授人以鱼。
2011-07-10 21:58
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 6楼 zfk1970
TextBox本身已接受數値輸入,就不需再VAL()了,VAL()一個數値當然出錯。直接判斷IF This.Value > 12000就可以了。

授人以渔,不授人以鱼。
2011-07-10 22:07
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
程序代码:
#DEFINE RED            RGB(255,0,0)

frm_Test = CREATEOBJECT("_Test")
frm_Test.Show
READ EVENTS
RETURN 

DEFINE CLASS _Test AS Form
    Caption = "Text背景變顔色"
    AutoCenter = .T.

    ADD OBJECT PROTECTED Label1 AS Label   WITH Caption = "請輸入數値:", Height = 25, Width = 100, Alignment = 1
    ADD OBJECT PROTECTED Text1  AS TextBox WITH Value = 130000, Height = 25, Width = 60
    ADD OBJECT PROTECTED Label2 AS Label   WITH Caption = "當輸入數値大於等於120000時將會給出警告信息", Height = 50, AutoSize = .T.
    
    PROCEDURE Arrange
        WITH This.Label1
            .Top = 5
            .Left = 5
        ENDWITH 
        WITH This.Text1
            .Top = This.Label1.Top
            .Left = This.Label1.Left + This.Label1.Width
        ENDWITH 
        WITH This.Label2
            .Top = This.Label1.Top + This.Label1.Height + 5
            .Left = This.Label1.Left
        ENDWITH 
        WITH This
            .MinHeight = .Label2.Top + .Label2.Height + 5
            .MinWidth = MAX(.Text1.Left + .Text1.Width, .Label2.Width) + 10
        ENDWITH 
    ENDPROC 
    
    PROCEDURE Activate
        This.Arrange
    ENDPROC 
    
    PROCEDURE Resize
        This.Arrange
    ENDPROC 
    
    PROCEDURE Destroy
        CLEAR EVENTS 
    ENDPROC 
    
    PROCEDURE Text1.Refresh
        This.BackColor = IIF(This.Value >= 120000, RED, ThisForm.BackColor)
    ENDPROC 
    
    PROCEDURE Text1.Valid
        This.Refresh 
    ENDPROC 
    
ENDDEFINE 

授人以渔,不授人以鱼。
2011-07-15 16:19
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
程序代码:
#DEFINE WARNING_VALUE        120000
#DEFINE RED                    RGB(255,0,0)

frm_Test = CREATEOBJECT("_Test")
frm_Test.Show
READ EVENTS
RETURN 

DEFINE CLASS _Test AS Form
    Caption = "Text背景變顔色"
    ShowTips = .T.
    AutoCenter = .T.

    ADD OBJECT PROTECTED Label1 AS Label   WITH Caption = "請輸入數値:", Height = 25, Width = 100, Alignment = 1
    ADD OBJECT PROTECTED Text1  AS TextBox WITH Value = 130000, Height = 25, Width = 60, ToolTipText = "當輸入數値≥" + ALLTRIM(STR(WARNING_VALUE)) + "時將會給出警告信息"
    
    PROCEDURE Arrange
        WITH This.Label1
            .Top = 5
            .Left = 5
        ENDWITH 
        WITH This.Text1
            .Top = This.Label1.Top
            .Left = This.Label1.Left + This.Label1.Width
        ENDWITH 
        WITH This
            .MinHeight = .Text1.Top + .Text1.Height + 5
            .MinWidth = .Text1.Left + .Text1.Width + 5
        ENDWITH 
    ENDPROC 
    
    PROCEDURE Activate
        This.Arrange
    ENDPROC 
    
    PROCEDURE Resize
        This.Arrange
    ENDPROC 
    
    PROCEDURE Destroy
        CLEAR EVENTS 
    ENDPROC 
    
    PROCEDURE Text1.Refresh
        This.BackColor = IIF(This.Value >= WARNING_VALUE, RED, ThisForm.BackColor)
    ENDPROC 
    
    PROCEDURE Text1.Valid
        This.Refresh 
    ENDPROC 
    
ENDDEFINE 


怎麽會經常自動多一帖?自己也刪不掉。

[ 本帖最后由 TonyDeng 于 2011-7-15 16:44 编辑 ]

授人以渔,不授人以鱼。
2011-07-15 16:19
快速回复:text背景变颜色
数据加载中...
 
   



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

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