For 创建的 按钮在 Case 中如何使用?[已解决]
本帖最后由 魔导 于 2012-7-19 00:02 编辑#NoTrayIcon
Global $lujin = @ScriptDir
Global $x = 0 , $y = 0
Global $shuzu= IniReadSectionNames ($lujin&'\顾客.ini')
;~ 读取指定INI中的 所有字段名 并储存在 数组中
$Form1 = GUICreate("顾客", 800,500,-1,-1)
For $i = 1 To $shuzu
If IsInt (($i-1)/5) Then
$x = $i/5*80
$y = $i
endif
$bt = GUICtrlCreateButton($shuzu[$i],$x,($i-$y)*30)
;~ 创建一批按钮按钮ID储存在 数组中
Next
GUISetState()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case -3
Exit
EndSwitch
WEnd
是否可以就用一条 Case 来操作 FOR 创建出来的所有按钮?
PS:按钮的个数不确定
请前辈们指点指点,谢谢各位前辈。
顾客.ini 文件:
[张三]
眼霜= 10
面膜= 113
VIP = 13
[李四]
口红(活动打折的)= 2
小碗(赠送)= 5
[王二]
指甲刀(把)= 11
毛巾(大)= 23
毛巾(小)= 50
耳朵勺(金)= 11
[高大]
欠 = 150元 看了你的标题,真是迷人呀
混了这么久了,都高级了,还问出这样的问题,有点丢脸哟 #NoTrayIcon
Opt("GUIOnEventMode", 1)
Global $lujin = @ScriptDir
Global $x = 0, $y = 0
Global $shuzu = IniReadSectionNames($lujin & '\顾客.ini')
Local $button[$shuzu]
;~ 读取指定INI中的 所有字段名 并储存在 数组中
$Form1 = GUICreate("顾客", 800, 500, -1, -1)
GUISetOnEvent(-3,"_exit")
For $i = 1 To $shuzu
If IsInt(($i - 1) / 5) Then
$x = $i / 5 * 80
$y = $i
EndIf
$button[$i-1]=GUICtrlCreateButton($shuzu[$i], $x, ($i - $y) * 30)
GUICtrlSetOnEvent(-1,"button_id")
;~ 创建一批按钮按钮ID储存在 数组中
Next
GUISetState()
While 1
Sleep(100)
WEnd
Func button_id()
$Section=IniReadSection($lujin & '\顾客.ini',GUICtrlRead(@GUI_CtrlId))
Local $temp=""
For $i = 1 To $Section
$temp&= $Section[$i] & " = " & $Section[$i]&@CRLF
Next
MsgBox(0,0,$temp)
EndFunc
Func _exit()
Exit
EndFunc Local $IniFile = @ScriptDir & '\顾客.ini'
Local $Str = _
'[张三]' & @CRLF & _
'眼霜= 10' & @CRLF & _
'面膜= 113' & @CRLF & _
'VIP = 13' & @CRLF & _
'[李四]' & @CRLF & _
'口红(活动打折的)= 2' & @CRLF & _
'小碗(赠送)= 5' & @CRLF & _
'[王二]' & @CRLF & _
'指甲刀(把)= 11' & @CRLF & _
'毛巾(大)= 23' & @CRLF & _
'毛巾(小)= 50' & @CRLF & _
'耳朵勺(金)= 11' & @CRLF & _
'[高大]' & @CRLF & _
'欠 = 150元'
If Not FileExists($IniFile) Then FileWrite($IniFile, $Str)
Global $aUser = IniReadSectionNames($IniFile), $aiBtn[$aUser + 1]
$Form1 = GUICreate("顾客", 800, 500)
For $i = 1 To $aUser
$aiBtn[$i] = GUICtrlCreateButton($aUser[$i], 10, $i * 30, 80)
Next
GUISetState()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case -3
Exit
Case $aiBtn To $aiBtn[$aUser]
MsgBox(0, 0, $aUser[$Msg - 2])
EndSwitch
WEnd
按钮个数超出需做判断、排版处理。 按钮个数超出需做判断、排版处理。
afan 发表于 2012-7-18 22:38 http://www.autoitx.com/images/common/back.gif
真不愧为大师,小弟真没想到要是用这用着放不下了该怎么办呢。谢谢A大。 我还是想能写到窗体上!!!!! 雷锋精神传天下!谢谢分享!
页:
[1]