Page 1 of 2
How to show a large text
Posted: Tue Mar 27, 2018 1:49 pm
by vilian
Hi guys,
Do you know what is the best way to show quickly a large text?
Probably i will need show it with a Vscroll.
Re: How to show a large text
Posted: Tue Mar 27, 2018 2:09 pm
by cnavarro
How long (bytes) ?
Re: How to show a large text
Posted: Tue Mar 27, 2018 2:12 pm
by vilian
5kb in average.
Re: How to show a large text
Posted: Tue Mar 27, 2018 2:32 pm
by nageswaragunupudi
Use GET MEMO
Re: How to show a large text
Posted: Tue Mar 27, 2018 2:36 pm
by vilian
Mr Rao,
I tried with MemoEdit() but its allows the user to change the content and I only wants to show the content.
Re: How to show a large text
Posted: Tue Mar 27, 2018 2:40 pm
by cnavarro
Use clause READONLY
Re: How to show a large text
Posted: Tue Mar 27, 2018 2:46 pm
by vilian
Ok,
I was thinking that FWH had a user quick dialog box. I will create a dialog and use GET MEMO to show it.
Re: How to show a large text
Posted: Tue Mar 27, 2018 2:54 pm
by nageswaragunupudi
Code: Select all
function ShowText( cText )
local oDlg
DEFINE DIALOG oDlg SIZE 600,300 PIXEL TRUEPIXEL
@ 20,20 GET cText MEMO SIZE 560,260 PIXEL OF oDlg READONLY
ACTIVATE DIALOG oDlg CENTERED
return nil
Re: How to show a large text
Posted: Tue Mar 27, 2018 2:57 pm
by vilian
Thank you
Re: How to show a large text
Posted: Tue Mar 27, 2018 3:31 pm
by nageswaragunupudi
Please also try this interesting function
Code: Select all
local oWnd
DEFINE WINDOW oWnd
@ 20,20 BUTTON "Show Text" SIZE 80,30 PIXEL OF oWnd ;
ACTION HTMLPOP( GetActiveWindow(), nil, 0x000E, MEMOREAD( "c:\fwh\samples\tutor01.prg" ) )
ACTIVATE WINDOW oWnd CENTERED
Re: How to show a large text
Posted: Tue Mar 27, 2018 3:56 pm
by TimStone
I'm not sure what you are seeking.
I do have some memo fields within a dialog that users want both more space to edit ( so they can see more than what fits in the control space), and a larger font. I have a button that pops up a dialog using a larger size, and a larger font. It's popular.
Re: How to show a large text
Posted: Tue Mar 27, 2018 4:04 pm
by nageswaragunupudi
Mr Vilian just wants to display medium-sized multi-line text without editing. We provided a basic sample. What font and size he likes and what size of dialog he wants he will decide and implement depending on his requirements.
Re: How to show a large text
Posted: Tue Mar 27, 2018 6:29 pm
by TimStone
Here is a simple function I created. You can pass any text variable ( cLabTxt ) to it, call it with a button or other command ( ie. you could do a double click with a field to call it ), and it pops up a dialog box. The text is bold ( darker ) and larger, and it provides more editing space.
This is just another sample of a way to do the work you wish.
Code: Select all
FUNCTION ExpandText( cLabTxt )
LOCAL oXTxt, oGt1, oBarExp
LOCAL aPubGrad := { | lInvert | If( ! lInvert, { { 0.50,16776960,16777215 }, ;
{ 0.50,16777215,16776960 } }, { { 0.50,128,16777215 }, { 0.50,16777215,128 } } ) } // HCYAN, WHITE ; RED, WHITE
DEFINE FONT oLfont NAME cSysFont SIZE 0,-14 BOLD
DEFINE DIALOG oXTxt RESOURCE "EXPTXT" BRUSH oBrush transparent OF oWnd FONT oLFont
REDEFINE GET oGt1 VAR cLabTxt MEMO ID 8522 OF oXTxt
oXTxt:bStart = { || oGt1:GoBottom() }
REDEFINE BUTTONBAR oBarExp ID 100 SIZE 60,60 OF oXTxt 2015
oBarExp:bClrGrad := aPubGrad
DEFINE BUTTON oBtnEx1 OF oBarExp RESOURCE "HROK" PROMPT "OK" ACTION ( oXTxt:end()) ;
MESSAGE "Make your changes and press OK"
DEFINE BUTTON oBtnEx2 OF oBarExp RESOURCE "SPELL" PROMPT "Spell" TOOLTIP "Spell check text" ;
ACTION ( cLabTxt := SpellOne( cLabTxt ), oGt1:refresh( ) ) NOBORDER TRANSPARENT
ACTIVATE DIALOG oXTxt ON INIT oBarExp:lTransparent := .F. CENTERED
RETURN( cLabTxt )
Here is the .rc code:
Code: Select all
EXPTXT DIALOG 0, 0, 660, 410
STYLE WS_POPUP | WS_CAPTION
CAPTION "Text Editor"
{
CONTROL "", 100, "TBar", 0|WS_CHILD|WS_VISIBLE, 0,0, 660, 30
EDITTEXT 8522,10,40,640,360,ES_MULTILINE | ES_WANTRETURN | WS_VSCROLL
}
Re: How to show a large text
Posted: Thu Dec 31, 2020 9:02 am
by Horizon
cnavarro wrote:How long (bytes) ?
Hi,
If we have more 30000 bytes, memoedit readonly does not show. I dont use memo fields (dbfcdx) in this situation. Just use to show and add some characters (Append method) with other button. save it with another method.
Code: Select all
oNots:Append(CRLF+CRLF+DTOC(DATE())+" - "+TIME()+" - "+ ALLTRIM(xUSERNAME+CRLF+REPLICATE("-",60)+CRLF+ALLTRIM(cText))
Any solution?
Re: How to show a large text
Posted: Thu Dec 31, 2020 3:19 pm
by nageswaragunupudi
If we have more 30000 bytes, memoedit readonly does not show.
If you are using FWH2006, even larger text is displayed without any limit.
(Note: MEMOEDIT function is renamed as FW_MEMOEDIT)