Hi
Could somebody point me in the right direction on how to get the gui button labels from an ini file? I saw the text from func. Option but I'm not sure how to use it. Further I would like to assign all the button labels with one function. I am fully aware on how to read the ini file into variables. Auch auf Deutsch natürlich =)
Thanks!
GUI: Get Button Labels from Ini file
-
- Beiträge: 4
- Registriert: Do 9. Feb 2017, 22:13
- Kontaktdaten:
Re: GUI: Get Button Labels from Ini file
Hallo!
Wie du schon richtig erkannt hast, musst du zuerst "Text from Func" aktivieren. Das bedeutet die angegebene Funktion liefert den Text für deinen Button Zurück.
Zum Beispiel:
Im Formstudio wird folgendes bei Text from Func eingetragen: _Textfunc("inikey")
In deinem Skript legt du dann folgende Funktion an:
Wie gesagt die Funktion _Textfunc gibt also mit return das Ergebnis von iniread an den Button zurück. In diesem Fall der Text aus einer INI Datei.
Hoffe das Hilft dir!
Wie du schon richtig erkannt hast, musst du zuerst "Text from Func" aktivieren. Das bedeutet die angegebene Funktion liefert den Text für deinen Button Zurück.
Zum Beispiel:
Im Formstudio wird folgendes bei Text from Func eingetragen: _Textfunc("inikey")
In deinem Skript legt du dann folgende Funktion an:
Code: Alles auswählen
func _Textfunc($inikey)
return iniread("C:\temp\test.ini","sektion",$inikey,"fehlerwert")
endfunc
Hoffe das Hilft dir!
-
- Beiträge: 4
- Registriert: Do 9. Feb 2017, 22:13
- Kontaktdaten:
Re: GUI: Get Button Labels from Ini file
Hallo!
Super vielen Dank, funktioniert auch einwandfrei.
Gerne würde ich jetzt noch die Buttens verstecken, welche kein text im ini file hinterlegt haben. Jedoch funktioniert
nicht da die Labelfunction ja nicht direkt vom Label aufgerufen wird und somit @GUI_CtrlId nicht definiert ist. Gibt es einen weg, diese zu verstecken?
Folgendes funktioniert, leider nur für die front oberfläche und nicht bei mehreren Tabs:
Danke und Gruss
PS: Gibt es auch einen Donate Button irgendwo?
Super vielen Dank, funktioniert auch einwandfrei.
Gerne würde ich jetzt noch die Buttens verstecken, welche kein text im ini file hinterlegt haben. Jedoch funktioniert
Code: Alles auswählen
GUICtrlSetState (@GUI_CtrlId, $GUI_HIDE )
Folgendes funktioniert, leider nur für die front oberfläche und nicht bei mehreren Tabs:
Code: Alles auswählen
Func _HideEmptyButtons()
Local $aWin = _WinAPI_EnumChildWindows($GUIHandle)
_ArrayDelete($aWin, 0)
Local $aFinal[UBound($aWin)][4]
For $1 = 0 To UBound($aWin) - 1
$aFinal[$1][0] = $aWin[$1][0]
$aFinal[$1][1] = $aWin[$1][1]
$aFinal[$1][2] = _WinAPI_GetWindowLong($aFinal[$1][0], $GWL_ID)
$aFinal[$1][3] = ControlGetText('', '', $aFinal[$1][2])
Next
For $b = 1 to UBound($aFinal) - 1
IF $aFinal[$b][1]= "Button" AND $aFinal[$b][3]= "" Then
GUICtrlSetState($aFinal[$b][2], $GUI_HIDE);control id
EndIf
Next
;_ArrayDisplay($aFinal, 'Active Window Control Enumeration', '', 0, Default, 'HWND|CLASS|CTLID|TEXT')
EndFunc ;==>_Show
PS: Gibt es auch einen Donate Button irgendwo?
Re: GUI: Get Button Labels from Ini file
Freut zu hören 
Hmm nunja hier führen sicher mehrere Wege zum Ziel. Du könntest zb. den betroffenen Controls im Formstudio etwas Extracode hinzufügen.
Zb.:
Und hier die Funktion:
Nachteil ist natürlich hier, dass du jedem Control diesen Extracode anhängen müsstest. Wie gesagt..mehrere Wege...
Ups, da hab ich direkt den Spenden Button auf der neuen Homepage vergessen.
Sollte nun auch wieder da sein. (Links unter dem Menü) Alternativ geht´s auch direkt im ISN unter Hilfe -> Spenden.
Danke <3

Hmm nunja hier führen sicher mehrere Wege zum Ziel. Du könntest zb. den betroffenen Controls im Formstudio etwas Extracode hinzufügen.
Zb.:
Code: Alles auswählen
_my_hide_func($control_handle) ;Du kannst hier durchaus $control_handle stehen lassen. Das Formstudio ersetzt das ganze später selbst ;)
Code: Alles auswählen
func _my_hide_func($handle)
if guictrlread($handle) = "" then GUICtrlSetState ($handle, $GUI_HIDE) ;Wenn Text = "", dann verstecke das Control
endfunc
Ups, da hab ich direkt den Spenden Button auf der neuen Homepage vergessen.

Sollte nun auch wieder da sein. (Links unter dem Menü) Alternativ geht´s auch direkt im ISN unter Hilfe -> Spenden.
Danke <3