Share via


Coordinar barras de herramientas y formularios mediante programación

Además de utilizar el Diseñador de formularios, puede agregar barras de herramientas a conjuntos de formularios mediante programación.

Para agregar una barra de herramientas a un conjunto de formularios utilizando código

  • En el evento Init del conjunto de formularios, utilice el comando SET CLASSLIB para especificar la biblioteca que contiene la clase de barra de herramientas y después cree una barra de herramientas desde esa clase en el conjunto de formularios.

Por ejemplo, para agregar y ver la barra de herramientas tbrPrint, que está basada en la clase printing de la biblioteca de clases inventory, agregue el código siguiente al evento Init del conjunto de formularios:

SET CLASSLIB TO inventory
THIS.AddObject("tbrPrint","printing")
THIS.tbrPrint.Show

Nota   Si la clase de barra de herramientas no define las acciones de la barra de herramientas y sus botones, deberá definir las acciones en los procedimientos de evento asociados a la barra de herramientas y sus botones.

Ejemplo:

Puede definir todos los aspectos de una barra de herramientas en el código. Por ejemplo, si agrega el código siguiente al evento Init de un conjunto de formularios, cuando se cargue el conjunto de formularios Visual FoxPro creará y mostrará la barra de herramientas definida en el código. Esta barra contiene dos botones.

Cuando se haga clic en estos botones, cambiarán los atributos de fuente del formulario frmForm1 en el conjunto de formularios.

Código de evento Init del conjunto de formularios

Código Comentarios
THIS.AddObject("tbrTool1","mytoolbar")
THIS.tbrTool1.Show
Agrega una barra de herramientas de la clase mytoolbar al conjunto de formularios actual y hace que dicha barra sea visible. Este código está en el evento Init del conjunto de formularios.

Código de definición de clase

Código Comentarios
DEFINE CLASS myToolBar AS TOOLBAR
ADD OBJECT cmdBold AS COMMANDBUTTON
ADD OBJECT sep1    AS SEPARATOR
ADD OBJECT cmdItalic AS COMMANDBUTTON
Principio de la definición de clase: una barra de herramientas con un botón de comando, un separador y otro botón de comando.
Left = 1
Top  = 1
Width = 25
Caption = "Form Attributes"
Establece las propiedades del objeto barra de herramientas.
cmdBold.Caption = "B"
cmdBold.Height = 1.7
cmdBold.Width = 10
cmdItalic.Caption = "I"
cmdItalic.Height = 1.7
cmdItalic.Width = 10
cmdItalic.FontBold = .F.
Establece las propiedades de los controles. Observe que no hay ningún valor en las propiedades Top o Left para los controles de una barra de herramientas. Los controles de una barra de herramientas se sitúan automáticamente en el orden en que se agregan.

La propiedad FontBold de cmdItalic está establecida en falso (.F.) ya que FontBold es verdadero (.T.) de forma predeterminada.
PROCEDURE Activate
   THIS.cmdBold.FontBold = ;
    THISFORMSET.frmForm1.FontBold
   THIS.cmdItalic.FontItalic = ;
    THISFORMSET.frmForm1.FontItalic
ENDPROC
Cuando se activa la barra de herramientas, los atributos de fuente de los dos botones de comando se establecen para reflejar las configuraciones de fuente Negrita y Cursiva de frmForm1.
PROCEDURE cmdBold.CLICK
   THISFORMSET.frmForm1.FontBold = ;
    !THISFORMSET.frmForm1.FontBold
   THIS.FontBold = ;
    THISFORMSET.frmForm1.FontBold
ENDPROC
Cuando el usuario hace clic en cmdBold, se invierte la configuración FontBold de frmForm1 y la configuración FontBold de cmdBold se establece de forma que coincida.
PROCEDURE cmdItalic.CLICK
   THISFORMSET.frmForm1.FontItalic = ;
    !THISFORMSET.frmForm1.FontItalic
   THIS.FontItalic = ;
    THISFORMSET.frmForm1.FontItalic
ENDPROC
Cuando el usuario hace clic en cmdItalic, se invierte la configuración FontItalic de frmForm1 y la configuración FontItalic de cmdItalic se establece de forma que coincida.
ENDDEFINE
Termina la definición de clase.

Establecer propiedades de barras de herramientas personalizadas

Mientras diseña una barra de herramientas personalizada puede establecer sus propiedades. Por ejemplo, puede establecer la propiedad Movable para permitir al usuario mover la barra de herramientas.

Además, puede utilizar métodos y eventos para controlar las barras de herramientas personalizadas. Por ejemplo, puede utilizar el método Dock para acoplar o liberar una barra de herramientas y los eventos BeforeDock y AfterDock para controlar lo que ocurre antes y después de acoplar una barra de herramientas.

Vea también

Agregar barras de herramientas personalizadas a conjuntos de formularios | Definir acciones de barra de herramientas | Crear barras de herramientas personalizadas | Cuadro de diálogo Personalizar barra de herramientas | Diseñar menús y barras de herramientas | Configurar Visual FoxPro | Definir acciones de barra de herramientas