|
本帖最后由 We! 于 2010-4-13 02:59 编辑
最佳答案 #21 afan 前輩所寫。
GUI 有辦法從外部文件產生所需要的控件嗎?
例如我有一個 INI 文件
[tip1]
name=[001]▉▉▉▉▉▉.ini
ip=127.0.0.1
要產生控件為$Group1 = GUICtrlCreateGroup("", 0, -6, 271, 29)
$Label1 = GUICtrlCreateLabel("[001]▉▉▉▉▉▉", 4, 4, 129, 17)
GUICtrlSetOnEvent(-1, "Label1Click")
GUICtrlCreateGroup("", -99, -99, 1, 1)
文件內容有二個控件需要產生,就成為下面的代碼,Opt("GUIOnEventMode", 1)
$Form1_1 = GUICreate("Form1", 273, 507, 375, 173)
GUISetFont(10, 400, 0, "新細明體")
$Group1 = GUICtrlCreateGroup("", 0, -6, 271, 29)
$Label1 = GUICtrlCreateLabel("[001]▉▉▉▉▉▉", 4, 4, 129, 17)
GUICtrlSetOnEvent(-1, "Label1Click")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("", 0, 18, 271, 29)
$Label2 = GUICtrlCreateLabel("[002]▉▉▉▉▉▉", 4, 28, 129, 17)
GUICtrlSetOnEvent(-1, "Label2Click")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetOnEvent($GUI_EVENT_CLOSE, "_GuiEvents")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "_GuiEvents")
GUISetOnEvent($GUI_EVENT_RESTORE, "_GuiEvents")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
Sleep(100)
WEnd
Func _GuiEvents()
Switch @GUI_CtrlId
Case $GUI_EVENT_CLOSE
Exit
Case $GUI_EVENT_MINIMIZE
Case $GUI_EVENT_RESTORE
EndSwitch
EndFunc
EndFunc
Func Label1Click()
EndFunc
Func Label2Click()
一次可能需要產生一百多個控件,最好是能也有 Func 。
幻想如下$Group1 = GUICtrlCreateGroup("", 0, -6, 271, 29)
$Label1 = GUICtrlCreateLabel("[001]▉▉▉▉▉▉", 4, 4, 129, 17)
GUICtrlSetOnEvent(-1, "Label1Click")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("", 0, 18, 271, 29)
$Label2 = GUICtrlCreateLabel("[002]▉▉▉▉▉▉", 4, 28, 129, 17)
GUICtrlSetOnEvent(-1, "Label2Click")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group3 = GUICtrlCreateGroup("", 0, 30, 271, 29)
$Label3 = GUICtrlCreateLabel("[002]▉▉▉▉▉▉", 4, 52, 129, 17)
GUICtrlSetOnEvent(-1, "Label3Click")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group4 = GUICtrlCreateGroup("", 0, 42, 271, 29)
.......
.......
.......
$Group5 .......
.......
.......
.......
$Group155 .......
.......
.......
.......
EndFunc
Func Label1Click()
EndFunc
Func Label2Click()
EndFunc
Func Label3Click()
EndFunc
Func Label4Click()
EndFunc
Func Label5Click()
還是要先寫入一個新的 AU3,再做 UPX ?
想不到有什麼好的方法 Onz... |
|