首页
社区
课程
招聘
[求助]请问:如何将灰色按钮激活,用VB,最好能讲讲原理哦!
发表于: 2009-6-28 17:33 15507

[求助]请问:如何将灰色按钮激活,用VB,最好能讲讲原理哦!

2009-6-28 17:33
15507
收藏
免费 0
支持
分享
最新回复 (39)
雪    币: 26
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
26
你啊能讲讲你是怎么知道的,啊有什么方法的呀,是通过代码测试,还是通过看书,书本上这样讲的呢?
能讲讲你的经验吗?
2009-7-1 08:40
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
27
通过代码测试的。
2009-7-1 09:47
0
雪    币: 26
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
28
啊能将上面的代码(11楼中)写成鼠标这样(21楼中)一移动就能将灰色按钮激活的方法呢?

2009-7-1 15:37
0
雪    币: 26
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
29
我发现这个Temp.exe程序的上面的12个按钮可以被小虾版主写的激活程序激活(21楼的代码),下面的12个按钮就不能了,请问这是为什么呢?啊能完善一下呢!
上传的附件:
2009-7-1 21:50
0
雪    币: 26
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
30
谁能来帮帮忙哦
2009-7-2 12:24
0
雪    币: 334
活跃值: (22)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
31
原理就是API...
把基础打好,呵呵
2009-7-2 17:05
0
雪    币: 26
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
32
啊是用这些方法,就可以激活所有的灰色按钮了吗?恳请大家回复!
2009-7-4 10:21
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
我也是看不懂,呵呵,比较菜
2009-7-4 14:04
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
34
// 下面的代码应该可以对所有标准控件都能激活了。
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function IsWindowEnabled Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ScreenToClient Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
Private Declare Function ChildWindowFromPoint Lib "user32" (ByVal hWndParent As Long, ByVal xpt As Long, ByVal ypt As Long) As Long
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Private Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Type POINTAPI
        x As Long
        y As Long
End Type
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const HWND_NOTOPMOST = -2
Private Const HWND_TOPMOST = -1

Private Sub Command1_Click()
  If Timer1.Enabled = False Then
    Timer1.Enabled = True
    SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
  Else
    Timer1.Enabled = False
    SetWindowPos hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
  End If
End Sub

Private Sub Form_Load()
  Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
  Dim pt As POINTAPI
  GetCursorPos pt
  hWindow = WindowFromPoint(pt.x, pt.y)
  ScreenToClient hWindow, pt
  Text1.Text = "x:" & pt.x & " - " & "y:" & pt.y
  hChildWindow = ChildWindowFromPoint(hWindow, pt.x, pt.y)
  Text2.Text = hChildWindow
  If IsWindowEnabled(hChildWindow) = 0 Then
    EnableWindow hChildWindow, True
  End If
End Sub
2009-7-4 14:12
0
雪    币: 26
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
35
小虾版主,我好想和你一样强哦!能透露一下
你的学习过程和学习方法哦!我学了好长时
间的VB了,但是成长的不快,有些API还是不
很熟悉!
2009-7-6 13:42
0
雪    币: 26
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
36
自己顶一下哦
2009-7-8 17:46
0
雪    币: 26
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
37
根据小虾的代码,包装了一下!
上传的附件:
2009-7-9 18:27
0
雪    币: 26
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
38
讨论啊有什么缺陷,重在批评
2009-7-9 18:28
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
39
invoke        GetDlgItem,hWnd,IDOK                  ; IDOK你要灰化或者激活的按钮ID。
invoke      EnableWindow,hwnd,fBoolean       ; fBoolean 为0表示灰化不为0表示激活。
这个是我刚学的汇编  我想VB也是一样的
2009-7-9 21:11
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
40
我也没有什么学习经验,只是凭着兴趣去学习。遇到不懂的一般我都使用搜索引挚去找答案。
2009-7-9 21:38
0
游客
登录 | 注册 方可回帖
返回
//