Page 1 of 1

Auto Resize EditorGadget() [Windows]

Posted: Tue Dec 09, 2014 6:34 am
by RASHAD
No matter what the EditorGadget has (Plain text or RTF or Both)
You can auto resize it in a fancy way
Have fun

Code: Select all

OpenWindow(0, 0, 0, 400, 300,"Editor Test", #PB_Window_SystemMenu| #PB_Window_MinimizeGadget| #PB_Window_MaximizeGadget| #PB_Window_ScreenCentered)
ContainerGadget(0,10,10,380,250,#PB_Container_Flat)
EditorGadget(1,-1,-1,400, 270,#PB_Editor_WordWrap|#PB_Editor_ReadOnly)
CloseGadgetList()
ButtonGadget(2,10,270,80,20,"Auto Resize")
a$="{\rtf1\ansi\ansicpg1252\deff0\deflang2057{\fonttbl{\f0\fswiss\fcharset0 Arial;}}{\colortbl ;\red255\green0\blue0;\red0\green0\blue0;}"
a$=a$+"{\*\generator Msftedit 5.41.15.1503;}\viewkind4\uc1\pard\f0\fs20 Hello, this is \cf1\b\fs32 RTF\cf2\b0\fs20 direct!\cf0\par}"
*mem = AllocateMemory(StringByteLength(a$, #PB_UTF8) + 1)
 PokeS(*mem, a$, -1, #PB_UTF8)      
For x = 0 To 3
   AddGadgetItem(1, x,PeekS(*mem))
Next

AddGadgetItem(1,4, "RASHAD")
AddGadgetItem(1,5, "Bill")
Repeat  
  Select WaitWindowEvent()
       
      Case #PB_Event_CloseWindow
          Q =1 
      
      Case #PB_Event_Gadget 
          Select EventGadget()
           Case 2
                  For line = 1 To 6
                      SetActiveGadget(1)
                      AddGadgetItem(1,line,"")
                      GetCaretPos_(p.POINT)
                      RemoveGadgetItem(1,line)
                  Next          
                  ResizeGadget(0,10,10,380,p\y-9)
                  ResizeGadget(1,-1,-1,400,p\y-9)
                  
          
          EndSelect
  EndSelect
Until Q = 1

Re: Auto Resize EditorGadget() [Windows]

Posted: Tue Dec 09, 2014 9:47 am
by Kwai chang caine
That's works
Thanks RASHAD for sharing 8)