本帖最后由 水木子 于 2017-8-14 11:22 编辑
Config.ini 文件格式如下,图标功能你可能用得上,先给你预留着。[ACN]
link=www.autoitx.com
ico=
[百度]
link=www.baidu.com
ico=
[计算器]
link=calc.exe
ico=
[记事本]
link=notepad.exe
ico=
示例代码如下,不过还存在问题,比如按钮数量过多,超出GUI范围,是不是要加滚动条呢!你自己研究吧!
Global $sConfig = @ScriptDir & '\Config.ini'
Global $aConfig = IniReadSectionNames($sConfig)
Global $iButtonCount = $aConfig[0]
Global $aButton[$iButtonCount] ;按钮总数
Global $iNumber = 2 ;每行按钮数量
Global $iSpacingX = 180, $iSpacingY = 60 ;垂直、水平,间距
Opt('GUIOnEventMode', 1)
GUICreate('', 400, 400)
GUISetOnEvent(-3, '_ButtonEvents')
For $i = 0 To UBound($aButton) - 1
$aButton[$i] = GUICtrlCreateButton($aConfig[$i + 1], $iSpacingX * Mod($i, $iNumber) + 35, $iSpacingY * Floor($i / $iNumber) + 25, 150, 50)
;~ GUICtrlSetImage(-1, "shell32.dll", 100)
GUICtrlSetOnEvent(-1, '_ButtonEvents')
Next
GUISetState()
While 1
Sleep(500)
WEnd
Func _ButtonEvents()
Switch @GUI_CtrlId
Case -3
Exit
Case $aButton[0] To $aButton[UBound($aButton) - 1]
$sButtonText = GUICtrlRead(@GUI_CtrlId)
$sLink = IniRead($sConfig, $sButtonText, 'link', '')
ShellExecute($sLink)
EndSwitch
EndFunc ;==>_ButtonEvents
|