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? 
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.
Resizegadget erstellt (wie der Name schon sagt) kein neues Gadget, sondern ändert nur dessen Dimensionen.
PS: Wilkommen im Forum!
Grüße - Christian
Verfasst: 06.09.2005 12:56
von Pinhead
Asche auf mein Haupt! Erst lesen dann schreiben...
Danke Christian!
Gruß Volker