Seite 1 von 1

Text weg nach EditorGadget resize

Verfasst: 05.09.2005 20:36
von Pinhead
Hallo,

bei mir verschwindet der Inhalt von meinem EditorGadget nach einem resize.
Code:
If Event = #PB_Event_SizeWindow
EditorGadget(#Editor_1, 0, 0,WindowWidth() ,WindowHeight()-20)
EndIf

Ist das normal????


Danke im Vorraus!

Verfasst: 05.09.2005 20:46
von Eclipse
Eigentlich nicht.
poste mal den ganzen code.


Und selbst wenn wir den fehler nicht finden lässt sich das ganz einfach umgehen:

Code: Alles auswählen

Oldtext$ = GetGadgetText(#Editor_1)

If Event = #PB_Event_SizeWindow
EditorGadget(#Editor_1, 0, 0,WindowWidth() ,WindowHeight()-20)
EndIf 

SetGadgetText(#Editor_1,OldText$)

Verfasst: 05.09.2005 20:52
von Pinhead
Hauptprogramm:

Code: Alles auswählen

IncludeFile "Common.pb"

Open_Window_0()

Repeat ; Start of the event loop
  
  Event = WaitWindowEvent() ; This line waits until an event is received from Windows
  
  WindowID = EventWindowID() ; The Window where the event is generated, can be used in the gadget procedures
  
  GadgetID = EventGadgetID() ; Is it a gadget event?
  
  EventType = EventType() ; The event type
  
  ;You can place code here, and use the result as parameters for the procedures
  Debug "Fenter: #Window_0"
  If Event = #PB_EventMenu
    
    MenuID = EventMenuID()
    
    If MenuID = #MENU_5
      Debug "GadgetID: #MENU_5"
      
    ElseIf MenuID = #MENU_6
      Debug "GadgetID: #MENU_6"
      
    ElseIf MenuID = #MENU_7
      Debug "GadgetID: #MENU_7"
      
    ElseIf MenuID = #MENU_2
      Debug "GadgetID: #MENU_2"
      
    ElseIf MenuID = #MENU_4
      Debug "GadgetID: #MENU_4"
      
    EndIf
    
  EndIf
  
  If Event = #PB_EventGadget
    
    If GadgetID = #Editor_1
      
    EndIf
    
  EndIf
  
  If #Window_0 = WindowID
    If Event = #PB_Event_SizeWindow
      EditorGadget(#Editor_1, 0, 0,WindowWidth() ,WindowHeight()-20)
    EndIf
  EndIf
  
Until Event = #PB_Event_CloseWindow ; End of the event loop

End



---------------------------------------------


die Datei Common.pb:

Enumeration
  #Window_0
EndEnumeration

;- MenuBar Constants
;
Enumeration
  #MenuBar_0
EndEnumeration

Enumeration
  #MENU_5
  #MENU_6
  #MENU_7
  #MENU_2
  #MENU_4
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Editor_1
EndEnumeration

Dim Language$(6)


Procedure Open_Window_0()
  If OpenWindow(#Window_0, 218, -1, 720, 800,  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar , "html2text")
    If CreateMenu(#MenuBar_0, WindowID())
      MenuTitle(Language$(0))
      MenuItem(#MENU_5, Language$(1))
      MenuItem(#MENU_6, Language$(2))
      MenuBar()
      MenuItem(#MENU_7, Language$(3))
      MenuTitle(Language$(4))
      MenuTitle(Language$(5))
      MenuItem(#MENU_4, Language$(6))
      EndIf

      If CreateGadgetList(WindowID())
        EditorGadget(#Editor_1, 0, 0, 720, 780,#PB_Container_Raised)
        
      EndIf
    EndIf
EndProcedure

Procedure ReadCatalog(Filename$)
  
  If ReadFile(0, Filename$)
    If ReadString() = "Catalog"
      For k=0 To 6
        Language$(k) = ReadString()
      Next
    EndIf
    CloseFile(0)
  EndIf
  
EndProcedure

Restore BaseLanguage
For k=0 To 6
  Read Language$(k)
Next

DataSection
BaseLanguage:
  Data$ "Datei"
  Data$ "Öffnen"
  Data$ "Speichern"
  Data$ "Beenden"
  Data$ "Bearbeiten"
  Data$ "Hilfe"
  Data$ "Info"
EndDataSection
edit redacid: die Sache mit den Code-Tags üben wir aber noch, ja? :D

Verfasst: 05.09.2005 20:54
von Pinhead
Eclipse hat geschrieben:Eigentlich nicht.
poste mal den ganzen code.


Und selbst wenn wir den fehler nicht finden lässt sich das ganz einfach umgehen:

Code: Alles auswählen

Oldtext$ = GetGadgetText(#Editor_1)

If Event = #PB_Event_SizeWindow
EditorGadget(#Editor_1, 0, 0,WindowWidth() ,WindowHeight()-20)
EndIf 

SetGadgetText(#Editor_1,OldText$)


Die Idee hatte ich auch schon, dachte aber es so...

Verfasst: 06.09.2005 01:06
von glubschi90

Code: Alles auswählen

If Event = #PB_Event_SizeWindow 
EditorGadget(#Editor_1, 0, 0,WindowWidth() ,WindowHeight()-20) 
EndIf
Ist falsch, weil du so immer ein neues Editorgadget erstellst.
Stattdessen musst du ResizeGadget() verwenden! Versuchs mal. :allright:

Resizegadget erstellt (wie der Name schon sagt) kein neues Gadget, sondern ändert nur dessen Dimensionen. :)

PS: Wilkommen im Forum! :D

Grüße - Christian

Verfasst: 06.09.2005 12:56
von Pinhead
Asche auf mein Haupt! Erst lesen dann schreiben...

Danke Christian!

Gruß Volker