Hab mich heut das erstemal mit Tabs beschäftigt, da ich ein bestehendes Programm erweitern möchte und dies mit einem Tab realisiert werden soll. Nun ergibt sich allerdings ein kleines Problem, denn ich möchte bestehende Elemente von der Startseite, welche zukünftig Tab1 sein wird auch in Tab2 verwenden ohne diese neu zu erstellen. Da nicht alle Elemente benötigt werden und in Tab2 noch andere hinzukommen müsste ich also wissen wie und ob es möglich ist einzelne Objekte wie z.B. Dropdowns zwei oder mehreren Tabs zuzuweisen.
Hier mal ein kleines Beispiel das ich zum testen verwende. Die Progressbar soll in beiden Tabs zusehen sein und auch in beiden aktualisiert werden, der Button soll nur in Tab2 zu sehen sein.
Im Beispiel habe ich die Progressbar mit selbem Variablenname nach der Erstellung des 2. Tabs neu erstellt, dies hat jedoch zur Folge dass nur die 2. Progressbar aktualisiert wird:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$prozent = 0
$Form1 = GUICreate("Form1", 625, 443, 192, 124)
$Tab1 = GUICtrlCreateTab(32, 24, 553, 393)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
$TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
$Progress1 = GUICtrlCreateProgress(96, 112, 281, 129)
$TabSheet2 = GUICtrlCreateTabItem("TabSheet2")
$Progress1 = GUICtrlCreateProgress(96, 112, 281, 129)
GUICtrlSetState(-1,$GUI_SHOW)
$Button1 = GUICtrlCreateButton("Button1", 152, 300, 129, 89, $WS_GROUP)
GUICtrlCreateTabItem("")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
progress()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
func progress()
if $prozent < 100 Then
$prozent = $prozent + 1
GUICtrlSetData($Progress1, $prozent)
Sleep(100)
EndIf
EndFunc
Alles anzeigen