RichEdit Funktionen (OOP): Jetzt mit ImageSupport
- 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
Re: RichEdit Funktionen (OOP): Jetzt mit ImageSupport
Nur fünf von zehn oder fünf von fünf?
Aber schön, das nach 5 Doppelpostings von mir, mal wieder was geschrieben wird.
Nach 2,3 Jahren und fast 4000 Downloads, scheint also genutzt zu werden, auch
wenn sich nur selten jemand äußert
Danke, Thomas
Aber schön, das nach 5 Doppelpostings von mir, mal wieder was geschrieben wird.
Nach 2,3 Jahren und fast 4000 Downloads, scheint also genutzt zu werden, auch
wenn sich nur selten jemand äußert
Danke, Thomas
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.
Re: RichEdit Funktionen (OOP): Jetzt mit ImageSupport
Hallo Thomas,
ich bin gestern auf die RichEdit-Funktionen gestoßen, dafür auch von mir 5 Sterne (von 5)! Ich habe jedoch folgendes Problem: Wenn ich Bilder in den Text einbinde - egal ob mit cut & paste oder drag & drop - und anschließend den RT-Inhalt wieder auslese, ist der Inhalt verstümmelt. Mit Hilfe von Notepad++ habe ich festgestellt, dass anscheinend der vordere Teil fehlt. Es geht als irgendwo in den Hex-Werten für das Bild los, das Ende ist dann vollständig.
Vielleicht braucht's nur eine zusätzliche Option beim SendMessage in RichEdit_GetRTFText?
Hier das angepasste Beispiel RichEdit_Example_ViewRTFCode, bei dem man den Effekt nachvollziehen kann:
ich bin gestern auf die RichEdit-Funktionen gestoßen, dafür auch von mir 5 Sterne (von 5)! Ich habe jedoch folgendes Problem: Wenn ich Bilder in den Text einbinde - egal ob mit cut & paste oder drag & drop - und anschließend den RT-Inhalt wieder auslese, ist der Inhalt verstümmelt. Mit Hilfe von Notepad++ habe ich festgestellt, dass anscheinend der vordere Teil fehlt. Es geht als irgendwo in den Hex-Werten für das Bild los, das Ende ist dann vollständig.
Vielleicht braucht's nur eine zusätzliche Option beim SendMessage in RichEdit_GetRTFText?
Hier das angepasste Beispiel RichEdit_Example_ViewRTFCode, bei dem man den Effekt nachvollziehen kann:
Code: Alles auswählen
EnableExplicit
XIncludeFile "..\RichEdit.pbi"
UsePNGImageDecoder()
UseJPEGImageDecoder()
UseModule RichEdit
Define.RichEdit Edit
Define.RichEdit Edit2
Macro mcDoubleText()
Edit2\DisableRedraw(#True)
Edit2\Clear()
Edit2\SetText( "{" )
Edit2\SetText( Mid(Edit\GetRTFText(),2))
Edit2\DisableRedraw(#False)
Edit2\Redraw()
EndMacro
If OpenWindow(0, #PB_Ignore, #PB_Ignore, 600, 250, "Test Image")
Edit = New_RichEdit(0, 0, 600, 100)
Edit2 = New_RichEdit(0,120,600,100)
Edit2\SetReadonly(#True)
Edit\SetInterface()
Edit\SetText("This is a picture: ")
LoadImage(0, OpenFileRequester("Datei öffnen","*.png","PNG (*.png)|*.png|JPG (*.jpg)|*.jpg",0))
Edit\SetImage(ImageID(0))
Edit\SetText(" in a EditorGadget!" + #CRLF$)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
If EventGadget() = Edit\GetId()
mcDoubleText()
;
EndIf
Case #WM_KEYUP
If GetActiveGadget() = Edit\GetId()
mcDoubleText()
EndIf
EndSelect
ForEver
Else
Debug "Could not Open Window!"
EndIf
CloseWindow(0)
End
Re: RichEdit Funktionen (OOP): Jetzt mit ImageSupport
Hallo Thomas,
Auch ich bin froh, dass RichEdit-Modul gefunden zu haben. Echt Klasse. Doch leider habe ich ein Problem damit, dass mich ziemlich nervt. In meinem Programm benutze ich mehrere RichEdit-Gadgets in verschiedenen Fenstern. Wenn man nun von einem Fenster in ein anderes wechselt und direkt in das RichEdit-Gadget klickt, so wird der Cursor darin nicht positioniert! Er erscheint ziemlich willkürlich irgendwo im Gadget. Erst ein zweiter Klick bewirkt die exakte Positionierung. Mein Code wäre zu lang, um den hier zu posten. Das Problem tritt jedoch bei allen deinen Beispielprogrammen ebenfalls auf. Keine Positionierung des Cursors im Gadget, wenn das Fenster nicht vorher aktiv war. Es wäre schön, wenn du hierfür eine Lösung hättest.
Gruß
Uli
Auch ich bin froh, dass RichEdit-Modul gefunden zu haben. Echt Klasse. Doch leider habe ich ein Problem damit, dass mich ziemlich nervt. In meinem Programm benutze ich mehrere RichEdit-Gadgets in verschiedenen Fenstern. Wenn man nun von einem Fenster in ein anderes wechselt und direkt in das RichEdit-Gadget klickt, so wird der Cursor darin nicht positioniert! Er erscheint ziemlich willkürlich irgendwo im Gadget. Erst ein zweiter Klick bewirkt die exakte Positionierung. Mein Code wäre zu lang, um den hier zu posten. Das Problem tritt jedoch bei allen deinen Beispielprogrammen ebenfalls auf. Keine Positionierung des Cursors im Gadget, wenn das Fenster nicht vorher aktiv war. Es wäre schön, wenn du hierfür eine Lösung hättest.
Gruß
Uli
PureBasic 5.31 (x32, x64) Windows 7 SP1 (x64)
- 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
Re: RichEdit Funktionen (OOP): Jetzt mit ImageSupport
Keine Ahnung
Wie wäre es, bei #PB_EventType_Focus die Cursorposition zu speichern und bei #PB_EventType_LostFocus neu zu setzen?
Ansonsten fällt mir dazu gerade nichts ein.
Gruß
Thomas
Wie wäre es, bei #PB_EventType_Focus die Cursorposition zu speichern und bei #PB_EventType_LostFocus neu zu setzen?
Ansonsten fällt mir dazu gerade nichts ein.
Gruß
Thomas
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.
Re: RichEdit Funktionen (OOP): Jetzt mit ImageSupport
Da verstehst du mich wohl nicht richtig. #PB_EventType_LostFocus spielt hier keine Rolle! Es geht darum den Focus zu erhalten. Wenn ich bei #PB_EventType_Focus die Cursorposition auslese und den Cursor mit Edit\SetCursorPos(X, Y) setze, dann funktioniert das an dieser Stelle einfach nicht. Der Cursor wird immer 2 Zeilen unter den letzten Text gesetzt und darauf habe ich überhaupt keinen Einfluss! Das macht das Rich.Edit-Modul! Und deshalb frage ich dich nach einer Lösung, weil es von dir stammt.ts-soft hat geschrieben:Keine Ahnung
Wie wäre es, bei #PB_EventType_Focus die Cursorposition zu speichern und bei #PB_EventType_LostFocus neu zu setzen?
Ansonsten fällt mir dazu gerade nichts ein.
Gruß
Thomas
Gruß
Uli
PureBasic 5.31 (x32, x64) Windows 7 SP1 (x64)
Re: RichEdit Funktionen (OOP): Jetzt mit ImageSupport
Probiere es doch einmal aus. Benutze deinen eigenen Beispiel-Code RichEdit_Example.pb. Dort kann man es sehr schön sehen. Einfach Text eingeben. Dann einem anderen Fenster den Focus geben und anschließend direkt in das RichEditGadget mitten in den Text klicken. Der Cursor landet 2 Zeilen hinter dem letzten Text.
PureBasic 5.31 (x32, x64) Windows 7 SP1 (x64)
- 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
Re: RichEdit Funktionen (OOP): Jetzt mit ImageSupport
Tut mir leid, kann ich nicht nachvollziehen!
Gruß
Thomas
Gruß
Thomas
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.
Re: RichEdit Funktionen (OOP): Jetzt mit ImageSupport
ich auch nicht. Der Cursor bleibt bei mir an seinem Platz.ts-soft hat geschrieben:Tut mir leid, kann ich nicht nachvollziehen!
Grüße ... Peter
Hygge
Re: RichEdit Funktionen (OOP): Jetzt mit ImageSupport
So, ich habe mir noch einmal die neueste Version von RichEdit.pbi geladen, obwohl ich die meines Wissens schon hatte. Gleicher Fehler! Immer wieder einfach nachvollziehbar! Was nicht stimmte war die Aussage mit dem Springen 2 Zeilen hinter den letzten Text. Richtig ist, dass der Cursor immer an die Stelle springt, wo zuletzt der Focus verloren wurde. Das ändert aber nichts an der Tatsache, dass da offensichtlich ein Fehler in deinem Modul ist. Ich bin aber wohl leider zu blöd, den zu finden. Deshalb habe ich ja gehofft, dass du helfen kannst. Na ja, wer nicht will, den soll man nicht weiter bedrängen. Trotzdem Danke.ts-soft hat geschrieben:Tut mir leid, kann ich nicht nachvollziehen!
Gruß
Thomas
Gruß
Uli
PureBasic 5.31 (x32, x64) Windows 7 SP1 (x64)
- 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
Re: RichEdit Funktionen (OOP): Jetzt mit ImageSupport
Ich kann mir beim bestem Willen nicht vorstellen, was da für ein Fehler in meinem Modul sein sollte? Ich ändere nichts am Fokus
und überlasse alles dem Control (RichEdit).
Peter (Kiffi) kann das Problem auch nicht nachvollziehen, somit kann ich da erstmal nichts machen. Vielleicht ein fehlerhaftes
Hintergrundprogramm auf Deinem PC? Z.B. für Dualscreen oder ähnlich?
Vielleicht meldet sich ja noch jemand mit demselben Problem.
Gruß
Thomas
und überlasse alles dem Control (RichEdit).
Peter (Kiffi) kann das Problem auch nicht nachvollziehen, somit kann ich da erstmal nichts machen. Vielleicht ein fehlerhaftes
Hintergrundprogramm auf Deinem PC? Z.B. für Dualscreen oder ähnlich?
Vielleicht meldet sich ja noch jemand mit demselben Problem.
Gruß
Thomas
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.