Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!

Utilização de Barras de Ferramentas

A OpusWin permite definir e exibir Barras de Ferramentas como um controle de janela com um ou mais botões, sendo que cada botão pode ser associado à execução de procedimentos específicos.

As Barras de Ferramentas são formas alternativas ( mais rápidas, diretas e visuais) de se trabalhar de forma similar aos itens de menus.

Definição de Barras de ferramentas

A sintaxe geral utilizada para definir uma Barra de ferramentas é a seguinte:

ToolBar

    STYLE <estilo1>

   [BITMAP  <bitmap_rc> <num_rc>]

    BUTTON [<tipo> | <num>] <estilo2> [TIP <texto>] DO <proc>

EndToolBar

Onde:

<estilo1>

Indica o estilo da barra de ferramentas, podendo ser especificado como uma combinação dos estilos constantes na tabela que segue:

estilos da "ToolBar"

Descrição

TBSTYLE_ALTDRAG

Permite que o usuário troque a posição de um botão dentro da barra de ferramentas, arrastado-o enquanto permanece apertada a tecla ALT. Não especificando este estilo, o usuário deverá pressionar a tecla SHIFT enquanto arrasta o botão. Para permitir a possibilidade de arrastar os botões de uma barra de ferramentas, deve ser especificado o estilo CCS_ADJUSTABLE.

TBSTYLE_TOOLTIPS

Cria o controle "ToolTip" que pode ser usado por um aplicativo para exibir algum texto descritivo associado a cada botão da ToolBar.

TBSTYLE_WRAPABLE

Cria uma ToolBar que poderá se desdobrar em múltiplas linhas de botões, quando não é possível conter todos os botões numa única linha. O desdobramento ocorre nos separadores, se houver.

CCS_TOP

Posiciona a ToolBar no topo da janela

CCS_BOTTOM

Posiciona a ToolBar no rodapé da janela

<bitmap_rc>

Faz referência a um "bitmap resource", elaborado pelo usuário, contendo os ícones associados a cada um dos botões da barra de ferramentas. O Windows fornece "bitmap resources" predefinidos, cujos elementos recebem nomes padrão e podem ser utilizados conforme as necessidades.

O parâmetro <bitmap_rc> se refere a um arquivo do tipo .bmp, que deverá ser construído, previamente, pelo usuário. Geralmente as ferramentas IDE, por exemplo, VisualStudio, oferecem ferramentas de edição de ícones, DialogBox e ToolBars, entre outros.

<num_rc>

Especifica o identificador do bitmap resource referenciado em <bitmap-rc>. Cada comando bitmap, dentro de um mesmo programa OpusWin, deve especificar diferente <num_rc>.

[<tipo> | <num>]

Faz referência, de forma indexada, a cada um dos elementos de um "bitmap resource" (parâmetro <bitmap_rc>), que contém os ícones associados a cada um dos botões. O parâmetro <tipo> é o nome atribuído a cada elemento do "bitmap resource", podendo ser especificada a palavra SEPARATOR, para agrupar e separar os ícones. O parâmetro <num> especifica um número seqüencial atribuído a cada elemento do "bitmap resource". O Windows fornece alguns "bitmap resources", predefinidos, cujos elementos recebem os seguintes nomes padrão:

STD_COPY

STD_PASTE

STD_CUT

STD_DELETE

STD_FILESAVE

STD_FILENEW

STD_FILEOPEN

STD_HELP

STD_REPLACE

STD_FIND

STD_UNDO

STD_REDOW

STD_PRINT

STD_PROPERTIES

STD_PRINTPRE

Alguns dos ícones do "bitmap resource" padrão do Windows são os seguintes:

------------------

botões 16X16 e 24X24

------------------

New

Open

Save

PrintPreview

Print

Undo

Redo

Cut

Copy

Paste

Delete

Find

Replace

Properties

Bold

Italic

Underline

Help

Open folder

Writing tool

Eraser tool

<estilo2>

Especifica o estilo de cada botão dentro de cada Barra de Ferramentas, e determina a maneira como o botão vai aparecer e como ele vai responder quando acionado pelo usuário, podendo ser a combinação dos seguintes estilos.

Estilo para botões da ToolBar

Descrição

TBSTYLE_BUTTON

Cria um botão, dentro da barra de ferramentas, que se comporta como um botão padrão do tipo "Push Buttons".

TBSTYLE_CHECK

Cria um botão que alterna seu estado entre pressionado e não pressionado cada vez que o usuário "clica" nele. O botão muda a sua cor de fundo quando fica no estado "pressionado".

TBSTYLE_CHECKGROUP

e TBSTYLE_GROUP

Constrói grupos de botões em uma ToolBar, que funcionam de maneira similar aos controles do tipo "Check Buttons" numa caixa de diálogo. Cada botão acionado permanece no estado "pressionado" até que um outro botão do grupo seja acionado.

TBSTATE_ENABLED

Cria um botão que aceita ser acionado pelo usuário, ou seja, está disponível. Um botão "disabled" não aceita ser acionado e aparece "cinzento".

TBSTYLE_SEP

Cria separadores que facilitam a visualização dos grupos de botões.

Tip <texto>

Indica que vai ser utilizado o recurso "Tool Tip", ou seja, um texto, a modo de "dica", associado a um ou mais dos botões da Barra de Ferramentas. A "dica" especificada em <text> será exibida sempre que o cursor permanecer posicionado sobre esse botão durante alguns segundos.

Do <proc>

Especifica o procedimento a ser executado quando esse botão for acionado.

Funções de controle das Barras de Ferramentas

As funções, apresentadas na tabela a seguir, permitem identificar se a "procedure" corrente foi chamada através do acionamento de um elemento da barra de ferramentas e, inclusive, qual o botão que foi "clicado" para chamar essa "procedure":

Função

Descrição

n=Button

devolve, em variável numérica, o número identificador (opção <num> do comando Button) do botão "clicado" na barra de ferramentas.

f=Istoolbar

Devolve, em variável lógica, o valor TRUE (".T.") se a "procedure" corrente foi chamada a partir de um botão de barra de ferramentas.

Exemplos de Barra de Ferramentas

Veja a seguir um programa que utiliza os comandos e as funções das Barras de Ferramentas e um BitMap resource criado com os recursos do MS VisualStudio.

Exemplo

$nolib

prog

SetWindowText "OpusWin - Exemplo de ToolBar"

SetWindowIcon "world.ico"

ToolBar

  style CCS_TOP TBSTYLE_ALTDRAG TBSTYLE_TOOLTIPS

  bitmap "toolbar.bmp" 1

  Button 1 TBSTYLE_BUTTON Tip "New File ..." do proc1

  Button 2 TBSTYLE_BUTTON Tip "Open File ..." do proc1

  Button SEPARATOR TBSTYLE_SEP

  Button 4 TBSTYLE_BUTTON Tip "ShowText ..." do proc1

  Buttons 5 TBSTYLE_BUTTON Tip "Progress Bar..." do proc1

  Buttons SEPARATOR TBSTYLE_SEP

  Buttons 7 TBSTYLE_BUTTON Tip "Exit ..." do proc1

EndToolBar

proc proc1

if istoolbar() = .t.

  opt=button()

endif

varc="Exemplo de ToolBar ..."

do case

  case opt=1

    c=MessageBox(varc,"New File ...","O","I")

  case opt=2

    c=MessageBox(varc,"Open File...","O","I")

  case opt=4

    Showtext (02,10)

    texto='Isto e uma linha de texto exibida pelo comando "ShowText"'

    Showtext (02,10,texto,"Arial",1,"B/G")

  case opt=5

    c=MessageBox(varc,"Progress Bar...","O","I")

  case opt=7

    quit

endcase

return

Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!