FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour TRichEdit control en un dialog
Posts: 244
Joined: Fri Oct 28, 2005 06:29 PM
TRichEdit control en un dialog
Posted: Thu Feb 11, 2021 10:08 PM
Al ejectuar, el texto aparece seleccionado y no lo muestra desde el principio. Alguien tiene idea que puede ser?
En window funciona correctamente pero necesito poner el control en un dialog y no logro que funcione bien.

Code (fw): Select all Collapse
#include "FiveWin.ch"
#include "richedit.ch"

Function Main()

   local oDlg
   local oRtf
   local hRichDLL  := LoadLibrary( "riched20.dll" )
   local cFile     := "testrtf.rtf"
   local cText     := MemoRead( cFile )

   DEFINE DIALOG oDlg TITLE "Test" PIXEL FROM 10, 10 TO 400, 600

   @ 02, 02 RICHEDIT oRtf;
                 VAR cText;
                  OF oDlg;
               PIXEL;
                SIZE 200, 150;
            READONLY

   ACTIVATE DIALOG oDlg CENTERED

   FreeLibrary( hRichDLL )

Return NIL
Alejandro Cebolido

Buenos Aires, Argentina
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: TRichEdit control en un dialog
Posted: Thu Feb 11, 2021 11:02 PM
Prueba asi, aunque te recomiendo utilizar el control TRichEdt5

Code (fw): Select all Collapse
#include "FiveWin.ch"
//#include "richedi5.ch"
#include "richedit.ch"

Function Main()

   local oDlg
   local oRtf
   local hRichDLL  := LoadLibrary( "riched20.dll" )
   local cFile     := "testrtf.rtf"
   local cText     := MemoRead( cFile )
   local cRtf      := ""

   DEFINE DIALOG oDlg TITLE "Test" PIXEL FROM 10, 10 TO 400, 600

   //@ 02, 02 RICHEDIT5 oRtf;
   @ 02, 02 RICHEDIT oRtf;
                 VAR cRtf;
                  OF oDlg;
               PIXEL;
                SIZE 200, 150 ;
            READONLY

   oDlg:bStart = { || oRtf:SetPos( 0 )}

   ACTIVATE DIALOG oDlg CENTERED ON INIT ( oRtf:LoadRtf( cText ) ) 

   FreeLibrary( hRichDLL )

Return NIL
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 244
Joined: Fri Oct 28, 2005 06:29 PM
Re: TRichEdit control en un dialog
Posted: Thu Feb 11, 2021 11:13 PM
cnavarro wrote:Prueba asi, aunque te recomiendo utilizar el control TRichEdt5

Code (fw): Select all Collapse
#include "FiveWin.ch"
//#include "richedi5.ch"
#include "richedit.ch"

Function Main()

   local oDlg
   local oRtf
   local hRichDLL  := LoadLibrary( "riched20.dll" )
   local cFile     := "testrtf.rtf"
   local cText     := MemoRead( cFile )
   local cRtf      := ""

   DEFINE DIALOG oDlg TITLE "Test" PIXEL FROM 10, 10 TO 400, 600

   //@ 02, 02 RICHEDIT5 oRtf;
   @ 02, 02 RICHEDIT oRtf;
                 VAR cRtf;
                  OF oDlg;
               PIXEL;
                SIZE 200, 150 ;
            READONLY

   oDlg:bStart = { || oRtf:SetPos( 0 )}

   ACTIVATE DIALOG oDlg CENTERED ON INIT ( oRtf:LoadRtf( cText ) ) 

   FreeLibrary( hRichDLL )

Return NIL


Cristobal, ud. es un genio, es exactamente lo que necesitba, habia probado con SetPos() pero no lograba hacerlo funcionar.
Muchisimas gracias maestro
Alejandro Cebolido

Buenos Aires, Argentina

Continue the discussion