Hallo zusammen,
ich bin immer noch an meiner Adressenverwaltung, habe derzeit folgendes Problem: wie verhindere ich bei einem aktiven Toolwindow, dass das Hauptfenster anklickbar ist. Dadurch kommt nämlich dieses in den Vordergrund und mein Toolwindow veschwindet. Im Moment behelfe ich mich mit einem Menüeintrag der das letzte Toolwindow bei Bedarf wieder restored.
Die Toolwindows hab ich so definiert:
Spoiler anzeigen
$hfrmConf = GUICreate($sTitelConf, 350, 200, 355, 355, $DS_MODALFRAME +$DS_SETFOREGROUND + $WS_CAPTION + $WS_SYSMENU + $WS_SIZEBOX, $WS_EX_TOOLWINDOW)
Also obwohl ich mit $DS_MODALFRAME + $DS_SETFOREGROUND erklärt habe ist es weder modal, noch bleibt es vor dem Hauptfenster.
und hier ein Beispielskript in dem man das Problem nachvollziehen kann
Spoiler anzeigen
; *** Start added by AutoIt3Wrapper ***
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>
; *** End added by AutoIt3Wrapper ***
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstantsEx.au3>
#Include <Misc.au3>
Opt('GUIOnEventMode', 1)
Opt('MUSTDECLAREVARS' ,1)
Global $sTitel = 'Test mehrerer Fenster mit OnEvent'
Global $sTitelMain = $sTitel & ' Adressstammdaten'
Global $sTitelDate = $sTitel & ' wichtige Daten'
Global $sTitelKom = $sTitel & ' Kontaktmöglichkeiten'
Global $sTitelConf = $sTitel & ' Einstellungen'
Global $out
If _Singleton($sTitel, 1) = 0 Then
MsgBox(64, $sTitel, $sTitel & ' ist bereits gestartet',5)
WinActivate($sTitelMain)
If _Singleton($sTitelConf,1) Then
;WinSetState($sTitelMain,"",@SW_RESTORE)
;WinSetState($sTitelConf,"",@SW_RESTORE)
WinActivate($sTitelConf)
EndIf
If _Singleton($sTitelKom,1) Then
;WinSetState($sTitelMain,"",@SW_RESTORE)
;WinSetState($sTitelKom,"",@SW_RESTORE)
WinActivate($sTitelKom)
EndIf
If _Singleton($sTitelDate,1) Then
;WinSetState($sTitelMain,"",@SW_RESTORE)
;WinSetState($sTitelDate,"",@SW_RESTORE)
WinActivate($sTitelDate)
EndIf
Exit
EndIf
Global $hfrmMain ;Hauptfenster Adressstammdaten wird immer sofort erzeugt
Global $hfrmConf=0 ;Konfigurationsfenster nur bei Bedarf 1mal erzeugt
Global $hfrmDate=0 ;Fenster wichtige Daten " zum Bearbeiten der Listview
Global $hfrmKom=0 ;Fenster Kontaktmöglichkeiten
Global $hfrmAkt=0 ;aktuell geöffnetes Fenster
;Steuerelemente von $hfrmMain
Global $hmnuitmFile, $hmnuitmExit, $hmnuitmWindow, $hmnuitmRestore, $nMsg
Global $hbtnDate, $hbtnKom, $hbtnConf ;Buttons für Zusatzfenster
Global $bbtnDate, $bbtnKom, $bbtnConf
Global $hsavbtnDate, $hsavbtnKom ;Sicherung der Buttonsdaten
Global $hdsicoFirst, $hdsicoPrevious, $hdsicoNext, $hdsicoLast
Global $hdsicoEdit, $hdsicoInsert, $hdsicoDelete, $hdsicoSave, $hdsicoCancel
Global $hicoDate, $hicoKom, $hicoMember ;Icons (analog zu Buttons)
Global $hedtSuch, $hgrpMember, $hedtMember[12], $hedtAnschrift[4] ;Eingabefelder, TABS, List- und TreeViews
Global $hedtAnrede[2], $hedtFunktion, $hedtBei, $hbtnHP, $hedtHomePage
Global $hlstvwDaten, $hlstvwKom, $htab, $htab2, $htabItemNotiz
Global $hedtBem, $htabItemArchiv, $hlstvwArchiv, $hTreeView
Global $hsplitter1, $hsplitter2 ;evtl. fürs Resizing
Global $dummy
Global $iAdrNr ;aktuell angezeigte Adresse für Verknüpfung Master- Detail
;jeweils vor Änderungen also beim Einlesen aus DB
Global $hTreeView2
_Main()
[/autoit] [autoit][/autoit] [autoit]Func _Main()
Local $iLeft, $iWith, $iNr, $hLine1, $aText, $hImage
$hfrmMain = GUICreate($sTitelMain, 800, 540, -1, -1, $WS_SIZEBOX + $WS_SYSMENU +$WS_MAXIMIZEBOX +$WS_MINIMIZEBOX)
$hfrmAkt = $hfrmMain ;zum vergleichen merken
GUISetOnEvent($GUI_EVENT_CLOSE, '_exitMain')
$hmnuitmFile = GUICtrlCreateMenu("&Datei")
$hmnuitmWindow = GUICtrlCreateMenu("&Fenster")
$hmnuitmExit = GUICtrlCreateMenuItem("Be&enden", $hmnuitmFile)
GUICtrlSetOnEvent(-1, '_exitMain')
$hmnuitmRestore = GUICtrlCreateMenuItem("letztes aktives Fenster &restaurieren", $hmnuitmWindow)
GUICtrlSetOnEvent(-1, '_gotoLastActiveWindow')
$iNr = -1
$iLeft = 2
$iWith = 120
$iNr = $iNr + 1
;$iLeft = $iLeft + $iWith
$hicoDate = GUICtrlCreateIcon(@ScriptDir & '\edtDateE.ico', $iNr, $iLeft+4, 6, 48, 48)
GUICtrlSetState(-1, $GUI_DISABLE) ;wichtig damit der darüberliegende Button gedrückt werden kann
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
$hbtnDate = GUICtrlCreateButton('&wichtige Daten', $iLeft, 2, $iWith, 70, BitOR($WS_CLIPSIBLINGS, $BS_BOTTOM))
GUICtrlSetOnEvent(-1, '_edtDate')
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
$iNr = $iNr + 1
$iLeft = $iLeft + $iWith
;$iWith = 56
$hicoKom = GUICtrlCreateIcon(@ScriptDir & '\edtComE.ico', $iNr, $iLeft+4, 6, 48, 48)
GUICtrlSetState(-1, $GUI_DISABLE) ;wichtig damit der darüberliegende Button gedrückt werden kann
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
$hbtnKom = GUICtrlCreateButton('Kontakt&möglichkeiten', $iLeft, 2, $iWith, 70, BitOR($WS_CLIPSIBLINGS, $BS_BOTTOM))
;GUICtrlSetOnEvent(-1, '_edtKom')
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
$iNr = $iNr + 1
$iLeft = $iLeft + $iWith
;$iWith = 56
$hicoKom = GUICtrlCreateIcon(@ScriptDir & '\edtGrpE.ico', $iNr, $iLeft+4, 6, 48, 48)
GUICtrlSetState(-1, $GUI_DISABLE) ;wichtig damit der darüberliegende Button gedrückt werden kann
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
$hbtnConf = GUICtrlCreateButton('&Einstellungen', $iLeft, 2, $iWith, 70, BitOR($WS_CLIPSIBLINGS, $BS_BOTTOM))
GUICtrlSetOnEvent(-1, '_edtConf')
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
$hLine1 = GUICtrlCreateGraphic(2, 73, 798, 2, $SS_GRAYFRAME)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT +$GUI_DOCKRIGHT + $GUI_DOCKTOP)
GUICtrlCreateLabel("&Kurzbezeichnung", 8, 87,140,26)
GUICtrlSetFont(-1,14)
GUICtrlSetOnEvent(-1, '_goToSuch')
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
$hedtSuch = GUICtrlCreateInput("", 150, 87, 225, 26, $ES_UPPERCASE)
GUICtrlSetFont(-1,14)
;GUICtrlSetState(-1, $GUI_FOCUS)
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
GUICtrlSetLimit(-1,25) ; um die Eingabe auf 25 Zeichen zu begrenzen
$hgrpMember=GUICtrlCreateGroup("gehört zu &Gruppen:",452, 77,342,40) ; Gruppe MEMBER beginnen
GUICtrlSetOnEvent(-1, '_goToMember')
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
For $i = 0 to 11
$hedtMember[$i] = GUICtrlCreateInput("", 457+$i*28, 93, 24, 18, $ES_NUMBER)
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
GUICtrlSetLimit(-1,3) ; um die Eingabe auf 3 Zeichen zu begrenzen
Next
GUICtrlCreateGroup ("",-99,-99,1,1) ; Gruppe MEMBER schliessen
GUICtrlCreateGroup("&Anschrift:",2, 115,265,100) ; Gruppe ANSCHRIFT beginnen
GUICtrlSetOnEvent(-1, '_goToAdress')
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
For $i = 0 to 3
Select
Case $i =0
$aText = "Name 1:"
Case $i =1
$aText = "Name 2:"
Case $i =2
$aText = "Strasse:"
Case $i =3
$aText = "PLZ/Ort:"
EndSelect
GUICtrlCreateLabel($aText, 8, 130+$i*20)
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
$hedtAnschrift[$i] = GUICtrlCreateInput("", 65, 130+$i*20, 200, 18)
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
GUICtrlSetLimit(-1,30) ; um die Eingabe auf 30 Zeichen zu begrenzen
Next
GUICtrlCreateGroup ("",-99,-99,1,1) ; Gruppe ANSCHRIFT schliessen
GUICtrlCreateLabel("Funktion:", 8, 225)
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
$hedtFunktion = GUICtrlCreateInput("", 65, 225, 200, 18)
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
GUICtrlSetLimit(-1,30) ; um die Eingabe auf 30 Zeichen zu begrenzen
GUICtrlCreateLabel("bei:", 8, 245)
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
$hedtBei = GUICtrlCreateInput("", 65, 245, 200, 18)
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
GUICtrlSetLimit(-1,30) ; um die Eingabe auf 30 Zeichen zu begrenzen
GUICtrlCreateLabel("Anrede &1:", 8, 270)
GUICtrlSetOnEvent(-1, '_goToAnrede1')
;GUICtrlSetColor(-1,
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
$hedtAnrede[0] = GUICtrlCreateInput("", 65, 270, 200, 18)
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
GUICtrlSetLimit(-1,30) ; um die Eingabe auf 30 Zeichen zu begrenzen
GUICtrlCreateLabel("Anrede &2:", 8, 290)
GUICtrlSetOnEvent(-1, '_goToAnrede2')
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
$hedtAnrede[1] = GUICtrlCreateInput("", 65, 290, 200, 18)
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
GUICtrlSetLimit(-1,30) ; um die Eingabe auf 30 Zeichen zu begrenzen
;GUICtrlCreateLabel("HomePage:", 8, 315)
$hbtnHP=GUICtrlCreateButton('Home&Page', 4, 315, 60, 20, BitOR($WS_CLIPSIBLINGS, $BS_BOTTOM))
GUICtrlSetOnEvent(-1, '_goToHomePage')
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
$hedtHomePage = GUICtrlCreateInput("", 65, 315, 200, 18)
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
GUICtrlSetLimit(-1,64) ; um die Eingabe auf 64 Zeichen zu begrenzen
$hsplitter1 = GUICtrlCreateGraphic(270, 125, 4, 205, $SS_BLACKRECT)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT +$GUI_DOCKSIZE + $GUI_DOCKTOP)
$hlstvwDaten=GUICtrlCreateListView("Ereignis | Datum | Bemerkung", 280, 120, 165, 105)
GUICtrlSetResizing(-1, $GUI_DOCKHEIGHT + $GUI_DOCKLEFT + $GUI_DOCKTOP+$GUI_DOCKRIGHT)
GUICtrlCreateListViewItem("Geburt|29.02.1992",$hlstvwDaten)
GUICtrlCreateListViewItem("Eintritt JRK|01.01.1997",$hlstvwDaten)
$hlstvwKom=GUICtrlCreateListView("Kom-Art |Nummer", 280, 230, 165, 105)
GUICtrlSetResizing(-1, $GUI_DOCKHEIGHT + $GUI_DOCKLEFT + $GUI_DOCKTOP+$GUI_DOCKRIGHT)
; GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP +$GUI_DOCKRIGHT)
GUICtrlCreateListViewItem("Festnetz|09341/47118899",$hlstvwKom)
GUICtrlCreateListViewItem("Mobil|0172/47118899",$hlstvwKom)
GUICtrlCreateListViewItem("Firma|09341/0815",$hlstvwKom)
GUICtrlCreateListViewItem("Eltern|09341/18899",$hlstvwKom)
GUICtrlCreateListViewItem("EMAIL|NoReply@NoMail.please",$hlstvwKom)
GUICtrlCreateListViewItem("EMAIL 2|Urgent@HotMail.Net",$hlstvwKom)
$hsplitter2 = GUICtrlCreateGraphic(2, 338, 448, 4, $SS_BLACKRECT)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP+ $GUI_DOCKHEIGHT)
$htab=GUICtrlCreateTab(2,345,450,127)
GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
$htabItemNotiz = GUICtrlCreateTabItem("Bemerkungen")
$hedtBem=GUICtrlCreateInput("Erste Zeile"& @CRLF, 2,367,447,102, $ES_AUTOVSCROLL+$WS_VSCROLL+$ES_MULTILINE+$ES_WANTRETURN)
GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
$htabItemArchiv = GUICtrlCreateTabItem("Briefe EMails etc.")
$hlstvwArchiv=GUICtrlCreateListView("Art |Datum |Anlass |Serienfelder", 2, 367, 447, 102)
GUICtrlSetResizing(-1, $GUI_DOCKHEIGHT + $GUI_DOCKLEFT + $GUI_DOCKTOP+$GUI_DOCKRIGHT)
; GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP +$GUI_DOCKRIGHT)
GUICtrlCreateTabItem("")
$dummy=GUICtrlCreateDummy()
GUICtrlSetState($dummy,$GUI_FOCUS)
$hTreeView = GUICtrlCreateTreeView(452,120, 345, 345, $GUI_SS_DEFAULT_TREEVIEW,$WS_EX_CLIENTEDGE)
;GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKTOP +$GUI_DOCKBOTTOM+$GUI_DOCKWIDTH)
GUISetState(@SW_SHOW,$hfrmMain)
$iNr = 0
While 1
Sleep(1000)
WEnd
EndFunc
Func _exitMain()
; Switch @GUI_WINHANDLE
; Case $hfrmMain
; _SQLite_Close()
; _SQLite_Shutdown()
Exit
; EndSwitch
EndFunc
Func _exitConf()
; Switch @GUI_WINHANDLE
; Case $hfrmConf
GUISetState(@SW_HIDE,$hfrmConf)
GUISwitch($hfrmMain)
GUISetState(@SW_ENABLE,$hfrmConf)
GUISetState(@SW_UNLOCK,$hfrmConf)
;ConsoleWrite("$hfrmConf wird versteckt")
$hfrmAkt =$hfrmMain ;jetzt wieder im Hauptfenster
GUISetOnEvent($GUI_EVENT_CLOSE, '',$hfrmConf)
GUISetOnEvent($GUI_EVENT_CLOSE, '_exitMain',$hfrmMain)
GUICtrlSetOnEvent($hmnuitmExit, '_exitMain')
_restoreAllBtns()
; EndSwitch
EndFunc
Func _exitDate()
; Switch @GUI_WINHANDLE
; Case $hfrmDate
GUISetState(@SW_HIDE,$hfrmDate)
GUISwitch($hfrmMain)
GUISetState(@SW_ENABLE,$hfrmMain)
GUISetState(@SW_UNLOCK,$hfrmMain)
;ConsoleWrite("$hfrmDate wird versteckt")
$hfrmAkt =$hfrmMain ;jetzt wieder im Hauptfenster
GUISetOnEvent($GUI_EVENT_CLOSE, '',$hfrmDate)
GUISetOnEvent($GUI_EVENT_CLOSE, '_exitMain',$hfrmMain)
GUICtrlSetOnEvent($hmnuitmExit, '_exitMain')
_restoreAllBtns()
; EndSwitch
EndFunc
Func _exitKom()
; Switch @GUI_WINHANDLE
; Case $hfrmKom
GUISetState(@SW_HIDE,$hfrmKom)
GUISwitch($hfrmMain)
GUISetState(@SW_ENABLE,$hfrmMain)
GUISetState(@SW_UNLOCK,$hfrmMain)
;ConsoleWrite("$hfrmKom wird versteckt")
$hfrmAkt =$hfrmMain ;jetzt wieder im Hauptfenster
GUISetOnEvent($GUI_EVENT_CLOSE, '',$hfrmKom)
GUISetOnEvent($GUI_EVENT_CLOSE, '_exitMain',$hfrmMain)
GUICtrlSetOnEvent($hmnuitmExit, '_exitMain')
_restoreAllBtns()
; EndSwitch
EndFunc
Func _disableAllBtns()
$bbtnDate = GUICtrlGetState($hbtnDate)
$bbtnKom = GUICtrlGetState($hbtnKom)
$bbtnConf = GUICtrlGetState($hbtnConf)
GUICtrlSetState($hbtnDate,$GUI_DISABLE)
GUICtrlSetState($hbtnKom,$GUI_DISABLE)
GUICtrlSetState($hbtnConf,$GUI_DISABLE)
EndFunc
func _restoreAllBtns()
GUICtrlSetState($hbtnDate,$bbtnDate)
GUICtrlSetState($hbtnKom,$bbtnKom)
GUICtrlSetState($hbtnConf,$bbtnConf)
GUICtrlSetState($hlstvwDaten, $GUI_FOCUS)
EndFunc
Func _edtConf()
;ConsoleWrite("bin bei _edtConf "&@CRLF)
_disableAllBtns()
Local $iNr = 0
if $hfrmConf=0 Then
;ConsoleWrite("$hfrmConf wird erzeugt"&@CRLF)
$hfrmConf = GUICreate($sTitelConf, 350, 200, 355, 355,$DS_MODALFRAME+$DS_SETFOREGROUND+$WS_CAPTION+$WS_SYSMENU+$WS_SIZEBOX,$WS_EX_TOOLWINDOW)
$htab2=GUICtrlCreateTab(0,0,300,180)
GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
GUICtrlCreateTabItem("Gruppenstammdaten")
$hTreeView2 = GUICtrlCreateTreeView(2,22, 300, 175, $GUI_SS_DEFAULT_TREEVIEW,$WS_EX_CLIENTEDGE)
GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
GUICtrlCreateTabItem("")
; _BaumZeigen($iNr,$hTreeView2,$hTreeView2) ;SingleUser
;WinSetOnTop('Confstammdaten', '', 1)
Else
;_GUICtrlTreeView_DeleteAll($hTreeView2) ;MultiUser
;ConsoleWrite("$hfrmConf wird gezeigt"&@CRLF)
;GUISetState(@SW_SHOW,$hfrmConf)
EndIf
$hfrmAkt = $hfrmConf
GUISetOnEvent($GUI_EVENT_CLOSE, '_gotoLastActiveWindow',$hfrmMain) ;$hfrmMain darf nicht geschlossen werden
GUICtrlSetOnEvent($hmnuitmExit, '_gotoLastActiveWindow')
GUISetState($GUI_DISABLE,$hfrmMain)
;GUISetState(@SW_LOCK,$hfrmMain)
GUISwitch($hfrmConf)
GUISetOnEvent($GUI_EVENT_CLOSE, '_exitConf',$hfrmConf)
GUISetState(@SW_SHOW,$hfrmConf)
;_BaumZeigen($iNr,$hTreeView2,$hTreeView2) ;MultiUser
EndFunc
Func _edtDate()
_disableAllBtns()
Local $iNr = 0
Local $tab, $tab0, $tab0OK, $tab0input
Local $tab1, $tab1combo, $tab1OK
Local $tab2, $tab2OK, $msg
Local $tabOK
if $hfrmDate=0 Then
;ConsoleWrite("$hfrmDate wird erzeugt"&@CRLF)
$hfrmDate = GUICreate($sTitelDate, 400, 200, 355, 355,$DS_MODALFRAME+$WS_CAPTION+$WS_SYSMENU,$WS_EX_TOOLWINDOW)
;Beispiel aus Hilfe
;GUICreate("My GUI Tab", 250, 150); will create a dialog box that when displayed is centered
GUISetBkColor(0x00E0FFFF)
GUISetFont(9, 300)
$tab = GUICtrlCreateTab(10, 10, 200, 100)
[/autoit] [autoit][/autoit] [autoit]$tab0 = GUICtrlCreateTabItem("tab0")
GUICtrlCreateLabel("label0", 30, 80, 50, 20)
$tab0OK = GUICtrlCreateButton("OK0", 20, 50, 50, 20)
$tab0input = GUICtrlCreateInput("default", 80, 50, 70, 20)
$tab1 = GUICtrlCreateTabItem("tab----1")
GUICtrlCreateLabel("label1", 30, 80, 50, 20)
$tab1combo = GUICtrlCreateCombo("", 20, 50, 60, 120)
GUICtrlSetData(-1, "Trids|CyberSlug|Larry|Jon|Tylo", "Jon"); default Jon
$tab1OK = GUICtrlCreateButton("OK1", 80, 50, 50, 20)
$tab2 = GUICtrlCreateTabItem("tab2")
GUICtrlSetState(-1, $GUI_SHOW); will be display first
GUICtrlCreateLabel("label2", 30, 80, 50, 20)
$tab2OK = GUICtrlCreateButton("OK2", 140, 50, 50)
GUICtrlCreateTabItem(""); end tabitem definition
$tabOK = GUICtrlCreateButton("Schliessen", 160, 150, 100)
GUICtrlSetOnEvent(-1,"_exitDate")
GUISetState()
Else
;_GUICtrlTreeView_DeleteAll($hTreeView2) ;MultiUser
;ConsoleWrite("$hfrmDate wird gezeigt"&@CRLF)
;GUISetState(@SW_SHOW,$hfrmDate)
EndIf
$hfrmAkt = $hfrmDate
GUISetOnEvent($GUI_EVENT_CLOSE, '_gotoLastActiveWindow',$hfrmMain) ;$hfrmMain darf nicht geschlossen werden
GUICtrlSetOnEvent($hmnuitmExit, '_gotoLastActiveWindow')
GUISetState($GUI_DISABLE,$hfrmMain)
;GUISetState(@SW_LOCK,$hfrmMain)
GUISwitch($hfrmDate)
GUISetOnEvent($GUI_EVENT_CLOSE, '_exitDate',$hfrmDate)
GUISetState(@SW_SHOW,$hfrmDate)
;_BaumZeigen($iNr,$hTreeView2,$hTreeView2) ;MultiUser
EndFunc
Func _edtKom()
_disableAllBtns()
Local $tab, $tab0, $tab0OK, $tab0input
Local $tab1, $tab1combo, $tab1OK
Local $tab2, $tab2OK, $msg
Local $iNr = 0
if $hfrmKom=0 Then
;ConsoleWrite("$hfrmKom wird erzeugt"&@CRLF)
$hfrmKom = GUICreate($sTitelKom, 400, 200, 355, 355,$DS_MODALFRAME+$WS_CAPTION+$WS_SYSMENU,$WS_EX_TOOLWINDOW)
;GUICreate("My GUI Tab", 250, 150); will create a dialog box that when displayed is centered
GUISetBkColor(0x00E0FFFF)
GUISetFont(9, 300)
$tab = GUICtrlCreateTab(10, 10, 200, 100)
[/autoit] [autoit][/autoit] [autoit]$tab0 = GUICtrlCreateTabItem("tab0")
GUICtrlCreateLabel("label0", 30, 80, 50, 20)
$tab0OK = GUICtrlCreateButton("OK0", 20, 50, 50, 20)
$tab0input = GUICtrlCreateInput("default", 80, 50, 70, 20)
$tab1 = GUICtrlCreateTabItem("tab----1")
GUICtrlCreateLabel("label1", 30, 80, 50, 20)
$tab1combo = GUICtrlCreateCombo("", 20, 50, 60, 120)
GUICtrlSetData(-1, "Trids|CyberSlug|Larry|Jon|Tylo", "Jon"); default Jon
$tab1OK = GUICtrlCreateButton("OK1", 80, 50, 50, 20)
$tab2 = GUICtrlCreateTabItem("tab2")
GUICtrlSetState(-1, $GUI_SHOW); will be display first
GUICtrlCreateLabel("label2", 30, 80, 50, 20)
$tab2OK = GUICtrlCreateButton("OK2", 140, 50, 50)
GUICtrlCreateTabItem(""); end tabitem definition
Else
;_GUICtrlTreeView_DeleteAll($hTreeView2) ;MultiUser
;ConsoleWrite("$hfrmKom wird gezeigt"&@CRLF)
;GUISetState(@SW_SHOW,$hfrmKom)
EndIf
$hfrmAkt = $hfrmKom
GUISetOnEvent($GUI_EVENT_CLOSE, '_gotoLastActiveWindow',$hfrmMain) ;$hfrmMain darf nicht geschlossen werden
GUICtrlSetOnEvent($hmnuitmExit, '_gotoLastActiveWindow')
GUISetState($GUI_DISABLE,$hfrmMain)
;GUISetState(@SW_LOCK,$hfrmMain)
GUISwitch($hfrmKom)
GUISetOnEvent($GUI_EVENT_CLOSE, '_exitKom',$hfrmKom)
GUISetState(@SW_SHOW,$hfrmKom)
;_BaumZeigen($iNr,$hTreeView2,$hTreeView2) ;MultiUser
EndFunc
Func _gotoLastActiveWindow()
;ConsoleWrite('muss zum Fenster'&$hfrmAkt&@CRLF)
Switch $hfrmAkt
Case $hfrmKom
GUISwitch($hfrmKom)
GUISetState(@SW_RESTORE)
;WinActivate($sTitelKom)
Case $hfrmDate
GUISwitch($hfrmDate)
GUISetState(@SW_RESTORE)
;WinActivate($sTitelDate)
Case $hfrmConf
GUISwitch($hfrmConf)
GUISetState(@SW_RESTORE)
;WinActivate($sTitelDate)
EndSwitch
EndFunc
Func _goToSuch()
if $hfrmAkt = $hfrmMain Then GUICtrlSetState($hedtSuch, $GUI_FOCUS)
EndFunc
Func _goToMember()
if $hfrmAkt = $hfrmMain Then GUICtrlSetState($hedtMember[0], $GUI_FOCUS)
EndFunc
Func _goToAdress()
if $hfrmAkt = $hfrmMain Then GUICtrlSetState($hedtAnschrift[0], $GUI_FOCUS)
EndFunc
Func _goToAnrede1()
if $hfrmAkt = $hfrmMain Then GUICtrlSetState($hedtAnrede[0], $GUI_FOCUS)
EndFunc
Func _goToAnrede2()
if $hfrmAkt = $hfrmMain Then GUICtrlSetState($hedtAnrede[1], $GUI_FOCUS)
EndFunc
Func _goToHomePage()
if $hfrmAkt = $hfrmMain Then GUICtrlSetState($hedtHomePage, $GUI_FOCUS)
;hier Funktion einbauen damit automatisch die Homepage aufgerufen wird
EndFunc
Edit1: gelöst ich musste nur das Handle des Hauptfensters bei der Erstellung mit angeben
Edit2: $DS_SETFOREGROUND ist dann auch nicht mehr nötig. Warscheinlich sind bei dem Versuch das Problem zu lösen auch unnötige Programmzeilen enstanden. Falls etwas auffällt bitte trotz gelöst anworten
Spoiler anzeigen
$hfrmConf = GUICreate($sTitelConf, 350, 200, 355, 355, $DS_MODALFRAME + $WS_CAPTION + $WS_SYSMENU + $WS_SIZEBOX, $WS_EX_TOOLWINDOW,$hfrmMain)
vielen Dank im Voraus und freundliche Grüße von (Auto)Bert