Seite 1 von 1

Gadget nicht sichtbar bei Fensteraufbau

Verfasst: 07.09.2006 11:53
von Agent
Moin.

Ich habe in einem Programm ein Code-Segment, das ein Fenster öffnet. Hierbei werden verschiedene Gadgets dargestellt. Leider wird eines der Gadgets gar nicht dargestellt. Ich nehme an, ich übersehe etwas.

Kann jemand mal Hilfestellung leisten? Ich glaub ich seh vor lauter Wald die Bäume nicht o.O

Code: Alles auswählen

Enumeration
  ; JOB-FENSTER
  #job_string_title
  #job_explorer_quelle
  #job_explorer_ziel
  #job_checkbox_subdirs
  #job_checkbox_delete
  #job_checkbox_md5
  #job_frame_title
  #job_frame_quelle
  #job_frame_ziel
  #job_frame_includes
  #job_frame_excludes
  #job_string_includes
  #job_string_excludes
  #job_button_hinzu
  #job_string_quelle
  #job_string_ziel
  #job_option_includes
  #job_option_excludes
  #job_option_all_files
  #job_checkbox_enumerate_subdirs
EndEnumeration  
 
 ; Fonts laden
#font_arial_small=0
#font_arial=1
#font_arial_bold=2
If LoadFont(#font_arial_small, "Arial", 7)
EndIf
If LoadFont(#font_arial, "Arial", 8)
  SetGadgetFont(#PB_Default, FontID(#font_arial))
EndIf
If LoadFont(#font_arial_bold, "Arial", 9, #PB_Font_Bold)
  ;SetGadgetFont(#PB_Default, FontID(#font_arial_bold))
EndIf
 
  
  ; Fenster aufbauen
  win_job=OpenWindow(#PB_Any, 0, 0, 600, 520,  wintitle$, #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_Invisible)
  If win_job
    If CreateGadgetList(WindowID(win_job))
      ; TITLE
      links=15 : oben=5 : abstand=15 : fensterhaelfte=WindowWidth(win_job)/2 : breite=fensterhaelfte-30
      Frame3DGadget(#job_frame_title, 5, oben, fensterhaelfte-10, 50, "1. Titel")
      If IsFont(#font_arial_bold) : SetGadgetFont(#job_frame_title, FontID(#font_arial_bold)) : EndIf
      oben+abstand+5
      StringGadget(#job_string_title, links, oben, breite, 20, "")
    
      ; QUELLE
      oben+40
      Frame3DGadget(#job_frame_quelle, 5, oben, fensterhaelfte-10, 290, "2. Quelle wählen ")
      If IsFont(#font_arial_bold) : SetGadgetFont(#job_frame_quelle, FontID(#font_arial_bold)) : EndIf
      oben+abstand+5
      ExplorerTreeGadget(#job_explorer_quelle, links, oben, breite, 185, "", #PB_Explorer_AlwaysShowSelection | #PB_Explorer_AutoSort | #PB_Explorer_NoFiles)
      GadgetToolTip(#job_explorer_quelle, "Wählen Sie hier das Quellverzeichnis aus")
      oben+190
      StringGadget(#job_string_quelle, links, oben, breite, 20, GetGadgetText(#job_explorer_quelle))
      GadgetToolTip(#job_string_quelle, "Wählen Sie oben ein Quellverzeichnis (wird hier angezeigt), oder geben Sie das Verzeichnis ein")
      oben+10+abstand
      CheckBoxGadget(#job_checkbox_subdirs, links, oben, fensterhaelfte-30, 20, "Unterverzeichnisse mit verarbeiten (in Quelle)")
      SetGadgetState(#job_checkbox_subdirs, #True)
      GadgetToolTip(#job_checkbox_subdirs, "Aktivieren Sie das Häkchen, wenn auch die Unterverzeichnisse eingelesen und synronisiert werden sollen")
      oben+10+abstand
      CheckBoxGadget(#job_checkbox_md5, links, oben, breite, 20, "Dateiinhalt mittels MD5-Filefingerprint vergleichen")
      SetGadgetState(#job_checkbox_md5, #True)
      GadgetToolTip(#job_checkbox_md5, "Aktivieren Sie das Häkchen, wird der Dateiinhalt auf Basis des MD5-Fingerprints verglichen (langsamer)")
           
      ; ZIEL      
      oben=65 : links=fensterhaelfte+15 ;oben+30
      Frame3DGadget(#job_frame_ziel, links-10, oben, fensterhaelfte-10, 290, "3. Ziel wählen ")
      If IsFont(#font_arial_bold) : SetGadgetFont(#job_frame_ziel, FontID(#font_arial_bold)) : EndIf
      oben+abstand+5
      ExplorerTreeGadget(#job_explorer_ziel, links, oben, fensterhaelfte-30, 185, "", #PB_Explorer_AlwaysShowSelection | #PB_Explorer_AutoSort | #PB_Explorer_NoFiles)
      GadgetToolTip(#job_explorer_ziel, "Wählen Sie hier das Zielverzeichnis aus")
      oben+190
      StringGadget(#job_string_ziel, links, oben, breite, 20, GetGadgetText(#job_explorer_ziel))
      GadgetToolTip(#job_string_ziel, "Wählen Sie oben ein Zielverzeichnis (wird hier angezeigt), oder geben Sie das Verzeichnis ein")
      oben+10+abstand
      CheckBoxGadget(#job_checkbox_enumerate_subdirs, links, oben, breite, 20, "Unterordner für jedes Backup anlegen")
      SetGadgetState(#job_checkbox_enumerate_subdirs, #False)
      GadgetToolTip(#job_checkbox_enumerate_subdirs, "Aktivieren Sie das Häkchen, wird für jedes Backup im Zielverzeichnis, ein neuer Ordner angelegt der das Datum und die Zeit des Backups trägt")
      DisableGadget(#job_checkbox_md5, GetGadgetState(#job_checkbox_enumerate_subdirs))

      oben+10+abstand
      CheckBoxGadget(#job_checkbox_delete, links, oben, breite, 20, "Überflüssige Dateien löschen (Spiegelung)")
      SetGadgetState(#job_checkbox_delete, #False)
      DisableGadget(#job_checkbox_delete, GetGadgetState(#job_checkbox_enumerate_subdirs))
      GadgetToolTip(#job_checkbox_delete, "Aktivieren Sie das Häkchen, werden Dateien auf Ziel gelöscht, die in Quelle fehlen")
      
      ; OPTIONEN
      oben+40 : optionbreite=fensterhaelfte : links=15
      Frame3DGadget(#job_frame_includes, 5, oben, WindowWidth(win_job)-10, 95, "4. Dateitypen") 
      If IsFont(#font_arial_bold) : SetGadgetFont(#job_frame_includes, FontID(#font_arial_bold)) : EndIf
      oben+abstand+5
      ; ##### WO IST FOLGENDES GADGET? #####
      OptionGadget(#job_option_all_files, links, oben, optionsbreite, 20, "Alle Dateien berücksichtigen")
      ; #####
      oben+abstand+10      
      OptionGadget(#job_option_includes, links, oben, optionbreite, 20, "NUR diese Dateiendungen berücksichtigen")       
      oben+abstand+10 
      OptionGadget(#job_option_excludes, links, oben, optionbreite, 20, "Diese Dateiendungen NICHT berücksichtigen")

      oben-abstand-10
      StringGadget(#job_string_excludes, fensterhaelfte+abstand, oben, optionbreite-links*2, 20, excludefiles$) 
      oben+abstand+10
      StringGadget(#job_string_includes, fensterhaelfte+abstand, oben, optionbreite-links*2, 20, includefiles$) 

      GadgetToolTip(#job_option_all_files, "Wählen Sie hier um ALLE Dateien in dem gewählten Ordner zu vergleichen")
      GadgetToolTip(#job_option_includes, "Wählen Sie hier, welche Dateiendungen von der Sicherung betroffen sein sollen")
      GadgetToolTip(#job_option_excludes, "Wählen Sie hier, welche Dateiendungen NICHT von der Sicherung betroffen sein sollen")       
      GadgetToolTip(#job_string_includes, "Wählen Sie hier, welche Dateiendungen von der Sicherung betroffen sein sollen. Beispiel: .jpg,.gif")
      GadgetToolTip(#job_string_excludes, "Wählen Sie hier, welche Dateiendungen NICHT von der Sicherung betroffen sein sollen. Beispiel: .jpg,.gif")
      
      If include
        SetGadgetState(#job_option_includes, #True)         
      Else
        SetGadgetState(#job_option_excludes, #True) 
      EndIf             
      DisableGadget(#job_string_includes, include)
      DisableGadget(#job_string_excludes, include!1)

      oben+40
      ButtonGadget(#job_button_hinzu, 5, oben, WindowWidth(win_job)-10, 30, "Job speichern", $8000)
      If IsFont(#font_arial_bold) : SetGadgetFont(#job_button_hinzu, FontID(#font_arial_bold)) : EndIf
      GadgetToolTip(#job_button_hinzu, "Klicken Sie hier wenn Sie oben Quelle und Ziel festgelegt haben und den Job übernehmen möchten")
      
      
      HideWindow(win_job, #False)
      While WindowEvent() : Wend
    Else
      End
    EndIf
  Else
    End
  EndIf
  
  
  
Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow
Ich habe den Code aus dem Programm ausgeschnitten, er ist so lauffähig. Fehlende Variablen habe ich einfach durch "" oder #true bzw. #false ersetzt.

Das markierte OptionGadget() ist nicht zu finden, warum?

Re: Gadget nicht sichtbar bei Fensteraufbau

Verfasst: 07.09.2006 11:58
von Kiffi
> Kann jemand mal Hilfestellung leisten?

ja: optionsbreite <> optionbreite ;-)

Kleiner Tipp: Mit EnableExplicit wäre das nicht passiert.

Grüße ... Kiffi

Verfasst: 07.09.2006 23:44
von Agent
Danke Kiffi.

Es konnte ja nur sowas behämmertes sein. Dabei kopier ich schon sämtliche Varialben per STRG-C + STRG-V ;)

Vielleicht war es auch noch zu früh für mich :freak:
:praise:

Verfasst: 07.09.2006 23:51
von ts-soft
Mit EnableExplicit kann sowas eigentlich nicht passieren :wink: