Seite 1 von 1

[GELÖST] Editorgadget wie TextGadget (ohne Rahmen. ..)

Verfasst: 18.01.2018 14:58
von marcelx
Hallo,

ich verwende Editorgadget für die Ausgaben von mehrzeilige Text und möchte die Form von TextGadget(keine Rahmen)

Hat jemand eine Lösung parat?

Code: Alles auswählen

If OpenWindow(0,0,0,300,200,"EditorGadget",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  hEdit=EditorGadget (#PB_Any,20,20,100,80,#PB_Editor_ReadOnly|#PB_Editor_WordWrap|#PFA_CENTER)
  
  For a=0 To 3
    AddGadgetItem(hEdit,a,"Line "+Str(a))
  Next

  Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
Danke und Gruß
MarcelX

Re: Editorgadget wie TextGadget (ohne Rahmen. ..)

Verfasst: 18.01.2018 15:01
von RSBasic
Ohne Rahmen:

Code: Alles auswählen

If OpenWindow(0,0,0,300,200,"EditorGadget",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  hEdit=EditorGadget (#PB_Any,20,20,100,80,#PB_Editor_ReadOnly|#PB_Editor_WordWrap|#PFA_CENTER)
  
  SetWindowTheme_(GadgetID(hEdit), @"", @"")
  SetWindowLongPtr_(GadgetID(hEdit), #GWL_EXSTYLE, 0)
  SetWindowPos_(GadgetID(hEdit), 0, 0, 0, 0, 0, #SWP_NOMOVE | #SWP_NOSIZE | #SWP_FRAMECHANGED)
  
  For a=0 To 3
    AddGadgetItem(hEdit,a,"Line "+Str(a))
  Next
  
  Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
Du kannst TextGadget ebenfalls mehrzeilig schreiben:

Code: Alles auswählen

EnableExplicit

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  TextGadget(1, 10, 10, 480, 380, "Line 1" + Chr(10) + "Line 2" + Chr(10) + "Line 3", #PB_Text_Center)
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        End
    EndSelect
  ForEver
EndIf

Re: Editorgadget wie TextGadget (ohne Rahmen. ..)

Verfasst: 18.01.2018 15:48
von marcelx
Danke RSBasic,

der Rahmen ist zwar weg aber die Farbe im Hintergrund ist weiß.
Du kannst TextGadget ebenfalls mehrzeilig schreiben:
Mit EditorGadget kann ich einzelne Zeilen bekommen.

Re: Editorgadget wie TextGadget (ohne Rahmen. ..)

Verfasst: 18.01.2018 15:52
von RSBasic

Code: Alles auswählen

If OpenWindow(0,0,0,300,200,"EditorGadget",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  hEdit=EditorGadget (#PB_Any,20,20,100,80,#PB_Editor_ReadOnly|#PB_Editor_WordWrap|#PFA_CENTER)
 
  SetWindowTheme_(GadgetID(hEdit), @"", @"")
  SetWindowLongPtr_(GadgetID(hEdit), #GWL_EXSTYLE, 0)
  SetWindowPos_(GadgetID(hEdit), 0, 0, 0, 0, 0, #SWP_NOMOVE | #SWP_NOSIZE | #SWP_FRAMECHANGED)
  SetGadgetColor(hEdit, #PB_Gadget_BackColor, GetSysColor_(#COLOR_3DFACE))
  
  For a=0 To 3
    AddGadgetItem(hEdit,a,"Line "+Str(a))
  Next
 
  Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf

Re: Editorgadget wie TextGadget (ohne Rahmen. ..)

Verfasst: 18.01.2018 15:57
von marcelx
Super - Danke RSBasic

Code: Alles auswählen

If OpenWindow(0,0,0,300,200,"EditorGadget",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  hEdit=EditorGadget (#PB_Any,20,20,100,80,#PB_Editor_ReadOnly|#PB_Editor_WordWrap|#PFA_CENTER)
 
  SetWindowTheme_(GadgetID(hEdit), @"", @"")
  SetWindowLongPtr_(GadgetID(hEdit), #GWL_EXSTYLE, 0)
  SetWindowPos_(GadgetID(hEdit), 0, 0, 0, 0, 0, #SWP_NOMOVE | #SWP_NOSIZE | #SWP_FRAMECHANGED)
  SetGadgetColor(hEdit, #PB_Gadget_BackColor, GetSysColor_(#COLOR_3DFACE))
 
  AddGadgetItem(hEdit,0,"Lorem ipsum dolor sit amet, consectetuer adipiscing elit.")
  Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf

Re: Editorgadget wie TextGadget (ohne Rahmen. ..)

Verfasst: 18.01.2018 15:58
von RSBasic
Mit EditorGadget kann ich einzelne Zeilen bekommen.
Ansonsten würde es mit StringField() auch gehen:

Code: Alles auswählen

EnableExplicit

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  TextGadget(1, 10, 10, 480, 380, "Line 1" + Chr(10) + "Line 2" + Chr(10) + "Line 3", #PB_Text_Center)
  
  Debug StringField(GetGadgetText(1), 2, Chr(10))
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        End
    EndSelect
  ForEver
EndIf