Download at your own risk!
Dear HMGians,
It has been a long time since we had released our HMG. Rolling out in this new year 2015, here comes the latest version of HMG 3.4.0 (Test) with so many exciting and awesome features like DynamicFont, Grouping in Grid, CheckBox in Grid, ToolTip for menuitems, print to pdf etc.,
This is a test version. Please see the changelog for changes from the last version. I have uploaded only to SourceForge.net. I will upload to our site tomorrow. Till then you can download this version from here (46.70 MB).
Change Log:
HMG 3.4.0 (Test) 2015/01/15
- Updated to latest Harbour Nightly Build (2015-01-14)
- New HMG IDE version 1.0.7
- now stops build app if app is running
- if not specified text editor, search for text editor associate with PRG files
- New in Grid control
- <ParentWindowName>.<GridControlName>.PaintDoubleBuffer [ := | -->] lBoolean // Paints via double-buffering, which reduces flicker
- New Groups in Grid (see samples in grid samples folder)
- <ParentWindowName>.<GridControlName>.GroupEnabled [ := | -->] lBoolean
- <ParentWindowName>.<GridControlName>.GroupDeleteAll
- <ParentWindowName>.<GridControlName>.GroupDelete ( nGroupID )
- <ParentWindowName>.<GridControlName>.GroupExpand ( nGroupID )
- <ParentWindowName>.<GridControlName>.GroupCollapsed ( nGroupID )
- <ParentWindowName>.<GridControlName>.GroupAdd ( nGroupID [, nPosition ] )
- <ParentWindowName>.<GridControlName>.GroupInfo ( nGroupID ) [ := | -->] { [ cHeader ] , [ nAlignHeader ] , [ cFooter ] , [ nAlingFooter ] , [ nState ] }
- <ParentWindowName>.<GridControlName>.GroupItemID ( nItem ) [ := | -->] nGroupID
- nAlignHeader & nAlingFooter --> GRID_GROUP_LEFT | GRID_GROUP_CENTER | GRID_GROUP_RIGHT
- nState --> GRID_GROUP_NORMAL | GRID_GROUP_COLLAPSED
- New CheckBox to select item(s) in Grid (see samples in grid samples folder)
- <ParentWindowName>.<GridControlName>.CheckBoxes [ := | -->] lBoolean
- <ParentWindowName>.<GridControlName>.CheckBoxItem ( nRow ) [ := | -->] lBoolean
- New DynamicFont property to have any text font and style in any cell/header.
- <ParentWindowName>.<GridControlName>.HeaderDYNAMICFONT ( nCol ) := {|| {cFontName, nFontSize, [ lBold, lItalic, lUnderline, lStrikeOut ]} }
- New HeaderDynamicForeColor and HeaderDynamicBackColor
- <ParentWindowName>.<GridControlName>.HeaderDYNAMICFORECOLOR ( nCol ) := {|| aColor }
- <ParentWindowName>.<GridControlName>.HeaderDYNAMICBACKCOLOR ( nCol ) := {|| aColor } // not work
- Miscellaneous Features
- <ParentWindowName>.<GridControlName>.Image ( lTransparent ) := { "image1.png", "image2.bmp", ... }
- <ParentWindowName>.<GridControlName>.ImageIndex ( nRow , nCol ) [ := | -->] nIndex
- <ParentWindowName>.<GridControlName>.ImageList [ := | -->] hImageList
- <ParentWindowName>.<GridControlName>.ColumnDYNAMICFONT ( nCol ) := {|| {cFontName, nFontSize, [ lBold, lItalic, lUnderline, lStrikeOut ]} }
- <ParentWindowName>.<GridControlName>.HeaderImageIndex ( nCol ) [ := | -->] nIndex
- <ParentWindowName>.<GridControlName>.ChangeFontSize := nSize | NIL // Useful for use Dynamic Font with more (less) Height than the size of font the Grid control
- New Dynamic Font (in Grid and Tree controls see respective samples in Grid and Tree sample folders )
- New ToolTip Menu
- SET TOOLTIPMENU ON|OFF --> For default ToolTip MENU is ON
- SET TOOLTIPMENU TO <lOn>
- ToolTipMenuIsActive ()
- New ToolTip Custom Draw (see DOC\Misc. Commands\Set ToolTipCustomDraw)
- New concept of Array Font for various uses described elsewhere below.
- aFont := ARRAY FONT <cFontName> SIZE <nFontSize> [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] --> { cFontName, nFontSize, lBold, lItalic, lUnderline, lStrikeout }
- aFont := CREATE ARRAY FONT <cFontName> SIZE <nFontSize> [ BOLD <lBold> ] [ ITALIC <lItalic> ] [ UNDERLINE <lUnderline> ] [ STRIKEOUT <lStrikeout> ] --> { cFontName, nFontSize, lBold, lIitalic, lUnderline, lStrikeout }
- New Functions:
- FindFirstChangeNotification()
- FindNextChangeNotification()
- FindCloseChangeNotification()
- WaitForSingleObject()
- WaitForMultipleObjects()
- SetCursorSystem()
- SetWindowTheme (hWnd, cSubAppName, cSubIdList)
- HMG_StrCmp ( Text1 , Text2 , [ lCaseSensitive ] ) --> CmpValue
- HMG_IsValidFileName ( cFileName ) // cFileName --> ONLY FILE NAME without Path
- HMG_GetFileAssociatedWithExtension ( cExt ) --> return the full file name associated with extension (extension with point, e.g. ".TXT")
- New in SPLITBOX functions:
- REBAR_GETHEIGHT()
- REBAR_GETBANDCOUNT()
- REBAR_GETBARRECT()
- REBAR_GETBANDBORDERS()
- REBAR_SETMINCHILDSIZE()
- REBAR_GETBANDINFO()
- New Set icon of StatusBar item
- <ParentWindowName>.StatusBar.IconHandle (nItem) := hIcon
- New Addition of 455 new colors definitions, see INCLUDE\i_color.ch (contrib by Grigory Filatov)
- New GetFile() and PutFile() functions support parameter nFilterIndex, this is an index of the filter array (based upon a contribution of Kevin Carmody)
- New in PLAYER control:
- Volume (Set/Get)
- Seek (Set)
- New in Tree Control
- New Events
- ON EXPAND
- ON COLLAPSE
- This.TreeItemValue // available for OnExpand and OnCollapse events and DynamicForeColor, DynamicBackColor and DynamicFont properties.
- New DynamicFont, DynamicForeColor and DynamicBackColor
- <ParentWindowName>.<TreeControlName>.DynamicForeColor := {|| aColor }
- <ParentWindowName>.<TreeControlName>.DynamicBackColor := {|| aColor }
- <ParentWindowName>.<TreeControlName>.DynamicFont := {|| {cFontName, nFontSize, [ lBold, lItalic, lUnderline, lStrikeOut ]} }
- <ParentWindowName>.<TreeControlName>.ChangeFontSize := nSize | NIL // Useful for use Dynamic Font with more (less) Height than the size of font the Tree control
- New properties
- <ParentWindowName>.<TreeControlName>.IsExpand ( nValue ) --> lBoolean
- <ParentWindowName>.<TreeControlName>.ImageList [ := | --> ] hImageList
- <ParentWindowName>.<TreeControlName>.HasLines [ := | --> ] lBoolean
- <ParentWindowName>.<TreeControlName>.FullRowSelect [ := | --> ] lBoolean
- <ParentWindowName>.<TreeControlName>.HasButton ( nValue ) [ := | --> ] lBoolean
- <ParentWindowName>.<TreeControlName>.Cargo ( nValue ) [ := | --> ] xData
- <ParentWindowName>.<TreeControlName>.CargoScan ( xData ) --> nValue | NIL
- <ParentWindowName>.<TreeControlName>.GetPathValue ( nValue ) --> anPathValue | NIL
- <ParentWindowName>.<TreeControlName>.GetPathName ( nValue ) --> acPathName | NIL
- <ParentWindowName>.<TreeControlName>.GetDisplayLevel ( nValue ) --> nDisplayColumn | NIL
- New Events
- New Printer Features
- Select Printer PDF (Directly print to a pdf file)
- Select Printer DialogFileName and SaveAs
- SELECT PRINTER <cPrinter> [ PREVIEW ] [ NOSAVEBUTTON ] [ DIALOGFILENAME <cDialogFileName> ] [ SAVEAS <cFullFileName> ]
- cDialogFileName --> [ cPath\ ] cFileName + [ cExt ] --> ".PDF" | ".BMP" | ".JPG" | ".GIF" | ".TIF" |".PNG" | ".EMF"
- cFullFileName --> [ cPath\ ] cFileName + cExt --> ".PDF" | ".BMP" | ".JPG" | ".GIF" | ".TIF" |".PNG" | ".EMF"
- SELECT PRINTER <cPrinter> [ PREVIEW ] [ NOSAVEBUTTON ] [ DIALOGFILENAME <cDialogFileName> ] [ SAVEAS <cFullFileName> ]
- New property ANGLE <nAngle> in PRINT DATA (nAngle: are in degrees and counterclockwise)
- New BosTaurus Functions
- BT_ToolBarBottomHeight (Win)
- BT_ToolBarBottomWidth (Win)
- BT_ToolBarTopHeight (Win)
- BT_ToolBarTopWidth (Win)
- BT_MathPI ()
- BT_MathSIN ( AngleInDegrees )
- BT_MathCOS ( AngleInDegrees )
- BT_MathTAN ( AngleInDegrees )
- BT_MathCircumferenceY ( Radius, AngleInDegrees ) --> nRow
- BT_MathCircumferenceX ( Radius, AngleInDegrees ) --> nCol
- BT_MathCircumferenceArcAngle ( Radius, Arc ) --> AngleInDegrees
- BT_SelectObject (hDC, hGDIobj)
- BT_DeleteObject (hGDIobj)
- BT_DrawTextSize (hDC, cText, cFontName, nFontSize, nTypeText) --> { w , h , ABC of first character }
- BT_RegionCreateElliptic (nCol1, nRow1, nCol2, nRow2)
- BT_RegionCombine ( @hRgnDest, hRgnSrc1, hRgnSrc2, nCombineMode ) --> nResult
- BT_RegionFrame (hDC, hRgn, aColor, nWidth, nHeight)
- BT_ImageListGetSystemIcon ( [ lLargeIcon ] ) --> hImageList ( You NEVER add, remove or delete icons from the System Imagelist )
- BT_ImageListExtractIcon (hImageList, nIndex) --> hIcon
- BT_DirectoryInfo ( [nCSIDL | cPath] , [nTypeList] , @nIndexRoot, @CSIDL_Name ) --> { { Data1, Data2, Data3, ... } , ... }
- New Demos
- MiniWriter (RichEditBox demo in Applications contributed by Eduardo L. Azar)
- Enhanced BUILD.BAT and BUILD64.BAT stops build app if app is running (contrib by Pablo César)
- Enhanced DEFINE WINDOW: now AT, ROW, COL, WIDTH and HEIGHT parameters are optional (contrib by Pablo César)
- Fixed bug in RichEdit Control Justify text and in ParaNumberingStyle constants (contrib by Kevin Carmody)