找回密码
 加入
搜索
查看: 1337|回复: 7

[AU3基础] 如何判断点的是哪个批量创建的按钮(已解决)

[复制链接]
发表于 2019-8-5 10:24:16 | 显示全部楼层 |阅读模式
本帖最后由 zjg2003 于 2019-8-5 11:55 编辑

如何把判断点击的是哪个按钮,并把值给到 $y 这个参数
或者能取得点击的按钮的名字也可以(即显示的  按钮1 或者 按钮2 等值)
详细代码如下:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Local $y ,$i ,$x        
$Form1 = GUICreate("界面测试", 300, 350)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
If Not @error Then
        For $i = 1 To 7
                Local $x = 30 * $i ;定义控件TOP参数位置
                GUICtrlCreateLabel($i, 24, $x, 52, 17) 
                GUICtrlCreateLabel($i, 100, $x, 100, 17) 
                GUICtrlCreateButton("按钮" & $i, 150, $x , 120, 25)
                GUICtrlSetOnEvent(-1, "Button1Click")
                GUISetState(@SW_SHOW)
        Next
EndIf


While 1
        Sleep(100)
WEnd

Func Button1Click()
        $y = Floor((@GUI_CtrlId - 4) / 3) + 1
        MsgBox(0,"","这是第 " &  $y & " 个按钮")
EndFunc   ;==>Button1Click
Func Form1Close()
        Exit
EndFunc   ;==>Form1Close
发表于 2019-8-5 11:12:52 | 显示全部楼层
第13行的第4个参数100改为40,否则遮挡了按钮的左边区域点击。
第26行上面插一行 $y = Floor((@GUI_CtrlId - 4) / 3) + 1
 楼主| 发表于 2019-8-5 11:54:57 | 显示全部楼层
afan 发表于 2019-8-5 11:12
第13行的第4个参数100改为40,否则遮挡了按钮的左边区域点击。
第26行上面插一行 $y = Floor((@GUI_CtrlId ...

谢谢 大佬,完全解决了这个问题
第13行不影响 的
发表于 2019-8-5 12:28:18 | 显示全部楼层
zjg2003 发表于 2019-8-5 11:54
谢谢 大佬,完全解决了这个问题
第13行不影响 的

按钮的左边区域多试几次,或者 GUICtrlSetBkColor() 看看文本控件覆盖到哪了…
不肯定的问题我是提都不会提的

点评

谢谢老大,左边区域真有点地方点不到  发表于 2019-8-6 08:07
发表于 2019-8-5 13:48:17 | 显示全部楼层
本帖最后由 xyx115 于 2019-8-5 13:51 编辑

我的做法,如图所示。

这样做了12个服务器,每个服务器有功能按钮11个。也就是完成了11个功能,参数不同(,每个功能都有12个不同参数)的功能。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

点评

谢谢  发表于 2019-8-6 08:11
发表于 2019-8-6 00:15:00 | 显示全部楼层
不错支持一下
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 08:31 , Processed in 0.088928 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表