Automatischer Zeilenumbruch bei Editor- oder StringGadget?
- Borstensohn
- Beiträge: 10
- Registriert: 07.11.2004 18:47
- Wohnort: Remscheid, NRW
Automatischer Zeilenumbruch bei Editor- oder StringGadget?
Hallo erst mal,
ich bin total neu hier und auch ganz neu in PureBasic, und da ist auch schon gleich ein Problem aufgetaucht.
Wenn ich in anderen Programmiersprachen in Edit- oder Memofelder, oder wie sie auch immer sonst genannt werden, Text eingebe, bricht dieser an der Stelle, wo halt der rechte Rand des Feldes ist, automatisch um. Warum nicht bei PureBasic?
Wenn das nicht standardmäßig möglich ist, wie kann ich es selber programmieren? Also, der Benutzer tippt, sagen wir, 80 Zeichen ein, und danach wird auf den Anfang der nächsten Zeile gesprungen.
Ich hab wie verrückt in diesem und im englischen Forum gesucht, aber ich fand keine richtige Antwort. Falls ich was übersehen habe, bitte bedenkt, dass ich Neuling bin.
Bin gespannt auf Antworten, danke schon mal im Voraus.
Gruß
Borstensohn
ich bin total neu hier und auch ganz neu in PureBasic, und da ist auch schon gleich ein Problem aufgetaucht.
Wenn ich in anderen Programmiersprachen in Edit- oder Memofelder, oder wie sie auch immer sonst genannt werden, Text eingebe, bricht dieser an der Stelle, wo halt der rechte Rand des Feldes ist, automatisch um. Warum nicht bei PureBasic?
Wenn das nicht standardmäßig möglich ist, wie kann ich es selber programmieren? Also, der Benutzer tippt, sagen wir, 80 Zeichen ein, und danach wird auf den Anfang der nächsten Zeile gesprungen.
Ich hab wie verrückt in diesem und im englischen Forum gesucht, aber ich fand keine richtige Antwort. Falls ich was übersehen habe, bitte bedenkt, dass ich Neuling bin.
Bin gespannt auf Antworten, danke schon mal im Voraus.
Gruß
Borstensohn
ON ERROR GOTO BED
Servus
cu
Code: Alles auswählen
OpenWindow(0, 0, 0, 300, 300, #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget, "Test")
CreateGadgetList(WindowID())
x = EditorGadget(0, 0, 0, 300, 300)
SendMessage_(x, #EM_SETTARGETDEVICE, 0, 0)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
- Borstensohn
- Beiträge: 10
- Registriert: 07.11.2004 18:47
- Wohnort: Remscheid, NRW
- Thorsten1867
- Beiträge: 1360
- Registriert: 04.02.2005 15:40
- Computerausstattung: [Windows 10 x64] [PB V5.7x]
- Wohnort: Kaufbeuren
- Kontaktdaten:
Man kann auch genauer festlegen, wann umgebrochen werden soll:
Code: Alles auswählen
Procedure.l Twip(mm.l)
ProcedureReturn mm / (25.4/1440)
EndProcedure
OpenWindow(0, 0, 0, 300, 300, #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget, "Test")
CreateGadgetList(WindowID())
x = EditorGadget(0, 0, 0, 300, 300)
; Umbruch nach 80mm
SendMessage_(x, #EM_SETTARGETDEVICE, GetWindowDC_(x), Twip(80))
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
- 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
@Thorsten1867
Nutzt Du immer noch PB3.xx?
Nutzt Du immer noch PB3.xx?
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- 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
Mit StringGadget gehts auf jeden fall nicht. (Bitte richtig interpretieren)
Bei Edit-Control mit MultiLine style bin ich mir nicht sicher, aber es geht wohl
nicht.
Bei Edit-Control mit MultiLine style bin ich mir nicht sicher, aber es geht wohl
nicht.
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- Dark Skillu
- Beiträge: 103
- Registriert: 18.03.2007 15:03
- Thorsten1867
- Beiträge: 1360
- Registriert: 04.02.2005 15:40
- Computerausstattung: [Windows 10 x64] [PB V5.7x]
- Wohnort: Kaufbeuren
- Kontaktdaten:
Sorry, habe den obigen Code kopiert und geändert. Hier in PB 4.10:ts-soft hat geschrieben:@Thorsten1867
Nutzt Du immer noch PB3.xx?
Code: Alles auswählen
Procedure.l Twip(mm.f)
ProcedureReturn Int(mm * (1440/25.4))
EndProcedure
OpenWindow(0, 0, 0, 300, 300, "Test", #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget)
CreateGadgetList(WindowID(0))
x = EditorGadget(0, 0, 0, 300, 300)
; Umbruch nach 80mm
SendMessage_(x, #EM_SETTARGETDEVICE, GetWindowDC_(x), Twip(80))
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
Zeilenumbruch im Editor-Gadget
Hallo!
Dieses Problem interessiert mich auch sehr. Habe es mal wohl sehr umständlich gelöst mit Font int fester Breite (Schreibmaschinenschrift) und Abfrage der Zeilenlänge sowie Leerzeichen. Also eine nicht wirklich gute Lösung!
Die angegebenen Codes funktionieren bei mir nicht. Verwende PB 4.10 in Windows und Linux.Compiler kennt den "SendMessage"-Befehl nicht.
Mit freundlichen Grüßen
Berti27
Dieses Problem interessiert mich auch sehr. Habe es mal wohl sehr umständlich gelöst mit Font int fester Breite (Schreibmaschinenschrift) und Abfrage der Zeilenlänge sowie Leerzeichen. Also eine nicht wirklich gute Lösung!
Die angegebenen Codes funktionieren bei mir nicht. Verwende PB 4.10 in Windows und Linux.Compiler kennt den "SendMessage"-Befehl nicht.
Mit freundlichen Grüßen
Berti27