StringGadget mehrzeilig mit WordWrap

Für allgemeine Fragen zur Programmierung mit PureBasic.
Sven
Beiträge: 374
Registriert: 23.09.2004 12:01

StringGadget mehrzeilig mit WordWrap

Beitrag von Sven »

Hi, ich möchte Text in einem String- oder EditorGadget mehrzeilig darstellen. Dabei soll der Text am Ende der Zeile automatisch umgebrochen werden, also kein horizontaler Scrollbalken. Im CodeArchiv habe ich was gefunden, das fast genau das macht:

Code: Alles auswählen

If OpenWindow(0,0,0,640,480,#PB_Window_SystemMenu,"") And CreateGadgetList(WindowID(0))
  StringGadget(0,8,8,626,466,"Does anybody know how to set this stringgadget to auto-word wrap? When the text is too long, it is cut out and this is my problem. Do you know understand what I mean? I want the gadget to automatically add a line return when the text is too long and continued in the next line. Can anybody help me? Please! Thank you!",#ES_MULTILINE | #ESB_DISABLE_LEFT | #ESB_DISABLE_RIGHT | #ES_AUTOVSCROLL | #WS_VSCROLL)
  Repeat
  Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
Aber eben nur fast, der Text ist nämlich konsequent rechtsbündig. :( Wie bekomme ich ihn wieder linksbündig? Ein zusätzliches #ES_LEFT bei den Flags bringt nix.

Sven
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag von Hroudtwolf »

Bei mir ist der Text linksbündig !?!
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Bei mir auch.
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
glubschi90
Beiträge: 274
Registriert: 04.09.2004 01:43
Wohnort: Würzburg

Beitrag von glubschi90 »

Dito...
PureBasic 4.30
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Wenn Du das EditorGadget nimmst, kannste es so machen:

Code: Alles auswählen

If OpenWindow(0,0,0,640,480,#PB_Window_SystemMenu,"") And CreateGadgetList(WindowID(0))
  EditorGadget(0,8,8,626,466)
  SendMessage_(GadgetID(0),#EM_SETTARGETDEVICE, #Null, #False)
  SetGadgetText(0, "Does anybody know how To set this stringgadget To auto-word wrap? When the Text is too long, it is cut out And this is my problem. Do you know understand what I mean? I want the Gadget To automatically add a line Return When the Text is too long And continued in the Next line. Can anybody help me? Please! Thank you!")
  Repeat
  Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
Die SendMessage_() Anweisung setzt WordWrap fürs EditorGadget
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Sven
Beiträge: 374
Registriert: 23.09.2004 12:01

Beitrag von Sven »

>> Bei mir ist der Text linksbündig !?!

Grrr, bei mir nicht. (Win98)

Aber das Beispiel von ts-soft funktioniert. Danke.

Sven
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Code: Alles auswählen

#ESB_DISABLE_LEFT | #ESB_DISABLE_RIGHT
Ist keine gültige Kombination, funktioniert daher auch nicht unter allen Windows-Versionen
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten