tabsheet

  • HI erstmal!

    Ich hab da ein problem. genaugenommen zwei!

    1. mit dem buton "Hinzufügen" lassen sich die edits hinzufügen (wer hätte das gedacht), sie sollen aber nur in tabsheet3 sein und nicht auch in 2. der hinzugefügte script muss also in den teil von 3 hinzugefügt werden. Nur wie??

    2. damit man auch mehr reihen edits hinzugefügt werden können als platz auf dem tabsheet ist. also müsste da eine scrollbar rein! problem ist wieder das tabsheet das meines wissensstandes nicht vorsiet. also geht das überhaup?? wenn ja, wie?? und wenn nein wären alternativen nett die den aufbau an sich nicht ganz durcheinander bringen!

    ich bedanke mich schon mal im vorraus :D

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------
    AutoIt Version: 3.3.6.1
    Author: myName
    Script Function:
    Template AutoIt script.
    #ce ----------------------------------------------------------------------------
    ; Script Start - Add your code below here
    #include <ScrollBarConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiButton.au3>
    #include <StructureConstants.au3>
    #include <GUIScrollBars.au3>
    ;#include <GUIScroll.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $sIni = @ScriptDir & "\Gui.ini"
    Global $iEdits = IniRead($sIni, "Edits", "Count", 1)
    Global $hEdit[$iEdits], $iTop = -20

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Kundenkartei = GUICreate("Kundenkartei", 1401, 992, -4, -4)
    $Load = GUICtrlCreateButton("Load", 30, 16, 75, 25)
    $Save = GUICtrlCreateButton("Save", 130, 16, 75, 25)
    $PageControl1 = GUICtrlCreateTab(39, 65, 1204, 824)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet2 = GUICtrlCreateTabItem("1 ")
    $TabSheet3 = GUICtrlCreateTabItem("2 ")
    $hAdd = GUICtrlCreateButton("Hinzufügen", 330, 16, 75, 25)
    For $i = 0 To $iEdits - 1
    _newEdit($i)
    Next
    GUIRegisterMsg($WM_VSCROLL, "WM_VSCROLL")
    _GUIScrollBars_Init($TabSheet3)
    GUISetState(@SW_SHOW)
    ;Scrollbar_Create($TabSheet3, $SB_VERT, 10000)
    ;Scrollbar_Step(20, $TabSheet3, $SB_VERT)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hAdd
    ReDim $hEdit[UBound($hEdit) + 1]
    _newEdit($iEdits)
    $iEdits += 1
    EndSwitch
    WEnd
    Func _newEdit($iEditNr)
    ConsoleWrite($iEditNr & @CRLF)
    $iTop += 110
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 56, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 236, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 416, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 596, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 776, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 956, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    EndFunc ;==>_newEdit

    [/autoit] [autoit][/autoit] [autoit][/autoit]

    Einmal editiert, zuletzt von Stormrider (22. Mai 2010 um 20:05)

  • Zum 1. Problem:

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------
    AutoIt Version: 3.3.6.1
    Author: myName
    Script Function:
    Template AutoIt script.
    #ce ----------------------------------------------------------------------------
    ; Script Start - Add your code below here
    #include <ScrollBarConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiButton.au3>
    #include <StructureConstants.au3>
    #include <GUIScrollBars.au3>
    ;#include <GUIScroll.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $sIni = @ScriptDir & "\Gui.ini"
    Global $iEdits = IniRead($sIni, "Edits", "Count", 1)
    Global $hEdit[$iEdits], $iTop = -20

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Kundenkartei = GUICreate("Kundenkartei", 1401, 992, -4, -4)
    $Load = GUICtrlCreateButton("Load", 30, 16, 75, 25)
    $Save = GUICtrlCreateButton("Save", 130, 16, 75, 25)
    $PageControl1 = GUICtrlCreateTab(39, 65, 1204, 824)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet2 = GUICtrlCreateTabItem("1 ")
    $TabSheet3 = GUICtrlCreateTabItem("2 ")
    $hAdd = GUICtrlCreateButton("Hinzufügen", 330, 16, 75, 25)
    For $i = 0 To $iEdits - 1
    _newEdit($i)
    Next
    GUICtrlCreateTabItem("")
    ;GUIRegisterMsg($WM_VSCROLL, "WM_VSCROLL")
    _GUIScrollBars_Init($TabSheet3)
    GUISetState(@SW_SHOW)
    ;Scrollbar_Create($TabSheet3, $SB_VERT, 10000)
    ;Scrollbar_Step(20, $TabSheet3, $SB_VERT)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hAdd
    ReDim $hEdit[UBound($hEdit) + 1]
    _newEdit($iEdits)
    $iEdits += 1
    EndSwitch
    WEnd
    Func _newEdit($iEditNr)
    GUISwitch($Kundenkartei,$TabSheet3)
    ConsoleWrite($iEditNr & @CRLF)
    $iTop += 110
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 56, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 236, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 416, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 596, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 776, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 956, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    GUICtrlSetState($TabSheet3, $GUI_SHOW)
    EndFunc ;==>_newEdit

    [/autoit]
    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Das geht bei tabs nicht
    du könntes ja oben zahlen , als seiten zahlen verwenden und dann jeweils mit GUISETSTATE sie verstecken und anzeigen
    die seitenzahlen durch ein array dass die anzahl der edit zeilen beinhaltet auslesen

  • Hallo StormRider,

    du kannst es so machen:

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------
    AutoIt Version: 3.3.6.1
    Author: myName
    Script Function:
    Template AutoIt script.
    #ce ----------------------------------------------------------------------------
    ; Script Start - Add your code below here
    #include <ScrollBarConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiButton.au3>
    #include <StructureConstants.au3>
    #include <GUIScrollBars.au3>
    #include <GUIScroll.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiTab.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $sIni = @ScriptDir & "\Gui.ini"
    Global $iEdits = IniRead($sIni, "Edits", "Count", 1)
    Global $hEdit[$iEdits], $iTop = 5

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Kundenkartei = GUICreate("Kundenkartei", 1024, 550)
    $Load = GUICtrlCreateButton("Load", 30, 16, 75, 25)
    $Save = GUICtrlCreateButton("Save", 130, 16, 75, 25)
    $PageControl1 = GUICtrlCreateTab(39, 65, 1204, 24)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    $TabSheet2 = GUICtrlCreateTabItem(" 1 ")
    $TabSheet3 = GUICtrlCreateTabItem(" 2 ")
    $hAdd = GUICtrlCreateButton("Hinzufügen", 330, 16, 75, 25)
    GUICtrlCreateTabItem("")
    $hTabSheet2 = GUICreate("HilfsTab 2", 990, 460, 5, 90, $WS_POPUP, $WS_EX_MDICHILD, $Kundenkartei)
    $hTabSheet3 = GUICreate("HilfsTab 3", 990, 460, 5, 90, BitOR($WS_POPUP, $WS_VSCROLL, $WS_CLIPSIBLINGS), $WS_EX_MDICHILD, $Kundenkartei)
    For $i = 0 To $iEdits - 1
    _newEdit($i)
    Next
    GUISetState(@SW_SHOW, $Kundenkartei)

    [/autoit] [autoit][/autoit] [autoit]

    Scrollbar_Create($hTabSheet3, $SB_VERT, $iEdits*80)
    Scrollbar_Step(20, $hTabSheet3, $SB_VERT)
    GUISetState(@SW_HIDE, $hTabSheet3)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hAdd
    ReDim $hEdit[UBound($hEdit) + 1]
    _newEdit($iEdits)
    $iEdits += 1
    IniWrite($sIni, "Edits", "Count", $iEdits)
    _GUIScrollBars_SetScrollRange($hTabSheet3, $SB_VERT, 0,$iTop)
    Case $PageControl1
    If _GUICtrlTab_GetCurSel($PageControl1) = 1 Then
    GUISetState(@SW_SHOW, $hTabSheet3)
    GUISetState(@SW_HIDE, $hTabSheet2)
    Else
    GUISetState(@SW_HIDE, $hTabSheet3)
    GUISetState(@SW_SHOW, $hTabSheet2)
    EndIf
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _newEdit($iEditNr)
    GUISwitch($hTabSheet3)
    ConsoleWrite($iEditNr & @CRLF)
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 56, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 236, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 416, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 596, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr] = GUICtrlCreateEdit("", 776, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    ;$hEdit[$iEditNr] = GUICtrlCreateEdit("", 956, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $iTop += 80
    GUISwitch($Kundenkartei)
    EndFunc ;==>_newEdit

    [/autoit]

    die Optik, speziell die Breiten und Höhe musst du dir noch anpassen,

    mfg (Auto)Bert

  • das ist super! danke an euch alle!! ich basel mir mit dem schon was zurecht :D

  • Hallo StormRider,

    ich habe das Skript noch dahin ergänzt, dass die Edit's auch wieder gespeichert und geladen werden:

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------
    AutoIt Version: 3.3.6.1
    Author: myName
    Script Function:
    Template AutoIt script.
    #ce ----------------------------------------------------------------------------
    ; Script Start - Add your code below here
    #include <ScrollBarConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiButton.au3>
    #include <StructureConstants.au3>
    #include <GUIScrollBars.au3>
    #include <GUIScroll.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiTab.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $sIni = @ScriptDir & "\Gui.ini"
    Global $iEdits = IniRead($sIni, "Edits", "Count", 1)
    ConsoleWrite($iEdits & @CRLF)
    Global $hEdit[$iEdits][5], $iTop = 5

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Kundenkartei = GUICreate("Kundenkartei", 1024, 550)
    $Load = GUICtrlCreateButton("Load", 30, 16, 75, 25)
    $Save = GUICtrlCreateButton("Save", 130, 16, 75, 25)
    $PageControl1 = GUICtrlCreateTab(39, 65, 1204, 24)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    $TabSheet2 = GUICtrlCreateTabItem(" 1 ")
    $TabSheet3 = GUICtrlCreateTabItem(" 2 ")
    $hAdd = GUICtrlCreateButton("Hinzufügen", 330, 16, 75, 25)
    GUICtrlCreateTabItem("")
    $hTabSheet2 = GUICreate("HilfsTab 2", 990, 460, 5, 90, $WS_POPUP, $WS_EX_MDICHILD, $Kundenkartei)
    $hTabSheet3 = GUICreate("HilfsTab 3", 990, 460, 5, 90, BitOR($WS_POPUP, $WS_VSCROLL, $WS_CLIPSIBLINGS), $WS_EX_MDICHILD, $Kundenkartei)
    GUISetBkColor($hTabSheet2,0xFF0FF0)
    GUICtrlSetBkColor($hTabSheet3,0xFF0FF0)
    For $i = 0 To $iEdits - 1
    _newEdit($i)
    _loadEdit($i)
    Next
    GUISetState(@SW_SHOW, $Kundenkartei)

    [/autoit] [autoit][/autoit] [autoit]

    Scrollbar_Create($hTabSheet3, $SB_VERT, 10 + ($iEdits-5)*80)
    Scrollbar_Step(20, $hTabSheet3, $SB_VERT)
    GUISetState(@SW_HIDE, $hTabSheet3)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    For $i = 0 to $iEdits -1
    _SaveEdit($i)
    Next
    Exit
    Case $hAdd
    ReDim $hEdit[UBound($hEdit) + 1][5]
    _newEdit($iEdits)
    $iEdits += 1
    IniWrite($sIni, "Edits", "Count", $iEdits)
    _GUIScrollBars_SetScrollRange($hTabSheet3, $SB_VERT, 0, 5 + 10+($iEdits-5)*80)
    Case $PageControl1
    If _GUICtrlTab_GetCurSel($PageControl1) = 1 Then
    GUISetState(@SW_SHOW, $hTabSheet3)
    GUISetState(@SW_HIDE, $hTabSheet2)
    Else
    GUISetState(@SW_HIDE, $hTabSheet3)
    GUISetState(@SW_SHOW, $hTabSheet2)
    EndIf
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _newEdit($iEditNr)
    GUISwitch($hTabSheet3)
    ConsoleWrite($iEditNr & @CRLF)
    $hEdit[$iEditNr][0] = GUICtrlCreateEdit("", 56, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr][1] = GUICtrlCreateEdit("", 236, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr][2] = GUICtrlCreateEdit("", 416, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr][3] = GUICtrlCreateEdit("", 596, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $hEdit[$iEditNr][4] = GUICtrlCreateEdit("", 776, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    ;$hEdit[$iEditNr] = GUICtrlCreateEdit("", 956, $iTop, 180, 70, BitOR($WS_VSCROLL, $ES_WANTRETURN))
    $iTop += 80
    GUISwitch($Kundenkartei)
    EndFunc ;==>_newEdit

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _loadEdit($iEditNr)
    Local $hFile = FileOpen("Edit" & $iEditNr & "_0.txt",0)
    GUICtrlSetData($hEdit[$iEditNr][0],FileRead($hFile))
    FileClose($hFile)
    Local $hFile = FileOpen("Edit" & $iEditNr & "_1.txt",0)
    GUICtrlSetData($hEdit[$iEditNr][1],FileRead($hFile))
    FileClose($hFile)
    Local $hFile = FileOpen("Edit" & $iEditNr & "_2.txt",0)
    GUICtrlSetData($hEdit[$iEditNr][2],FileRead($hFile))
    FileClose($hFile)
    Local $hFile = FileOpen("Edit" & $iEditNr & "_3.txt",0)
    GUICtrlSetData($hEdit[$iEditNr][3],FileRead($hFile))
    FileClose($hFile)
    Local $hFile = FileOpen("Edit" & $iEditNr & "_4.txt",0)
    GUICtrlSetData($hEdit[$iEditNr][4],FileRead($hFile))
    FileClose($hFile)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _SaveEdit($iEditNr)
    Local $hFile = FileOpen("Edit" & $iEditNr & "_0.txt",2)
    FileWrite($hFile,GUICtrlRead($hEdit[$iEditNr][0]))
    FileClose($hFile)
    Local $hFile = FileOpen("Edit" & $iEditNr & "_1.txt",2)
    FileWrite($hFile,GUICtrlRead($hEdit[$iEditNr][1]))
    FileClose($hFile)
    Local $hFile = FileOpen("Edit" & $iEditNr & "_2.txt",2)
    FileWrite($hFile,GUICtrlRead($hEdit[$iEditNr][2]))
    FileClose($hFile)
    Local $hFile = FileOpen("Edit" & $iEditNr & "_3.txt",2)
    FileWrite($hFile,GUICtrlRead($hEdit[$iEditNr][3]))
    FileClose($hFile)
    Local $hFile = FileOpen("Edit" & $iEditNr & "_4.txt",2)
    FileWrite($hFile,GUICtrlRead($hEdit[$iEditNr][4]))
    FileClose($hFile)
    EndFunc

    [/autoit]

    mfg (Auto)Bert