Harbour Minigui

HMG 3.x Changelog

Nota Importante
Posteriormente a estas modificaciones, han sido creadas nuevas versiones, tanto estables como en desarrollo, para lo cual sugerimos visitar el foro Oficial de Harbour MiniGUI, donde se encuentra más información detallada del proyecto.
 
02/04/2010
  • Harbour MiniGUI 3.0.28
 
 
  • Solucionado: IDE. Problemas de edición con el evento OnHScroll. Reportado por Czarny_Pijar.
  • Solucionado: Problemas con data-bound Grid cuando el código es generado por el IDE. Reportado por Claudio Tedesco.
  • Solucionado: Problemas al actualizar data-bound Grid después de cambiar el orden de la tabla (\samples\grid.35). Reportado por Ralph.
  • Solucionado: Problemas ejemplo de report. Reportado por Claudio Tedesco.
 
 
 
29/03/2010
  • Harbour MiniGUI 3.0.27

  • Solucionado: Problemas con el tamaño de la ventana del inspector de objetos (IDE) en Windows 7. Reportado por Sudip.
  • Nuevo: Propiedades DisabledBackColor y DisabledForeColor para el control TextBox. Ejemplo: \samples\TextBox.1.
 
26/03/2010
  • Harbour MiniGUI 3.0.26
 
  • Solucionado: Problema con el método Refresh del control Grid (data-bound) cuando es inicializado con una tabla vacía. Reportado por Sudip.
  • Solucionado: Problema con el número de copias en la ventana de vista previa de impresión. Reportado por Swapan.
  • Solucionado: Problema con el comando QUIT. Reportado por Czarny_Pijar. Solución basada en una sugerencia de Fprijatelj.
  •  Nuevo: Propiedades DisabledBackColor y DisabledForeColor para el control Edit. Ejemplo: \samples\edit.
  • Actializado: HFCL a la versión 0.95a.
 
 
14/03/2010
  • Harbour MiniGUI 3.0.25
 
  • Nuevo: Método 'OnSave' para Data-bound Grid. Este método permite establecer un procedimiento 'Save' personalizado. Las siguientes propiedades están disponibles mientras este método se ejecuta:

    - This.EditBuffer: Array (un elemento por cada celda editada).

    Los elementos tienen la siguiente estructura:

    { nLogicalRow , nLogicalCol , xValue , nRecNo }               

    - This.AppendBuffer: Array (un elemento por cada registro agregado).
    Los elementos tienen la siguiente estructura:

    { xFieldValue 1 , ... , xFieldValue n }                           
    - This.MarkBuffer: Array (un elemento por cada registro marcado para ser eliminado o recuperado).

    Los elementos tienen la siguiente estructura:

    { nLogicalRow , nRecNo , cMark ( 'D' or 'R' ) }

    Ejemplo: \samples\grid.34


  • Nuevo: PsPad freeware editor. Es un editor de programas que uso para trabajar desde IDE y línea de comando.   

PsPAd tiene muchas buenas características, incluyendo resaltado de sIntaxis. Recientemente descubrí que puede distribuirse libremente, por lo cual, decidí incluirlo en la distribución de HMG.

Desde esta versión, PsPAd es el editor de m'ódulos por defecto para IDE en lugar de NotePad.
 
 
 
 
07/03/2010
  • Harbour MiniGUI 3.0.24
 
  • Modificado: Data-bound Grid.
  • Las operaciones Delete y Recall son siempre 'buffered'.
  • Desde esta versión las tablas filtradass (set filter / set deleted / index...for) pueden usar los métodos 'Delete' y 'Recall'.
 
01/03/2010
  • Harbour MiniGUI 3.0.23
 
  • Los cambios hechos a la tabla (excepto delete y recall) se registrarán siempre en un 'buffer'.
  • Para grabar los cambios pendientes deberá usarse el método 'Save' (Alt+S).
  • Para deshacer los cambios deberá usarse el nuevo método 'ClearBuffer' (Alt+U).
  • Al hacer los cambios:
  • Los nuevos registros aparecerán al final de la tabla.
  • En caso de editarse un campo clave, este permanecerá en la misma posición.
  • En caso de editarse un campo usado en una expresión de filtro, este permanecerá visible.
  • El método 'Save' provocará la actualización en cuanto a posición y visibilidad de un registro al grabar la tabla.
  • Habrá código separado para los RDDs SQLMIX y PGRDD en el método 'Save', para facilitar la implementaci'ón del soportede escritura para los mismos.
  • Solucionado: Problema con el método 'Capture'. Reportado por Claudio.
  • Modificado: Fix en Textbox (introducido en 3.0.20) temporariamente revertido (nuevamente) ya que ha creado nuevos problemas (se requiere más investigación de para solucionar el problema original sin crear 'daño colateral'.
 
 
 
22/02/2010
  • Harbour MiniGUI 3.0.22
  • Solucionado: Problemas con la propiedad 'recno' en Grid con tablas filtradas. Reportado por Raumi75.
  • Solucionado: Verificación de errores en data-bound Grid para evitar la edición de tablas PostGre y SqlMix. Reportado por Raumi75.
  • Solucionado: Problemas con el control Activex. Reportado por Vanguarda.
  • Nuevo: Ejemplo 'FlagMovil' por Humberto Fornazier y Mustafá López.
  • Nuevo: Ejemplo 'Grid.33'.
  • Nuevo: Ejemplo 'Player.2' por Mustafá López.
 
 
14/02/2010
  •  Harbour MiniGUI 3.0.21
  • Solucionado: 'build.bat' incorrecto en varios ejemplos.
  • Solucionado: Varios problemas en Grid: Tablas filtradas y con índices condicionales, bloqueo con SQLMIX y POSTGRE y varios bugs menores. Gracias a Raumi75, Mol y Vanguarda por los reportes.
  • Solucionado: Problema con el control Player. Reportadpor Vanguarda. 
  • Nuevo: Ejemplos GRID.31 y GRID.32.
  • Actualizado: HFCL. Gracias a Rathinagiri.
 
07/02/2010
  •  Harbour MiniGUI 3.0.20 Versión Final.
 
 
  • Nuevo: Virtual Grid soporta las propiedades allowedit, ColumnWhen, ColumnValid, ColumnControls, DynamicBackColor y DynamicForeColor desde esta versión. Ejemplos: GRID_24 y GRID_25.
  • Nuevo: 'ColumnControls' soporta ahora el control EDITBOX ([Ctrl+W] para aceptar y [Esc] para cancelar). Ejemplo: GRID_25.
  • Nuevo: 'ColumnControls' (Grid) soporta ahora un tercer parámetro para el control ComboBox. Este nuevo parámetro es un array conteniendo los valores para almacenar en el Grid lugar de la posición del elemento seleccionado. Ejemplo: GRID_27.
  • Modificado: Desde exta versión es posible salir del modo de edición en el control Grid con un click de mouse (equivalente a usar le tecla [Enter])
  • Nuevo: Soporte para tablas para el control Grid:
  1. 'RowSource' Property.
  2. 'ColumnFields' Property.
  3. 'AllowAppend' Property.
  4. 'AllowDelete' Property.
  5. 'Buffered' Property.
  6. 'DynamicDisplay' Property.
  7. 'RecNo' Property.
  8. 'Append' Method.
  9. 'Save' Method.
  10. 'Refresh' Method.
  11. 'Delete' Method.
  12. 'Recall' Method.

En el modo 'Buffered', al agregar un nuevo registro, este se almacenará en un buffer temporal (de un registro).
Este buffer es vaciado y su contenido guardado en la tabla cuando se agrega un nuevo registro, con el método 'Save' o uando el control Grid es eliminado.


La ventaja principal de esta forma de trabajo es que el uevo registro se posicionará al final del Grid, sin ser fectado por el orden impuesto por el índice activo.

'Append' tiene el atajo Alt+A.
'Save' tiene el atajo Alt+S.
'Delete' tiene el atajo Alt+D.
'Recall' tiene el atajo Alt+R.

'DynamicDisplay' permite definir un arrays de code-blocks para personalizar el contenido de las celdas que se mostrará (un lemento por columna).
This.CellValue, This.CellRowIndex y This.CellColIndex estan disponibles para ser evaluados en el code-block.

El registro seleccionado puede establecerse por medio de la propiedad 'value' de la misma forma que en un grid con el estilo 'cellnavigation'.
También puede usarse la nueva propiedad 'recno', estableciendo el item activo por medio de su número de registro físico.

El método 'Refresh' debe usarse para actualizar cambios hechos a la tabla por fuera de Grid.

Los registros marcados para eliminación no pueden ser editados y se mostrarán en color gris claro.

Ejemplos: GRID_25, GRID_26, GRID_27, GRID_28, GRID_29, GRID_30.

- Solucionado: El procedimiento 'OnChange' ejecutado by por los
eventos gotfocus/lostfocus
para el control textbox (numeric-inputmask). Reportado por Grigory Filatov.

  • Solucionado: Problemas con Grid (editable, cell-navigation). Reportado por Sudip.
  • Solucionado: Problemas con el control Timer. Reportado por Grigory Filatov.
  • Solucionado: Problemas con when en Browse. Reportado por Luis Vasquez.
  • Solucionado: Problemas expresiones de grupo numéricas en el generador de reportes. Reportado por Fernando Chirico.
  • Solucionado: Problemas con el generador de reportes al no especificar encabezado de grupo. Reportado por Sudip.
  • Soluconado: Virtual GRID. Problemas de actualización. Reportado por Vanguarda.
  • Modificado: La instalación de HMG es portable desde esta versión. Por lo tanto, puede ser instalado en cualquier carpeta (diferente de c:\hmg).
  • Actualizado: Harbour compiler a 2.0.0 (r13372) DISTRIBUCION OFICIAL.
  • Actualizado: MingW compiler a 4.4.1
  • Nuevo: Propiedad MULTILINE para el control TAB.
  • Nuevo: Conjunto de archivos de recursos. Contribución: Vanguarda.
  • Modificado: Mensajes en Portugués. Contribución: Salamandra.
  • Modificado: Samples.

Eliminado: Ejemplos ADORDD (adordd no funciona en la versión actual de Harbour)

Agregados:

-\HMG\SAMPLES\RDD.SQL\MYSQL
-\HMG\SAMPLES\RDD.SQL\ODBC
-\HMG\SAMPLES\RDD.SQL\ARRAY
-\HMG\SAMPLES\MEMORY.TABLES
-\HMG\SAMPLES\MULTI.WIN
-\HMG\SAMPLES\SQLITE
-\HMG\SAMPLES\POSTGRESQL
-\HMG\SAMPLES\NETIO.01
-\HMG\SAMPLES\NETIO.02
-\HMG\SAMPLES\HMGTALK

Modificado:

-\HMG\SAMPLES\MULTI.PRG
-\HMG\SAMPLES\CONTAINERS\TOOLBAR*

Nuevo:'Build.bat' (reemplaza a 'compile.bat').

Build [/i|/r|/d|/cs|/ci/cr] <PrgFile> | <filelist.hbp> [config.hbc]

[/i] : incremental build
[/r] : incremental build (rebuild all)

[/cs] : Console/mixed mode (std build)
[/ci] : Console/mixed mode (incremental build)
[/cr] : Console/mixed mode (incremental rebuild all)

[/d] : Debug mode (gui and console)


<filelist.hbp> : Un archivo de texto con la lista de programas del proyecto.
<configfile.hbc>: Un archivo de texto con información de configuración
(librerías adicionales y paths de include y librerías adicionales).

<configfile.hbc> Syntax:

incpaths = incpath1 incpath2 ... incpathn

libpaths = libpath1 libpath2 ... libpathn

libs = lib1 lib2 ... libn

mt=yes (soporte multi-threading)

  • Los nombres de librería no deben incluir el prefijo 'lib' ni la extensión '.a'
  • 'build.bat' creará un archivo llamado 'error.log' en la carpeta de la aplicaci'ón cuando el proceso de compilación falle.

Ejemplo: \HMG\SAMPLES\MULTI.PRG

  • Modificado: Desde esta versión, Browse es considerado un control de compatibilidad (obsoleto) y por lo tanto no recomendado. Este es reemplazado por el control Grid.

 

Modificado: Nuevo control de errores en los eventos 'ColumnWhen' y 'ColumnValid' de Browse y Grid para evitar el intento de edición simultánea de celdas en diferentes instacias del control. Reportado por Luis Vazquez.
 
09/10/2009
  • Harbour MiniGUI 2.9.5 Changelog:
 
  • Nuevo: Cláusula 'Filled' para el comando PRINT RECTANGLE. Contribución de Rathinagiri.

  • Nuevo: Sección 'DATA' para el generador de reportes. Por medio de esta sección puede definirse un 'Iterador'y un 'Stopper'.

        BEGIN DATA
            ITERATOR     <xExpression>
            STOPPER     <xExpression>
        END DATA

    Esta nueva característica es útil, por ejemplo, para usar arrays en lugar
    de tablas para los reportes.

    Ejemplo:

        Public i := 1
        Public aRows [ 20 ] [ 3 ]
        ...
        DEFINE REPORT TEMPLATE
            BEGIN DATA
                ITERATOR    i++
                STOPPER        i == 20
            END DATA
            ...
            BEGIN DETAIL
                BANDHEIGHT    6
                BEGIN TEXT
                    EXPRESSION    aRows [i] [1]
                ...
            END DETAIL
        ...           
        END REPORT       

    La sección es opcional. Si se omite, 'Iterator' es establecido como 'dbskip()'
    y 'Stopper()' como 'Eof()'.

    Ejemplo Completo: \hmg\samples\report.advanced\demo8.prg
 
 
20/08/2009
  • Harbour MiniGUI 2.9.4 Changelog:
 
  • Solucionado: Multiples botones con el estilo 'botón por defecto'.

Reportado por Vanguarda. Gracias a Grigory Filatov por la ayuda. 
 
20/07/2009
  • Harbour MiniGUI 2.9.3 Changelog:
 
  • Nuevo: Generqdor de reportes. Ejemplos y detalles en:
\hmg\samples\report.advanced.

  • - Solucionado: Problemas con el control HyperLink. Reportado por
Rathinagiri.

  • - Solucionado: Varios errores en la documentación.

  • - Solucionado: Bug en Browse. Reportado por Vanguarda.
 
 
08/06/2009
  • Harbour MiniGUI 2.9.2 Changelog:
 
  • Solucionado: Vista previa de impresión. Al cambiar de página desde la ventana 'ir a' la ventana no se actualiza.

  • Modificado: Documentación completada y corregida (indice, enlaces y formato).

  • Nuevo: Sinónimos (estilo propiedad) para los siguientes objetos (consultar la documentación para ver los detalles)

        - WINDOW
        - TOOLBAR
        - TREE
        - TAB
        - SPLITBOX
        - CONTEXT MENU
        - DROPDOWN MENU
        - MAIN MENU
        - STATUSBAR

  • Los siguientes sinónimos fueron agregaods para la sintaxis alternativa:

        - LINES  (NOLINES)
        - ALIGNMENT  (CENTERALIGN,RIGHTALIGN)
        - TODAY  (NOTODAY)
        - TODAYCIRCLE (NOTODAYCIRCLE)   
        - DATATYPE (NUMERIC,CHARACTER,DATE)
        - CASECONVERT (UPPERCASE,LOWERCASE)
        - TICKMARKS (NOTICKS)
        - AUTOSIZEWINDOW (NOAUTOSIZEWINDOW)
        - AUTOSIZEMOVIE (NOAUTOSIZEMOVIE)
        - ERRORDLG (NOERRORDLG)
        - MENU (NOMENU)
        - OPEN (NOOPEN)
        - PLAYBAR (NOPLAYBAR)
 
14/05/2009
  • Harbour MiniGUI 2.9.1 Changelog:
 
    * Solucionado: 'if' redundante en el procesamiento de eventos del control Grid. Reportado por Grigory Filatov.


    *  Solucionado: Grid (CellNavigation). Evento 'OnChange' no ejecutado cuando la selección es cambiada automáticamente después de aceptar los cambios de una celda con [Enter].
 

    * Solucionado: ComboBox con imágenes. Problemas de lectura con la propiedad 'Item'. Reported por Esgici.

    * Solucionado: Browse control. Al cambiar el registro seleccionado con el botón derecho del mouse no ejecytaba el procedimieto 'OnChange'.

    * Solucionado: Los cambios programáticos no ejecutaban el procedimiento 'OnChange' para los siguientes controles:

        - ComboBox
        - Slider
        - ListBox
        - Edit
        - DatePicker
        - RadioGroup
        - MonthCalendar

    * Solucionado: Propiedad 'Value'. Desde esta versión, los cambios programáticos a esta propiedad solo ocurrir'án cuando el nuevo valor sea

    diferente del anterior.

    * Solucionado: Problemas de foco con Grids editables en ventanas 'child'.    Reportado por Sudip.


    *  Modificado: Control Grid (CellNavigation). Las teclas de movimiento del cursor (arriba y abajo) permiten salir del modo de edición aceptando

    los cambios. Al aceptar la modificación de una celda con [Enter] se seleccionará automaticamente la celda contigua.

    * Modificado: Documentación finalizada.
 
20/04/2009
  • Harbour MiniGUI 2.8.6 Changelog:
 
  • Modificado: Control GRID (navegación 'por celda'). Desde esta
    versión la propiedad 'value' es un array numérico de dos elementos
    (Fila,Columna).

    Ejemplo: \hmg\samples\grid_21,\hmg\samples\grid_22,\hmg\samples\grid_23.
 
01/04/2009

  • Harbour MiniGUI 2.7.2 Changelog::


    - Nuevo: DRAGITEMS LISTBOX. Ahore es posible mover un item por encima
    del último.

    - Solucionado: Bug en This.CellValue. Gracias a Grigory Filatov.

    - Solucionado: \hmg\samples\mysql\demo2.prg. Reportado y solucionado
    por sudip.

01/04/2009
  • Harbour MiniGUI 2.7.1 Changelog:

    - Nuevo: Propiedad DRAGITEMS para el control LISTBOX.
    Esta propiedad permite al usuario reordenar los items en un ListBox
    arrastrándolos. Ejemplos:\hmg\samples\listbox

    - Solucionado: Bug en This.CellValue. Gracias a Grigory Filatov.
 
01/04/2009
  • Harbour MiniGUI 2.7.0 Changelog:
   
    - Nuevo: comando WAIT WINDOW.

        Este comando muestra una ventana con un mensaje personalizado
        y pausa la ejecución del programa hasta que se pulsa cualquier
        tecla o se hace clic.

        Cuando la cláusula opcional nowait se especifica, la ejecución
        del programa continua después de mostrar el mensaje
        Para ocultar la ventana debe usarse WAIT CLEAR.

        Este comando debe utilizarse sólo después de que la ventana
        principal se haya activado.

        Sintaxis (comando):

        WAIT WINDOW <cMessage> [nowait] | CLEAR

        Sintaxis (Función):

        WaitWindow ([cMessage, lNoWait])

        Para ocultar la ventana (WAIT CLEAR) debe omitirse
        ambos parámetros.

        Ejemplo 1:

            WAIT WINDOW "Press any key to continue"

        Ejemplo 2:

            WAIT WINDOW "Processing" NOWAIT           
            <...>       
            WAIT CLEAR

        Más ejemplos:\HMG\samples\wait_window

    - Nuevo: Objeto 'System'. Permitirá tener acceso de lectura y escritura
    a varias propiedades del sistema.
    La primera implementación permitirá tener acceso de lectura y escritura
    al portapapeles y acceso de lectura a varias propiedades del sistema.
    Las funciones de acceso al portapapeles están basadas en código de HWGUI
    y WHAT32.

        Sintaxis:

            System.Clipboard
            System.Clipboard := <cString>

            System.DesktopWidth
            System.DesktopHeight
            System.DefaultPrinter
            System.DesktopFolder
            System.MyDocumentsFolder
            System.ProgramFilesFolder
            System.SystemFolder
            System.TempFolder
            System.WindowsFolder

        Ejemplos:

            System.Clipboard := 'a string'

            <...>

            MsgInfo(System.Clipboard)

            <...>

            MsgInfo(Str(System.DesktopWidth))

            <...>

            MsgInfo(Str(System.DesktopHeight))

            <...>

            MsgInfo(System.DefaultPrinter)


    Más ejemplos: \hmg\samples\clipboard.

    - Modificado: Control Grid: 'This.CellValue' puede ser modificado.
    desde el procedimiento 'ColumnValid'. Ejemplo:\HMG\samples\grid_14

    - Modificado: El comando EXECUTE...WAIT soporta ahora la cláusula HIDE.   

    - Modificado: La librería ADORDD fue reemplazada por una versión anterior
    ya que la que se distribuye actualmente con Harbour presenta bugs (Muchas
    Gracias a Grigory Filatov por su ayuda!).

    - Modificado: La librería 'socket' de Mateo Baccan ya no es enlazada por
    defecto y será removida en el próximo release. Debe usarse HBTIP en
    su lugar.

    - Modificado: FRAW GRAPH (pie type) acepta ahora valores mayores a 7 digitos
    (Gracias a Esgici).

    - Solucionado: Problemas al cambiar el contenido de las celdas
    de un control Grid, desde el procedimiento 'ColumnValid', para
    la fila que se está editando.

    - Solucionado: Problemas con el método 'AddItem' (Grid)
    en sistemas Win9x.

    - Solucionado: Problemas con DRAW GRAPH (tipo PIE) con valores bajos
    (cercanos al 0%).
 
 
09/10/2008
 
HMG 2.6.7
 
  • Solucionado: Errores en la documentación.

  • Solucionado: Problemas con las directivas de preprocesador (semi-oop) introducidos en la versión 2.6.6. Reportado por Grigory Filatov.
 
  • Solucionado: Problema con libhbmysql.a. Reportado por Osvaldo Tambutti.
 
 
26/09/2008
 
HMG 2.6.6

  • Solucionado: Error en la documentación. Reportado por Grigory Filatov.

  • Solucionado: Otro problema en la vista previa de impresión introducido en la versión 2.6.2. Reportado por Grigory Filatov.

  • Solucionado: Sintaxis semi-oop para contenedores. Los controles pertenecientes a un Tab, SplitBox o ToolBar pueden ser referidos
    (opcionalmente) según se indica a continuación:

    Botones de ToolBar:

         Window.ToolBar.Button
   
    Controles en Tab:

        Window.Tab(nPage).Control

    Controles en SplitBox (El nombre 'SplitBox' es asignado automáticamente):

        Window.SplitBox.Control
   
    Cuando un ToolBar está en un SplitBox, la sintaxis es:

        Window.SplitBox.ToolBar.Button

    Ejemplos: \hmg\samples\containers. 
 
 
24/09/2008
 
HMG 2.6.5
 
  • Solucionado: Problema en la vista previa de impresión introducidoen la versión 2.6.2.
 
  • Actualizado: Harbour a la versión 1.01.
 
  • Modificado: Documentación.
 
 
31/08/2008
 
HMG 2.6.4
 
 
  • Solucionado: Problemas con la propiedad 'Caption' en los botones de ToolBar. Reportado por Grigory Filatov.
 
 
29/08/2008
 
HMG 2.6.3
 
 
  • Solucionado: Las propiedades 'RangeMax' y 'RangeMin' no funcionan al intentar cambiar sus valores en tiempo de ejecución para el control Spinner.
 
  • Solucionado: Dimensiones de las ventanas de vista previa de impresión en Vista con el tema 'Clásico'

  • Solucionado: Problemas con la propiedad 'Caption' en los botones de ToolBar.

  • Solucionado: Problema en la vista previa de impresión introducido en la versión 2.6.2. 
 
 
28/08/2008
 
HMG 2.6.2
 
  • Solucionado: El cambio de página de Tab basado en un atajo de teclado, causa la doble ejecución del evento 'OnChange'. Reportado por Grigory Filatov.

  • Solucionado: Los cambios en la propiedad Value del control CheckBox no ejecutan el procedimiento OnChange. Reportado por Grigory Filatov. 
 
 
27/08/2008
 
HMG 2.6.1
 
  • Solucionado: Problemas con la propiedad InputItems en el control  Browse. Reportado por Fernando Chirico y Grigory Filatov.

  • Solucionado: Los cambios en la propiedad Value del control Tab  no ejecutan el procedimiento OnChange. Reportado por: Gert Winderlich.
 
 
 
25/08/2008
 
HMG 2.6.0
 
  • Solucionado: Problema con el evento 'OnEnter' en ComboBox con imágenes.


  • Solucionado: Sintáxis extendida para el control TAB

 Más ejemplos en (c:\hmg\samples\tab).  
 
 
23/08/2008
 
HMG 2.5.9
 
  • Solucionado: Presionando [Esc] en un EditBox contenido en un SplitBox, causa que el SPlitBox se cierre.

  • Nuevo: Propiedad 'Multiline' para el control Button. Si se establece como .T., dividirá el texto del botón en múltiples líneas en caso que
    sea demasiado extenso como para una sola.

    Ejemplo:

        DEFINE BUTTON BUTTON_5       
            ROW            10
            COL            200
            CAPTION            "Please... Click This!"
            ACTION            MsgInfo('Thanks!')
            PICTURE            "button.BMP"
            WIDTH            120
            HEIGHT            60
            PICTALIGNMENT        LEFT
            MULTILINE        .T.
        END BUTTON

    Más ejemplos:\hmg\samples\button_2

 
17/08/2008
 
HMG 2.5.8
 
  • Solucionado: Problemas con la propiedad 'HeaderImages' en XP.
 
 
16/08/2008
 
HMG 2.5.7
 
  • Solucionado: Problemas con Activex cuando es usado en un TAB. Reportado por Juan Rendon.

  • Solucionado: Al cambiar el texto o la imagen del encabezado en un control Grid o Browse, la alineación cambia a la izquierda.

  • Solucionado: AL cambiar el contenido del item seleccionado en un ListBox, el valor cambia a cero.

  • Solucionado: Verificación de errores en ToolButton. Los botones 'Dropdown' deben estar asociados a una acción, de lo contrario, debe usarse el estilo 'WholeDropDown'

  •  Modificado: Los atajos de teclado en los botones 'WholeDropDown', ahora abren el menu asociado al botón.
 
 
14/08/2008
 
HMG 2.5.6
 
  • Actualizado: Harbour a la versión 1.0.0 FINAL!!! (Gracias a todoel euipo de Harbour por este GRAN TRABAJO!!).


  • Nuevo: Propiedad 'HeaderImages' para Grid y Browse. Es un array de caracteres conteniendo nombres de archivo de imagen o recursos (uno por cada columna).Para cambiar la imagen del header en tiempo de ejecución debe especificarse la posición de la columna como argumento.


  •  Ejemplo (Definición del control):


DEFINE GRID Grid_1
ROW 10
COL 10
WIDTH 500
HEIGHT 330
HEADERS {'Last Name','First Name','Phone'}
WIDTHS {140,140,140}
ITEMS LoadItems()
VALUE 1
HEADERIMAGES { '00.bmp' , '01.bmp' , '02.bmp' }
END GRID


  •  Ejemplo (Establecer la imagen en tiempo de ejecución):


Form_1.Grid_1.HeaderImages(1) := '03.bmp'


  • Ejemplo (Obtener el nombre de la imagen en tiempo de ejecución)

MsgInfo ( Form_1.Grid_1.HeaderImages(1) )

Más ejemplos: \hmg\samples\grid_18, \hmg\samples\browse_6


  • Solucionado: Problemas con ComboBox con imágenes en sistemas Win9x. Gracias a Grigory por el reporte.


  • Fixed: Misc errors in reference doc. Thanks to Esgici. 
 
 
 
 
11/08/2008
 
HMG 2.5.5

    - Nuevo: Propiedad 'DroppedWidth' para el control ComboBox.
    Esta propiedad permite establecer el ancho de la lista desplegable.
    'DroppedWidth' no puede ser menor al ancho del control.
    Ejemplos: \hmg\samples\combo_5.

    - Nuevo: Evento 'OnDropDown' para el control ComboBox.
    Este evento será ejecutado cuando el usuario abra la
    lista desplegable. Ejemplos: \hmg\samples\combo_5.

    - Nuevo: Evento 'OnCloseUp' para el control ComboBox.
    Se ejecutará cuando el usuario cierre la lista desplegable. Ejemplos:
    \hmg\samples\combo_5.

    - Solucionado: El item seleccionado es correctamente preservado
    luego de un 'refresh' en el control ComboBox que use la propiedad
    'ItemSource'.

    - Nuevo: Propiedad 'Image' para el control COmboBox.

    La propiedad 'Image' se usa para especificar un array conteniendo
    los nombres de archivos de imagen (o recursos) que se quiera asociar
    al control.

    Al agregar un item, debe especificarse el número de índice de la
    imagen (basado en cero) y el texto asociados al mismo.

    Al agregar items en la definición del control, debe usarse un array
    de dos dimensiones (una fila por cada item y dos columnas).
    La primera columna debe contener el número de índice de la imagen
    (posiciónen el array de imágenes definido mediante la propiedad
    'image') y la segunda columna debe contener el texto asociado al
    item.

    Cuando se agregan items usando el método 'AddItem' debe usarse un
    array de dos elementos: El primero, el índice de la imagen y el
    segundo el texto asociado al item.

    Al leer el contenido de un item por medio de la propiedad 'item'
    se obtendrá un array de dos elementos, según se describió en el
    punto anterior.

    Cuando las propuiedades 'Image' e 'ItemSource' se usan
    simultáneamente, 'ItemSource' debe especificarse como una lista
    conteniendo dos nombres de campo, correspondiendo al indice de la
    imagen y al texto de cada item, respectivamente.

    Las propiedades 'Sort' e 'Image' no pueden usarse simultáneamente.

    Ejemplo:

        DEFINE COMBOBOX Combo1
            ROW 10
            COL 250
            ITEMSOURCE CIDADES->CODIGO , CIDADES->DESCRICAO
            VALUE 2
            WIDTH 200                   
            HEIGHT 100                   
            IMAGE { 'Img1.bmp','Img2.bmp','Img3.Bmp','Img4.Bmp' }
            DROPPEDWIDTH 350
            ONDROPDOWN PlayBeep()
            ONCLOSEUP PlayAsterisk()       
        END COMBOBOX

        <...>

        aItems := {}

        aadd ( aItems , { 2 , 'Item 01' } )
        aadd ( aItems , { 0 , 'Item 02' } )
        aadd ( aItems , { 3 , 'Item 03' } )
        aadd ( aItems , { 1 , 'Item 04' } )

        DEFINE COMBOBOX Combo2
            ROW    10
            COL    10
            WIDTH    100
            ITEMS    aItems
            VALUE    1
            IMAGE    { 'Img0.bmp','Img1.bmp','Img2.Bmp','Img3.Bmp' }
        END COMBOBOX

        * Agregando una item con la imagen 'Img3.bmp' y el texto
        * 'Hello!'

        Win1.Combo2.AddItem( { 3 , 'Hello!' } )

    Más Ejemplos: \hmg\samples\combo_5
 
 
02/08/2008 
 
Harbour MiniGUI 2.5.4
 
  • Solucionado: Problemas de acceso a la propiedad InputItems en tiempo de ejecución.
  • Solucionado: Altura de la ventana de edición al usar InputItems en Browse (Gracias a Grigory por el reporte).
  • Solucionado: Problema al agregar nuevos registros a Browse cuando se usa InputItems (Nuevamente, Gracias a Grigory por el reporte).
  • Solucionado: Problemas en la actualización de algunos controles pertenecientes a un TAB cuando se usa el tema 'Windows Clásico' en
    Vista (Gracias a Rathinagiri por el reporte).
  • Solucionado: Función WindowsVersion() para el reconocimiento de Windows Vista.
  • Solucionado: Problemas con RadioGroup horizontal en ventanas virtuales (\hmg\samples\VirtualDim).
  • Modificado: Ctrl+W puede usarse en lugar de [Enter] en la función InputBox() y en la edición de Browse.
 
24/07/2008
 
Harbour MiniGUI 2.5.3:

  •      Nuevo: Ejemplos Activex (Adobe Reader y Flash Player):
         \hmg\samples\activex.

  • Nuevo: Propiedades 'InputItems' y 'DisplayItems' para el control
    browse.

    La propiedad 'InputItems' sirve para controlar la entrada de datos en
    Browse.
    Esta propiedad es un array (un elemento por cada columna de browse).
    Cada elemento (si se especifica) debe ser un array de dos dimensiones.
    La primera columna en el array debe contener los datos a mostrarse al
    usuario. La segunda columna debe contener los datos a almacenar en la
    tabla(ID) para cada fila de texto en el array.
   
    La propiedad 'DisplayItems' permite controlar los datos a mostrar en
    browse. Esta propiedad es un array (un elemento por cada columna de
    browse). Cada elemento (si se especifica) debe ser un array de dos
    dimensiones. La primera columna en el array debe contener el texto
    a mostrar al usuario. La segunda columna debe contener el ID para cada
    fila del array. Se buscará en el array el ID correspondiente en
    la tabla para mostrar el texto correcto en la celda correspondiente.
    en caso de no encontrarse correspondencia, se mostrará la celda en
    blanco.

    Ejemplos: \hmg\samples\browse_5\
 
 
 
 
18/07/2008
 
Harbour MiniGUI 2.5.2 
 
- Nuevo: Ejemplo Activex (c\hmg\samples\activex\demo5.prg).

    - Solucionado: 'c:\hmg\batch\compile.bat'. Problemas al crear aplicaciones MySql incluyendo recursos (Gracias a MARIO SÉRGIO por el reporte).

    - Solucionado: Activex control. Verificacion de errores.

    - Solucionado: Ejemplo User componets (Gracias a Bicahi Esgici por el reporte).

    - Solucionado: Referencia. User components.
 
 
15/07/2008


Harbour MiniGUI 2.5.1

  •  Nuevo: Soporte para Activex. Inspirado por la implementación de Activex creada por Oscar Joel Lira Lira
    (http://sourceforge.net/projects/freewin).
    Una nueva propiedad llamada 'Object' fue agregada para manipular
    el control.

    Sintaxis:
       
        @ <nRow>,<nCol> ACTIVEX <ControlName>
            [ OF | PARENT <ParentWindowName> ]
            WIDTH <nWidth>
            HEIGHT <nWidth>
            PROGID <cProgId>

        O:

        DEFINE ACTIVEX <ControlName>
            <PropertyName>    <PropertyValue>
            <...>
        END ACTIVEX

    Ejemplo:

        <...>

        @ 10 , 50 ACTIVEX Test ;
            WIDTH 700  ;
            HEIGHT 400  ;
            PROGID "shell.explorer.2" 

        <...>

        Win1.Test.Object:Navigate("www.harbour-project.org")

    Más ejemplos: \hmg\samples\activex.
 
07/07/2008


Harbour MiniGUI 2.5.0

  • Modificado: Número de verión actualizado a 2.5 reflejando varios cambios importantes relacionados con librerías accesorias  (no relacionadas con el núcleo de MiniGUI).
    Las aplicaciones que usen comandos de soporte para el manejo de
    archivos ZIP o de Registry REQUERIRÁN cambios en el código.

    - Actualizado: Compilador Harbour a la version 1.0 RC2.

    - modificado: El soporte para ZIP es proporcionado por la librería HBMZIP
    (contribución de Harbour) que es enlazada por defecto. La cláusulas
    STOREPATH, LEVEL, EXTRACTPATH y CREATEDIR, han sido REMOVIDAS de los
    comandos COMPRESS/UNCOMPRESS. XZIP.DLL YA NO ES REQUERIDA.

        - Los paths serán siempre almacennados cuando sean
        especificados en el array <aFiles>.

        - Los paths serán siempre restaurados cuando se hayan
        especificado en  <aFiles> al momento de la compresión.

    La sintaxis actualizada (simplificada) de los comandos es:

        COMPRESS [ FILES ] <aFiles>
            TO <cZipfile>
            [ BLOCK <bBlock> ]
            [ OVERWRITE ]

        UNCOMPRESS [ FILE ] <cZipfile>
            [ BLOCK <bBlock> ]

    Alternativamente estas nuevas funciones pueden usarse:

    CompressFiles ( <cZipfile> , <aFileNames> , [<bBlock>] , [<lOovr>] )
    UncompressFiles ( <cZipfile> , [<bBlock>] )

    Ejemplos: \hmg\samples|\zip.

    - Modificado: El soporte de Registry es proporcionado por la
    librería HBW32 (contribución de Harbour enlazada por defecto).
    Los comandos: OPEN REGISTRY, GET VALUE, SET VALUE, DELETE VALUE y
    CLOSE REGISTRY han sido REMOVIDOS.
    Las siguientes funciones deben usarse en su lugar:

        RegistryRead( cRegPath )
        RegistryWrite( cRegPath, xValue )

    Ejemplos:

    RegistryRead("HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper" )
    RegistryWrite("HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper","New")

    Más ejemplos \hmg\samples\registry.

    - Modificado: Bug report. Para reportar bugs:
        http://sourceforge.net/harbourminigui (bugs section)

    - Modificado: Wish list. Para enviar ideas y sugerencias:
        http://sourceforge.net/harbourminigui (Wish list section)
 
28/06/2008
 
Harbour MiniGUI 2.0.032

  • Actualizado: Harbour a la versión 1.0 RC1 (se hicieron cambios
    menores a HMG para hacerla compatible con esta nueva versión).

  • Nuevo: Ejemplo de ADORDD (\hmg\samples\adordd-2).
 
 
27/06/2007
 
Harbour MiniGUI 2.0.031 Changelog:
 
- Solucionado: Problemas con imágenes en botones (Vista y XP). Gracias a Bicahi Esgici.

- Solucionado: Problemas de edición en Browse y Grid en ventanas de tipo Standard.

- Solucionado: Problemas de inicialización de Browse en Vista. 
 
23/06/2007
 
Harbour MiniGUI 2.0.030 Changelog:
 
- Solucionado: Problemas con las imágenes en botones.
 Bug introducido en 2.0.025. Gracias a Juan Rendon.

- Solucionado: Soporte para lenguaje Turco. Gracias a  Bicahi Esgici.

 - Solucionado: Problemas con la propiedad valid de Browse cuando se usa la sintaxis estándar. Gracias a Corsini Giorgio.
 - Solucionado: Browse. Cuando la table está vacía, al usar las teclas Up,Down,PgUp and PgDn se genera un error de  tiempo de ejecución. Gracias a Martín Gamez.

- Solucionado: Comando DO REPORT. Error de tiempo de ejecución cuando se incluyen campos lógicos.

- Solucionado: Problemas en la vista previa de impresión  en Windows Vista. 
 
20/06/2007
 
Harbour MiniGUI 2.0.029 Changelog:
 
- Actualizado: HBOLE (librería contribución de Harbour) a la nueva versión (alternativa).

Esta nueva versión es requerida por ADORDD para trabajar correctamente (no funcionó en las versiones 2.0.027 y 2.0.028 con la version anterior de HBOLE). Debe tenerse en cuenta que esta nueva versión NO ES TOTALMENTE COMPATIBLE con la versión anterior de HBOLE, por lo cual el código existente que use OLE podría generar errores o no funcionar en absoluto.

El código OLE existente puede ser adaptado fácilmente. El ejemplo '\hmg\samples\ole' ha sido actualizado para trabajar con esta nueva librería. Los cambios requeridos son mínimos.

En caso que se desee usar la versión anterior de HBOLE, esta, aun está incluida en la distribución de HMG: '\hmg\harbour\lib\libhboleold.a', pero debe tenerse en cuenta que enlazando esta librería en lugar de la nueva, ADORDD no funcionará.

Lamentablemente, ambas librerías no pueden ser enlazadas juntas ya que usan algunos de los mismos nombres para clases, funciones y métodos, creándose conflictos.

Espero que los colaboradores de Harbour puedan en el futuro integrar ambas librerñias para obtener compatibilidad con versiones anteriores y soporte adecuado para ADORDD.

Ejemplos OLE actualizados: \hmg\samples\OLE

Ejemplos ADORDD: \hmg\samples\adordd-1 (ejemplo access)
\hmg\samples\adordd-2 (ejemplo mysql)
 
 
 
19/06/2007
 

Harbour MiniGUI 2.0.028 Changelog:

 

      - Nuevo: Comando SET AUTOSCROLL. Cuando se establece

      en ON, las barras de desplazamiento de las ventanas de

      dimensiones virtuales se ajustan automáticamente para

      hacer visibles, controles no visibles que ganaron el foco.

      El valor por defecto es ON.

 

            SET AUTOSCROLL ON | OFF

           

      Ejemplos: \hmg\samples\virtualdim

 

      - Nuevo: Propiedad HORIZONTAL para el control RADIOGROUP.

     

      Ejemplos:

 

            @ 10,10 RADIOGROUP Radio_1 ;

                  OPTIONS { 'One' , 'Two' , 'Three', 'Four' } ;

                  VALUE 1 ;

                  WIDTH 100 ;

                  HORIZONTAL

 

            DEFINE RADIOGROUP Radio_2

                  ROW 10

                  COL 150

                  OPTIONS { 'One' , 'Two' , 'Three', 'Four' }

                  VALUE 1

                  WIDTH 100

                  HORIZONTAL .T.

            END RADIOGROUP

     

      Más Ejemplos: \hmg\samples\radiogroup

 13/06/2007

- Harbour MiniGUI 2.0.027 Changelog:

 

      - Solucionado: Problemas de compatibilidad con OLE en Vista.

 

      - Modificado: Las librerías ADORDD y USRRDD son ahora enlazadas por defecto.

 

      - Actualizado: Harbour (Beta 3).

 

      - Nuevo: Propiedad 'ReadOnly' para el control RadioGroup (array lógico).

 

      Ejemplo:

 

      En tiempo de diseño:

 

      @ 10,150 RADIOGROUP Radio_2 ;

            OPTIONS { 'One' , 'Two' , 'Three', 'Four' } ;

            VALUE 1 ;

            WIDTH 100 ;

            TOOLTIP 'RadioGroup' ;

            READONLY { .F. , .T. , .F. , .T. }

 

      O:

 

      DEFINE RADIOGROUP Radio_2

            ROW 10

            COL 150

            OPTIONS { 'One' , 'Two' , 'Three', 'Four' }

            VALUE 1

            WIDTH 100

            TOOLTIP 'RadioGroup'

            READONLY { .F. , .T. , .F. , .T. }

      END RADIOGROUP

 

      En tiempo de ejecución:

 

      Form_1.Radio_1.ReadOnly := { .F. , .F. , .F. , .F. }

      aReadOnly := Form_1.Radio_1.ReadOnly

 

      O:

 

      SetProperty ( 'Form_1','Radio_1','ReadOnly',{ .F. , .F. , .F. , .F. } )

      aReadOnly := GetProperty ( 'Form_1','Radio_1','ReadOnly' )

 

      Más ejemplos:

 

      \hmg\sample\radiogroup\demo2.prg

      \hmg\sample\radiogroup\demo2.prg

 

      - Nuevo: Comando SET SCROLLSTEP TO. Configura la magnitud

      del desplazamiento en las barras de desplazamiento de las

      ventanas con dimensiones virtuales.

 

      Ejemplo:

 

      SET SCROLLSTEP TO 15

 

      Más ejemplos:

 

      \hmg\samples\virtualdim\test2.prg

 11/06/2007

- Harbour MiniGUI 2.0.026 Changelog:

      - Actualizado: MingW. A partir de esta nueva versión, no

      es necesario cambiar la ubicación de MingW para trabajar

      en Vista.

 

      - Actualizado: Harbour (CVS 2007.06.11).

 

      - Nuevo: Sporte para lenguaje Turco. Gracias a Bicahi Esgici.

 

      - Solucionado: Varios problemas menores de compatibilidad con Vista.

 
06/04/2007
 
  • Harbour MiniGUI 2.0.025 Changelog:
  • Nuevo: Los botones permiten combinar texto e imágenes desde esta versión. Para usar esta característica debe establecerse las propiedades 'Caption' y 'Picture'. Opcionalmente puede especificarse la alineación de la imagen por medio de las cláusulas TOP, LEFT, RIGHT y BOTTOM (sintaxis estándar) o estableciendo la propiedad 'PictAlignment' si se usa la sintaxis alternativa.

       PictAlignment Top | Left | Right | Bottom

  • La alineación por defecto es 'Top'. Ejemplo: \hmg\samples\button_2

Esta característica requiere Windows XP o superior. Se agregará  soporte para versiones anteriores de Windows en futuras versiones de HMG.

  • Solucionado: Problema en StatusBar. Cuando no se especifica la clausula opcional 'Width' para un item (excepto el primero) ocurre un error de tiempo de ejecución.
  • Modificado: Los botones con imagen usan el estilo-XP cuando está disponible.
  • Modificado: Los checkbuttons con imagen usan el estilo-XP cuando está disponible.
  • Modificado: Los bototnes con imagen y checkbuttons con imagen son mostrados con una imagen 'desactivada' en lugar de un rectángulo gris para aplicaciones que no usan 'estilo-XP' (comportamiento por defecto del API de Windows).
 
 
22/02/2007
  
  • Harbour MiniGUI 2.0.024 Changelog:
  • Nuevo: Mensajes en Polaco para el sistema de impresión. Gracias a Piotr Michalski.
  • Solucionado: Error en la función GetFile(). Gracias a Ciro Vargas Clemov.
  • Solucionado: Problemas compilinando aplicaciones con múltiples programas con 'compile.bat'. Gracias a Jose L.
  • Solucionado: Problemas en la actualización en algunos controles 'tab-child'.
  • Solucionado: Error en la función GetFont(). Gracias a Ciro Vargas Clemov.
  • Solucionado: Errores en el tutorial. Gracias a Daniel Lopes Filho.
 
 
17/02/2007
 
  • Harbour MiniGUI 2.0.023 Changelog:
  • Solucionado: Problemas con la biblioteca de acceso a MySql.

  • Solucionado: Errores en 'Reference.Txt'. Gracias a Alex L. Gustow.
     
  • Nuevo: Referencia básica de la biblioteca de acceso MySqla agregada a 'Reference.Txt'
 
11/02/2007
 
  • Harbour MiniGUI 2.0.022 Changelog:

  • Actualizado: Compilador Harbour.

     Ver detalles en: "\hmg\harbour\Harbour Compiler Changelog.Txt"

  •  Solucionado: Problemas con "This.<Method>". Bug introducido en 2.0.21.

  •  Solucionado: Spinner. Problemas con la propiedad "ReadOnly".
       Reportado por "Miguelon".
 
  •  Solucionado: Ejemplo "ImageBrowse2". Reportado por Alex L. Gustow.
26/12/2006

  • Harbour MiniGUI 2.0.021 Changelog:

-   Actualizado: Compilador Harbour.
    Ver detalles en: "\hmg\harbour\Harbour Compiler Changelog.Txt"
 
 
27/06/2006

  • Harbour MiniGUI 2.0.020 Changelog:


- Nuevo: Modificador /C para 'Compile.Bat'. Permite la creación
de aplicaciones de modo consola/mixtas.

- Solucionado: TAB. Considerando que ComCtl32.dll version 6 (API estilo XP) no soporta controles TAB verticales (estilo TCS_VERTICAL) la propiedad 'Vertical' será ignorada cuando el estilo XP esté activo y el estilo 'buttons' no se haya seleccionado.

- Solucionado: TAB. Problemas con el color de fondo con algunos controles 'tab-child', cuando se usa el estilo 'buttons'  y el estilo XP está activo. (bug introducido en la versión 2.0.019).

- Solucionado: BROWSE. Ingreso de fechas nulas en la edición de campos no permitida.

- Solucionado: Función Tone() no funciona.

- Solucionado: Problemas al mostrar los mensajes de error en aplicaciones GUI que no tienen una ventana principal definida.



14/06/2006

  • Harbour MiniGUI 2.0.019 Changelog:


- Nuevo: Modificador /C para 'Compile.Bat'. Permite la creación
de aplicaciones de modo consola/mixtas.

- Solucionado: Los siguientes controles 'tab-child' no se mostraban
correctamente cuando el estilo XP esta activo:

- Label
- Frame
- RadioGroup
- Slider
- CheckBox
- HyperLink

- Solucionado: Las aplicaciones GUI muestran una ventana de consola en
sistemas Win9x.


07/06/2006

  • Harbour MiniGUI 2.0.018 Changelog:


- Actualizado: Binarios del Compilador Harbour. Detalles en directorio   \hmg\horbour\changelog,txt.

        - Modificado: El comando SET CODEPAGE, soporta más nuevos lenguajes en esta versión:

SET CODEPAGE TO ENGLISH   | SPANISH | BULGARIAN | GERMAN |  GREEK | HUNGARIAN | POLISH | PORTUGUESE | RUSSIAN | SERBIAN | SLOVENIAN

06/06/2006

  • Harbour MiniGUI 2.0.017 Changelog:


- Actualizado: Binearios del Compilador Harbour (cambios muy importantes y soluciones a problemas). Detalles en el directorio \hmg\horbour\changelog,txt.


- Nuevo: Comando SET CODEPAGE. Estable la página de código actual.

SET CODEPAGE TO ENGLISH | SPANISH

- Nuevo: Soporte para lenguaje Checoslovaco (SET LANGUAGE TO CZECH). Gracias a Vojtech Obrdlik.

- Solucionado: Control STATUSBAR. Respuesta lenya de los iconos de estado del teclado.

- Solucionado: Control DATEPICKER. Problemas con el evento OnChange (reportado por Chris).




08/04/2006

  • Harbour MiniGUI 2.0.016 Changelog:



- Nuevo: Propiedad 'ShowHeaders', cláusula 'NoHeaders' para el control GRID.

- Solucionado: Problemas con el evento ACTION del control StatusBar.

- Solucionado: Verificación de errores en el control 'ToolBar Button'.

- Solucionado: Error tipográfico en la función MiniGuiVersion().

- Solucionado: Problemas con scroll originado con la rueda del mouse en ventanas de dimensiones virtuales.

- Solucionado: Problemas en compile.bat con el soporte para la libreria 'codepage'.

- Solucionado: Problemas con scroll originado con la rueda del mouse en  la ventana de vista preliminar de impresión.



31/03/2006

  • Harbour MiniGUI 2.0.015 Changelog:



- Solucionado: Problemas con el evento ACTION de los ítems especiales de StatusBar.

- Solucionado: Problemas SET LANGUAGE con los mensajes del sistema de impresión.

- Solucionado: Conflicto entre la propiedad BREAK y la sentencia BREAK de la estructura BEGIN SEQUENCE. Gracias a Fernando Yurisich.

- Solucionado: BROWSE. La ventana de edición de campos memo muestra el nombre de la columna en lugar de 'Edit memo' como título. Gracias a Fernando Yurisich.

- Actualizado: Mensajes en Francés del sistema de impresión. Gracias a 'c.jouniauxdiv'.


24/03/2006

  • Harbour MiniGUI 2.0.014 Changelog:



- Solucionado: Problemas con @...PRINT TO.

- Solucionado: Ejemplo ODBC. String de conexión actualizada.


06/03/2006

  • Harbour MiniGUI 2.0.013 Changelog:



- Nuevo: Cláusula NOFIXED para el comando DO REPORT y reportes externos. basado
en una contribución de Ciro Vargas Clemov.

- Nuevo: Cláusula STOREPATH para el comando COMPRESS.

- Cambiado: La librería Codepage es enlazada por default en esta versión.

- Solucionado: Objetos OLE descargados incorrectamente.

- Solucionado: Problemas en las funciones aPrinters() y GetPrinter() con impresoras de red
en Windows 2000. Gracias a: Ciro Vargas Clemov, Luigi Ferraris y Pierpaolo Martinello.

- Solucionado: Problemas de configuración en el ejemplo CONTROL FINANCIERO.


28/02/2006

  • Harbour MiniGUI 2.0.012 Changelog:



- Solucionado: problemas con las funciones GetPrintableAreaWith()y GetPrintableAreaHeight() (bug introducido en 2.0.010).

- Solucionado: Problemas con el metodo 'release' (windows). Bug introducido en 2.0.010.

- Solucionado: Problemas en la vista preliminar con la ventana 'Go To Page'.

- Nuevo: Cláusula NAME para el comando START PRINTDOC.
Esta cláusula permite establecer un nombre personalizado para el trabajo de impresión (es el nombre mostrado por el spooler de windows).

START PRINTDOC [ NAME ]

- Nuevo: Comando SET TOOLTIPSTYLE.

SET TOOLTIPSTYLE STANDARD | BALLOON

- New: SET TOOLTIPBACKCOLOR. Establece el color de fondo para los tooltips. (**)

SET TOOLTIPBACKCOLOR

- New: SET TOOLTIPFORECOLOR. Establece el color de fuente para los tooltips. (**)

SET TOOLTIPFORECOLOR

- Nuevo: Metodo 'Print' (ventanas). Ver ejemplo:
\hmg\samples\maindemo (syntax I). (*)

- Nuevo: Metodo 'Capture' (ventanas). Este metodo guarda una copia
de la ventana especificada (.bmp) en la carpeta actual.
Ver ejemplo: \hmg\samples\maindemo (syntax I). (*)

- Nuevo: Comando PRINT GRAPH.

PRINT GRAPH [ OF ] [ PREVIEW ] [ DIALOG ]

Imprime gráficos de tipo BARS, POINTS, LINES y PIE creados
con el comando DRAW GRAPH en la ventana especificada. Ver ejemplos:
\hmg\samples\graph_3 and \hmg\samples\graph_4. (*)

(*) Basado en una contribución de Ciro Vargas Clemov.
(**) Based encodigo publicado en el sitio de Marcos Antonio Gambeta
(http://geocities.yahoo.com.br/marcosgambeta).

22/02/2006

  • Harbour MiniGUI 2.0.011 Changelog:



- Solucionado: Problemas de impresión en Win9x.

- Solucionado: Problemas en la vista preliminar de impresión con
algunos tamaños de papel no usuales.

- Modificado: GetPrinter() muestra las impresoras ordenadas y la
impresora por defecto es seleccionada al inicio (Gracias a Ciro
Vargas Clemov). La ventana es ahora mas ancha para
evitar el truncamiento de nombres de impresora más
largos.

- Nuevo: Cláusulas opcionales RIGHT y CENTER para el comando
@...PRINT.


17/02/2006

  • Harbour MiniGUI 2.0.010 Changelog:



- Optimizado: Administración de variables internas de HMG. Todas las
variables públicas usadas por HMG fueron reemplazadas por un array público
único que contiene todos los datos de uso interno. Este array se denomina
_HMG_SYSDATA.
Una referencia completa del uso de cada elemento en este array se encuentra
al inicio del archivo 'h_init.prg' ubicado en la carpeta SOURCE.
A partir de este cambio el uso de memoria para una aplicación HMG típica se
redujo aproximadamente 100k y el tamaño de los ejecutables aproximadamente
50k.

- Nuevo: Soporte para HMG User Components.

He creado una interfase estándar para permitir a los usuarios de
HMG crear sus propios componentes (por ejemplo controles) sin
necesidad de modificar la librería.

Referencia de HMG User Components:

- InstallEventHandler ( )

Cada vez que un evento es iniciado por el sistema, la función
especificada será invocada.

Esta función recibirá los siguientes parámetros:

hWnd, nMsg, wParam, lParam

Si ña función procesa el mensaje, esta debe retornar un valor
diferente de NIL. De lo contrario, debe retornar NIL.

- InstallMethodHandler(,)

Cada vez que el método especificado sea invocado, el procedimiento
será ejecutado.

Si este procedimiento procesa el método, debe asignarse .T. al
'user process flag' ( _HMG_SYSDATA [63] ). De lo contrario debe
asignárseLe .F.

- InstallPropertyHandler(,,)

Cuando se le asigne un valor a la propiedad especificada se invocará
con todos los parámetros originales.

Cuando el valor de la propiedad especificada sea leído, será invocada
con todos los parámetros originales.

En ambos casos, si se procesa la función, debe asignarse .T. al
'user process flag' ( _HMG_SYSDATA [63] ). De lo contrario debe
asignárseLe .F.

- Otras Consideraciones:

Si los componentes creados requieren directivas #command (por ejemplo
un control) las definiciones deben agregarse al archivo i_UsrInit.ch
ubicado en la carpeta INCLUDE.

Estas definiciones deben incluir marcadores de inicio y fin que serán
usados para la creación de procedimientos automáticos de instalación
y mantenimiento para los componentes.

El formato para el marcador de inicio es:

#define BASEDEF_

El formato para el marcador de finalización es:

#undef BASEDEF_

Si se han creado métodos o propiedades con nuevos nombres
(no especificados actualmente en la definición del comando
DECLARE WINDOW en el archivo i_windows.ch) debe agregarse las
directivas de traducción para ellas en el archivo i_UsrSOOP.ch
ubicado en la carpeta INCLUDE.

Estas definiciones deben incluir marcadores de inicio y fin y las
directivas de traducción deben seguir reglas especiales.

El formato para el marcador de inicio es el siguiente:

#define SOOP_ ;;

EL formato para las directivas #translate de los métodos es:

#xtranslate . . MethodName  => Domethod (
<"Window">, <"Control"> , "MethodName" ) ;;

El formato para las directivas #translate de las propiedades es:

#xtranslate . . PropName  => GetProperty (
<"Window">, <"Control"> , "PropName" )  ;;
#xtranslate . . PropName  := => SetProperty (
<"Window">, <"Control"> , "PropName" , )  ;;

El formato para el marcador de finalización es:

#undef SOOP_ ;;

- Ejemplo:

c:\hmg\samples\user_components

- Solucionado: Warnings reportados por Harbour al construir la librería.

- Solucionado: Problemas varios en algunos ejemplos de BROWSE y GRID.

- Solucionado: Definicion del comando TOOLBAR (estilos de fuente).


25/01/2006

  • Harbour MiniGUI 2.0.009 Changelog:

 

- Changed: From this release, build number is at the end of version number. This way '2.0.009' is used instead '2.0 build 009'. Besides that 'ALPHA' and 'BETA' denominations will not be used anymore, 'Stable' and 'Test' will be used to indicate the status of a specific release.

- Fixed: EXECUTE (WAIT) command definition bug.

- Fixed: BROWSE bug. The problem arises when DynamicBackColor property is not Nil and a column is resized.

- Fixed: TEXTBOX / EDITBOX controls. Non consistent behavior about control's content selection when focus is received.

- Fixed: Print Preview. Thumbails background problems (bug introduced in build 008).

- Updated: Harbour compiler binaries.



18/12/2005

  • Harbour MiniGUI 2.0 ALPHA BUILD 008 Changelog:

 

- Fixed: BROWSE repositioning (row/col properties) problems.

- Fixed: DYNAMICFORECOLOR, INPUTMASK and FORMAT properties not available in splitchild BROWSE (standard syntax).

- Fixed: BROWSE (valid property) xHarbour compatibility issue.

- Fixed: GRID. Edit problems when grid is inside tab.

- Fixed: STATUSBAR control. RELEASE method problems when CLOCK or KEYBOARD items are used.

- Fixed: STATUSBAR control. When created outside of WINDOW...END WINDOW structure and CLOCK / KEYBOARD special items are used a runtime error on internal timers creation arises.

- Fixed: IMAGE control. Memory leak at PICTURE property change.


08/12/2005



  • Harbour MiniGUI 2.0 ALPHA BUILD 007 Changelog:

 

 

- Fixed: When toolbar button is disabled, hot key associated to the button (if any) was not deactivated.

- Fixed/Updated: MySql access libraries. MySql support is working now for LibMySql.dll distributed with 4.1 and 5.0 MySql versions.

- Changed: ADS support libraries will be not included in main HMG distribution nor linked by default anymore. These libraries will be available for download separately.

- Updated: Harbour compiler binaries. This build solves various known problems and includes new features like SWITCH and FOR EACH structures and support for date constants. Look at \hmg\harbour\changelog.txt for details.



  • Harbour MiniGUI 2.0 ALPHA BUILD 006 Changelog:

 


- Fixed: 'This.Cell()' object reference not working.

 

- Fixed: GRID. FontName and Fontsize used in cell editing are the same as control.

 

- Fixed: BROWSE. FontName and Fontsize used in cell editing are the same as control.

 

- Fixed: GRID. 'UpDown' style for datepicker edit control not working.

 

- Fixed: GRID. Using 0 as value for a COMBOBOX column causes program crash.

 

- Fixed: GRID. Some cosmetic problems with edit controls.

 

- Fixed: GRID_11, GRID_12, GRID_14, GRID_16 samples.



  •  
Fixed / Update: Harbour MiniGUI IDE.

- Linker and resource compiler errors not shown in 'post-build' error report window.

 

- New properties (introduced in 2.0) dor GRID and BROWSE controls are supported now



24/10/2005



  • - Harbour MiniGUI 2.0 ALPHA BUILD 005 Changelog:



- Changed: MiniPrint library source code (a modified/optimized version)  is now included as an integral part of MiniGUI library. This code is   experimental and will be changed / optimized in the future. Please, do  not use these sources as an example of MiniGUI programming, since some  techniques used there relies hardly on MiniGUI internals and could be  non-stable or reliable applied to other environments (outside print  modules). The same applies to modifications to the code.

 

You don't need to use the "#include 'miniprint.ch'" anymore, but that   is supported for backwards compatibility.
 - Updated: Harbour Compiler Binaries. There is various important   changes. The most relevant is the synchronization of RDD system with   xHarbour.

 

- New: 'ColumnValid' property for GRID control. Codeblock array (one  element per column) is evaluated at cell editing.  This.CellValue variable are available at codeblock evaluation.

 Sample:

 

  COLUMNVALID { ;
    { || This.CellValue > 100 } , ;
    { || This.CellValue = Date() } , ;
    Nil , ;
    Nil , ;
    Nil ;
    }

 

  See \hmg\samples\grid\grid_14
   \hmg\samples\grid\grid_15

 

 - New: 'ColumnWhen' property for GRID control. Codeblock array (one  element per column) is evaluated at cell editing.  This.CellValue variable are available at codeblock evaluation.

 Sample:

 

  COLUMNWHEN  { ;
    { || This.CellValue >= 'M' } , ;
    { || This.CellValue >= 'C' } , ;
    { || ! Empty ( This.CellValue ) } ;
    }

 

  See \hmg\samples\grid\grid_16
   \hmg\samples\grid\grid_17

 

 - New: GetPrintableAreaWidth() Function. Returns the current printable  area width in milimeters.

 - New: GetPrintableAreaHeight() Function. Returns the current printable  area height in milimeters.

 - New: GetPrintableAreaHorizontalOffset() Function. Returns the current  printable area horizontal offset (distance from paper edge to begining  of printable area) in milimeters.

 - New: GetPrintableAreaVerticalOffset() Function. Returns the current  printable area vertical offset (distance from paper edge to begining  of printable area) in milimeters.

 - Updated: Harbour MiniGUI IDE. Build processing has been changed  according requirements of new Harbour RDD structure. An installer  is provided now (download at www.geociries.com/harbour_minigui).

 - Updated: HMG application build batch files according requirements of  new Harbour RDD structure.

 

  • - Harbour MiniGUI 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



- New: EDITCONTROLS Property for GRID. You can specify control  type and behavior for cell edit.
  EDITCONTROLS { aControlDef1 , aControlDef2 , ... aControlDefN }

 

  Control Definition Array:
  -------------------------  
   
  TEXTBOX
  
  { cControlType , cDataType , cInputMask , cFormat }

 

  cControlType = 'TEXTBOX' (Required)
  cDataType = 'CHARACTER' , 'NUMERIC' , 'DATE'  (Required)
  cInputMask = cInputMask (Optional)
  cFormat  = cFormat (Optional)

 

  DATEPICKER

 

  { cControlType , cControlStyle }

 

  cControlType = 'DATEPICKER' (Required)
  cControlStyle = 'DROPDOWN' , 'UPDOWN' (Required)

 

  COMBOBOX

 

  { cControlType , acItems }

 

  cControlType 'COMBOBOX' (Required)
  acItems  (Required)

 

  SPINNER

 

  { cControlType , nRangeMin , nRangeMax }

 

  cControlType 'SPINNER' (Required)
  nRangeMin (Required)
  nRangeMax (Required)

 

  CHECKBOX

 

  { cControlType , cCheckedLabel , cUnCheckedLabel }

 

  cControlType 'CHECKBOX' (Required)
  cCheckedLabel (Required)
  cUnCheckedLabel (Required)

 

  Data type for each column will depend control specified.

 

   NUMERIC TEXTBOX  : NUMERIC
   DATE TEXTBOX  : DATE  
   CHARACTER TEXTBOX : CHARACTER
   SPINNER   : NUMERIC
   COMBOBOX  : NUMERIC
   CHECKBOX  : LOGICAL

 

  Sample:

 

  @ 10,10 GRID Grid_1 ;
   WIDTH 620 ;
   HEIGHT 330 ;
   HEADERS {'Column 1','Column 2','Column 3','Column 4',;
    'Column 5'} ;
   WIDTHS {140,140,140,140,140} ;
   ITEMS aRows ;
   EDIT ;
   COLUMNCONTROLS { {'TEXTBOX','NUMERIC','$ 999,999.99'},;
    {'DATEPICKER','DROPDOWN'} ,;
    {'COMBOBOX',{'One','Two','Three'}} , ;
    { 'SPINNER' , 1 , 20 } , ;
    { 'CHECKBOX' , 'Yes' , 'No' } }

 

  See \hmg\samples\grid\grid_9
   \hmg\samples\grid\grid_10

 

 - New: 'LEGENDSWIDTH' clause (optional) for DRAW GRAPH commands
 (BARS/LINES/POINTS types).

 

 - Fixed: '!' template symbol allows digits.

 

 - Fixed: BROWSE control, default Inputmask incorrect for floating
 point fields.

 

 - Fixed: DRAW GRAPH commands, when data series values are all '0',
 program crash (divide by zero error).

 

 - Fixed: DRAW GRAPH commands, labels backcolor incorrect when window
 backcolor is not the default.

 

 - Fixed: Automatic Inputmask for edit Browse fail for numeric
 fields with no decimals.

 

 - Changed: BROWSE edit is always inplace without regarding about
 'InPlace' value (Edit and Inplace properties has now the same
 meaning).



  • - Harbour MiniGUI 2.0 ALPHA BUILD 003 Changelog:




- New: 'InputMask' property for BROWSE control. This must be defined as a character array (one element per column). The same rules as TEXTBOX  are applied.
  Sample:

 

  INPUTMASK { '$99.9', '!!!!!!!!!!' , '!!!!!!!!!!' )

 

 - New: 'Format' property for BROWSE control. This must be defined as a character array (one element per column). The same rules as TEXTBOX  are applied.
  Sample:

 

  FORMAT { 'E' , '' , '' }



- Fixed: Append record causes crash when DynamicBackColor /  DynamicForecolor used in Browse control.

 - Fixed: 'DynamicBackColor' and 'DynamicForeColor' Borwse properties accept color arrays now, being, this way, consistent with MiniGUI  general color handling.

 - Fixed: BROWSE control, when 'InPlaceEdit' style is used, program crash if you use keep ENTER key pressed.

 - Fixed: BROWSE control, when 'DynamicbackColor' / 'DynamicForeColor' properties are used along images, program crash.

 

  • - Harbour MiniGUI 2.0 ALPHA BUILD 002 Changelog:




- Enhanced: 'AllowEdit' Borwse property can be read and written at runtime now.

 - Enhanced: 'AllowDelete' Borwse property can be read and written at  runtime now.

 - Enhanced: 'AllowAppend' Borwse property can be read and written at  runtime now.

 - New: GetProgramFileName() Function

 - New: 'DynamicForeColor' property for BROWSE control. Codeblock array  (one element per column) evaluated for each cell at browse refresh  allowing total control of foreground color (the value returned by  the codeblock).
 Sample:

 

 bColor := { || if ( recno()/2 == int(recno()/2) , RGB (128,128,128) , ;
 RGB (192,192,192) ) } 

 

 DYNAMICFORECOLOR { bColor , bColor, bColor, bColor, bColor, bColor }

 

 - Fixed: 'No new line at end of file' warning.

 

 - Fixed: Registry support not available.

 

 - Fixed: Grid lines corruption when up and down buttons are used to
 scroll.



- Changed: Harbour MiniGUI IDE and Harbour MiniPrint library are  distributed separately. You must download them at Harbour MiniGUI site: www.geocities.com/harbour_minigui

 - Changed: dll files required for ADS, MYSQL and ZIP samples must be  downloaded from sites indicated in readme.txt files located at corresponding folders.

 

  • - Harbour MiniGUI 2.0 ALPHA BUILD 001 Changelog:




- New: 'DynamicBackColor' property for BROWSE control. Codeblock array (one element per column) evaluated for each cell at browse refresh  allowing total control of background color (the value returned by  the codeblock).
 Sample:

 

 bColor := { || if ( recno()/2 == int(recno()/2) , RGB (128,128,128) , ;
 RGB (192,192,192) ) } 

 

 DYNAMICBACKCOLOR { bColor , bColor, bColor, bColor, bColor, bColor }

 

 - New: 'When' property for BROWSE control. This is a codeblock array  (one element per column) evaluated prior to cell edit.

 Sample (Full Record Edit). Expressions may contain other fields  temporary values:

 WHEN { { || Test->Code == 10 } , , { || MemVar.Test.Married == .t. },,,}

 Sample (InPlace Edit). Expressions MAY NOT contain other fields  temporary values (Memvar.*), since edition is per individual field):

 WHEN { { || Test->Code == 10 } , ,{ || Test->Married == .t. } , , , }

 - New: IMAGESIZE clause for TOOLBAR control. If not specified it is
 calculated automatically.

 - New: STRICTWIDTH clause for TOOLBAR control. Forces buttons width,  preventing automatic width changes.

 - New: TOOLTIP clause for TOOLBAR BUTTON control

 - New: TOP clause for STATUSBAR control. Allows to locate status bar  at the top of the window.

 - New: RIGHTALIGN property for HYPERLINK control

 - New: CENTERALIGN property for HYPERLINK control

 - New: GetStartUpFolder() Function.

 - New: JPG and GIF resource types supported by IMAGE and TOOLBAR  controls (you must use JPG and GIF as resource types in resource file).

 - New: Function 'CallDll32'. This is simpler that DynaCall used in previous versions (DECLARE command uses it now).
 DECLARE syntax and format are preserved for backwards compatibility,  but, it is recommended to use CallDll32 function instead.

 Syntax:

 CallDll32 ( cFunctionName , cDllName , ... ... )

 This code author is Vic McClung (I've made a slight change to make
 it run under Harbour)

 SInce this is new code and it has not been fully tested yet, problems  could arise. If find some trouble please send to me a report according directions in 'BugReport.Txt' file.
 - Optimized / Rewrote from the scratch: TOOLBAR control.

 

 - Optimized / Rewrote from the scratch: STATUSBAR control.

 

 - Optimized / Rewrote from the scratch: HELP commands.

 

 - Optimized / Rewrote from the scratch: RICHEDITBOX control.

 

 - Optimized / Redesigned: HYPERLINK control (Works on top of label
 control now).

 

 - Changed: Zip Support.

 

 Considering that hbzlib has some license restrictions I've decided to  not include in HMG distribution anymore.
  
 From now, Zip support will rely on 'xzip.dll' a freeware Zip Component  (http://xstandard.com)

 

 You must considering the following:

 

  

 

- xzip.dll must be located at the application folder.

  - Clauses PASSWORD and CREATEDIR of UNCOMPRESS command are not   available anymore, since that features are not supported by  this component.

 - The following contributed modules has been separated from  main library and compiled as individual libraries.
 The source code for these contributions is available at \source folder.
  - libcrypt.a: Crypto Library.
   Contributor: Grigory Filatov

 

  - libedit.a: EDIT command support library.
   Contributor: Cristobal Molla

 

  - libeditex.a: EDIT EXTENDED command support library.
   Contributor: Cristobal Molla

 

  - libreport.a: DO REPORT command support library.
   Contributor: Ciro vargas Clemow

 

  - libgraph.a: DRAW commands support library.
   Contributors: Grigory Filatov / Rathinagiri

 

  - libregistry.a:Registry commands support library.
   Contributor: Grigory Filatov

 

  - libini.a: INI commands support library.
   Contributors: Grigory Filatov / Janusz Pora

 

 - HbPrinter library will not be included in Harbour MiniGUI  distribution anymore.