| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 682 人关注过本帖
标题:请问,如何实现用鼠标点击文字框,文字框的底色就会变的方法
只看楼主 收藏
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:621
专家分:14
注 册:2006-9-5
结帖率:93.75%
  已结贴   问题点数:20  回复次数:12   
请问,如何实现用鼠标点击文字框,文字框的底色就会变的方法
请问,实现用鼠标点击文字框,文字框的底色就会变的方法;
如单击(或双击)文字框,其底色就会变成另一种底色,再点击就恢复原来白色;如下图;

附件: 您没有浏览附件的权限,请 登录注册
2018-02-08 20:25
suzhanpeng
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:45
专家分:161
注 册:2016-9-28
  得分:0 
Dim n As Integer
Private Sub Text1_Click()
If n Mod 2 = 0 Then
    Text1.BackColor = &H80FF80
Else
    Text1.BackColor = &HFFFFFF
End If
n = n + 1
End Sub
2018-02-09 08:31
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:621
专家分:14
注 册:2006-9-5
  得分:0 
谢谢suzhanpeng的回复;
运行该程序后,鼠标点击白底文字框会变成绿色,但再点击回不到白色底;
希望用鼠标点击能进行二种颜色的更换;
2018-02-09 18:57
xzlxzlxzl
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖北
等 级:版主
威 望:109
帖 子:1068
专家分:5620
注 册:2014-5-3
  得分:0 
Private Sub Text1_Click()
    Text1.BackColor = Text1.BackColor xor &Hcccccc
End Sub
2018-02-09 21:06
wds1
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:17
帖 子:194
专家分:1020
注 册:2016-3-10
  得分:0 
设置public变量bz
Private Sub Text1_Click()
  if bz=0 then
    Text1.BackColor = vbgreen
    bz=1  
  else
   Text1.BackColor =vbwhite
   bz=0
  endif
End Sub
2018-02-09 21:16
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:621
专家分:14
注 册:2006-9-5
  得分:0 
谢谢xzlxzlxzl回复,运行点击文本框没通过,结果是:实时错误,无效属性;
2018-02-09 22:39
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:621
专家分:14
注 册:2006-9-5
  得分:0 
谢谢wdsl版主的回复,运行后点击文本框底变绿色,但再点它无反应,还是绿色,不知何故?
2018-02-09 22:42
suzhanpeng
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:45
专家分:161
注 册:2016-9-28
  得分:0 
应该是变量的声明问题,把变量声明全局变量。
2018-02-10 08:26
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:621
专家分:14
注 册:2006-9-5
  得分:0 
谢谢各位的热情帮助!
上述程序目前还无法通过;

[此贴子已经被作者于2018-2-10 10:33编辑过]

2018-02-10 10:17
xzlxzlxzl
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖北
等 级:版主
威 望:109
帖 子:1068
专家分:5620
注 册:2014-5-3
  得分:20 
回复 6楼 jrs123
嗯,测试了下,主要是有24个系统色导致的颜色错误,把这24个颜色单独考虑就行了,如下代码可得到粉红色和白色之间的变换:
Private Sub Text1_Click()
  Dim a As Long
  a = Text1.BackColor Xor &HCC10CC  '&HCC10CC可以变换为其他数字,只要在24位色范围内都行,及>&H0<&HFFFFFF
  If Not (a > &H80000019 And a < &H80000000) Then a = a And &HFFFFFF
  If a > 0 And a < 24 Then a = a Or &H80000000
  Text1.BackColor = a
End Sub

2018-02-10 10:34







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

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