Word wrap in EditBox

EDITBOX control doesn’t have a WORD-WRAP property but has this feature via HSCROLLBAR property.

Look at the sample :

/*
*  HMG – Harbour Win32 GUI library Demo
*
*  Copyright 2010 Roberto Lopez
*
HMG official EDITBOX demo slightly modified to demonstrate effect of HSCROLLBAR property.

*/

#include "hmg.ch"
Function Main
   LOCAL cTestText := STRTRAN( TestText(), CRLF, '' ) 

   DEFINE WINDOW Form_1 ;
      AT 0,0 ;
      WIDTH 640 HEIGHT 480 ;
      TITLE 'HMG EditBox!! Demo' ;
      MAIN 

      ON KEY ESCAPE ACTION Form_1.Release
      DEFINE STATUSBAR
         STATUSITEM 'HMG Power Ready!' 
      END STATUSBAR
      @ 30,10 EDITBOX Edit_1 ;
        WIDTH 600 ;
        HEIGHT 170 ;
        VALUE cTestText ;
        TOOLTIP 'EDITBOX with HSCROLLBAR is .T.'
      @ 230,10 EDITBOX Edit_2 ;
        WIDTH 600 ;
        HEIGHT 170 ;
        VALUE cTestText ;
        TOOLTIP 'EDITBOX with HSCROLLBAR is .F.' ;
        NOHSCROLL
  END WINDOW
  Form_1.Center()
  Form_1.Activate()

Return Nil
FUNCTION TestText()
    RETURN "HMG 2.0 ALPHA BUILD 004 Changelog: "+;
           "- New: Cell ( nRow , nCol ) property for GRID control (read(write). "+;
           "- New: Edit routines for GRID control. Editing is now 'in-cell'. "+;
           "- New: 'DynamicForeColor' / 'DynamicBackColor' properties for GRID "+;
           "control. Codeblock array (one element per column) evaluated "+;
           "for each cell at any grid change. "+;
           "This.CellRowIndex, This.CellColIndex and This.CellValue variables are "+;
           "available at codeblock evaluation. "+;
           "Sample: "+;
           "bColor := { || if ( This.CellRowIndex/2 == int(This.CellRowIndex/2) , ; "+;
           "RGB (128,128,128) , RGB (192,192,192) ) } "+;
           "DYNAMICBACKCOLOR { bColor , bColor, bColor, bColor, bColor, bColor } "+;
           "See \hmg\samples\grid\grid_10 "+;
           "\hmg\samples\grid\grid_11 "+;
           "\hmg\samples\grid\grid_12 "

StatusBar Control

HMG Tutor 19

Showing Status (Statusbar Control)

This control creates a bar at window’s bottom, used to show information (usually status information)

#include "hmg.ch"
Function Main
DEFINE WINDOW Win_1 ;
   AT 0,0 ;
   WIDTH 400 ;
   HEIGHT 200 ;
   TITLE 'Tutor 19 StatusBar Test' ;
   MAIN

   DEFINE MAIN MENU
      POPUP '&StatusBar Test'
         ITEM 'Set Status Item 1' ACTION ;
               Win_1.StatusBar.Item(1) := "New value 1"
         ITEM 'Set Status Item 2' ACTION ;
               Win_1.StatusBar.Item(2) := "New value 2"
      END POPUP
   END MENU

   DEFINE STATUSBAR
      STATUSITEM "Item 1" ACTION MsgInfo('Click! 1')
      STATUSITEM "Item 2" WIDTH 100 ACTION MsgInfo('Click! 2')
      CLOCK
      DATE
      STATUSITEM "Item 5" WIDTH 100
   END STATUSBAR

END WINDOW

ACTIVATE WINDOW Win_1

Return