Tutorial


El Control TOOLBAR

Los Toolbars se usan para agrupar botones de comando en una barra que se localiza generalmente en la parte superior de la ventana (debajo de la barra de menu.

#include "minigui.ch"

Function Main

    DEFINE WINDOW Win_1 ;
        AT 0,0 ;
        WIDTH 640 HEIGHT 480 ;
        TITLE 'Tutor 18: ToolBar Test' ;
        MAIN ;
        FONT 'Arial' SIZE 10

        DEFINE MAIN MENU
            POPUP '&File'
                ITEM '&Disable ToolBar Button' ACTION Win_1.Button_1.Enabled := .F.
                ITEM '&Enable ToolBar Button' ACTION Win_1.Button_1.Enabled := .T.
                ITEM '&Exit' ACTION Win_1.Release
            END POPUP
        END MENU

        DEFINE TOOLBAR ToolBar_1 BUTTONSIZE 80,80 FLAT BORDER

            BUTTON Button_1 ;
                CAPTION '&Button &1' ;
                PICTURE 'button1.bmp' ;
                ACTION MsgInfo('Click! 1')

            BUTTON Button_2 ;
                CAPTION '&Button 2' ;
                PICTURE 'button2.bmp' ;
                ACTION MsgInfo('Click! 2') ;
                SEPARATOR

            BUTTON Button_3 ;
                CAPTION 'Button &3' ;
                PICTURE 'button3.bmp' ;
                ACTION MsgInfo('Click! 3')

        END TOOLBAR

    END WINDOW

    CENTER WINDOW Win_1

    ACTIVATE WINDOW Win_1

Return Nil


El Control Statusbar

Este control crea una barra en la parte inferior de la ventana, usada generalmente para mostrar información de estado.

#include "minigui.ch"

Function Main

    DEFINE WINDOW Win_1 ;
        AT 0,0 ;
        WIDTH 400 ;
        HEIGHT 200 ;
        TITLE 'Tutor 19 Tab Test' ;
        MAIN 

        DEFINE MAIN MENU
            POPUP '&StatusBar Test'
                ITEM 'Set Status Item 1' ACTION Form_1.StatusBar.Item(1) := "New value 1"
                ITEM 'Set Status Item 2' ACTION Form_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


Controles de Datos I: BROWSE

Los controles de datos están diseñados para trabajar con datos en archivos .dbf directamente.

El control Browse, permite mostrar o editar registros de bases de datos en forma tabular. La propiedad 'value' se usa para establecer u obtener el número de registro seleccionado (recno()).
Por defecto, el control Browse, no cambia el puntero de registro en su área de trabajo.

#include "minigui.ch"

Function Main

    DEFINE WINDOW Win_1 ;
        AT 0,0 ;
        WIDTH 640 HEIGHT 480 ;
        TITLE 'Tutor 20: BROWSE Test' ;
        MAIN NOMAXIMIZE ;
        ON INIT OpenTables() ;
        ON RELEASE CloseTables()

        DEFINE MAIN MENU
            POPUP 'File'
                ITEM 'Set Browse Value' ACTION Win_1.Browse_1.Value := Val ( InputBox ('Set Browse Value','') )
                ITEM 'Get Browse Value' ACTION MsgInfo ( Str ( Win_1.Browse_1.Value ) )
                SEPARATOR
                ITEM 'Exit' ACTION Win_1.Release
            END POPUP
            POPUP 'Help'
                ITEM 'About' ACTION MsgInfo ("Tutor 20: BROWSE Test")
            END POPUP
        END MENU

        @ 10,10 BROWSE Browse_1 ;
            WIDTH 610 ;
            HEIGHT 390 ;
            HEADERS { 'Code' , 'First Name' , 'Last Name', 'Birth Date', 'Married' , 'Biography' } ;
            WIDTHS { 150 , 150 , 150 , 150 , 150 , 150 } ;
            WORKAREA Test ;
            FIELDS { 'Test->Code' , 'Test->First' , 'Test->Last' , 'Test->Birth' , 'Test->Married' , 'Test->Bio' } ;
            DELETE ;
            LOCK ;
            EDIT INPLACE

    END WINDOW

    CENTER WINDOW Win_1

    ACTIVATE WINDOW Win_1

Return Nil

Procedure OpenTables()
    Use Test
    Win_1.Browse_1.Value := RecNo()
Return Nil

Procedure CloseTables()
    Use
Return Nil

(*) Para cambiar este comportamiento debe usarse el comando 'Set BrowseSync On'.