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

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

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

ich auch nicht. Der Cursor bleibt bei mir an seinem Platz.ts-soft hat geschrieben:Tut mir leid, kann ich nicht nachvollziehen!
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
