TVMenu
Fonte: source/classes/VMenu.prg
Hereda de: TControl
TVMenu e um painel estilo ExplorerBar que exibe uma lista de objetos TVItem.
Suporta cabecalho colapsavel, animacao de abrir/fechar, multiplos estilos de selecao
(SOLID, INSET, XBOX, BUMP, ETCHED, RAISED, UNDERLINE), fundos com degradê e
renderizacao com temas. TVMenu e o container pai dos objetos TVItem, que sao
automaticamente adicionados ao array aItems do menu ao serem criados.
TC5ImgList (oImageList) está em
source/classes/tc5imglst.prg e liga-se a partir de
FiveH.lib (32 bits) e, desde 26.08, de
Five64.a / Fivexh64.a (FWH64). Sample:
samples/test/vmenu_test.prg
(build_new.bat vmenu_test hb64).
Construtor New()
TVMenu():New( nTop, nLeft, nWidth, nHeight, oWnd, bAction, nClrText, nClrPane,;
oFont, lBorder, nClrBorder, nHItem, cTextAlign, under, nMargen,;
nClrPSel, nSpeed, selmode, bChange, nClrTSel, oAttach,;
nClrTOver, nClrPOver, nClrPOver2, nClrPSel2,;
lVGradSel, lMGradSel, nClrPane2, cWaterMark )
| Parametro | Tipo | Descricao |
|---|---|---|
| nTop, nLeft | Numerico | Posicao em pixels |
| nWidth, nHeight | Numerico | Dimensoes em pixels |
| oWnd | TWindow | Janela pai |
| bAction | Bloco | Acao padrao para os itens |
| nClrText | Numerico | Cor do texto (padrao: branco) |
| nClrPane | Numerico | Cor de fundo (padrao: cinza claro) |
| oFont | TFont | Fonte para o texto dos itens |
| lBorder | Logico | Mostrar borda (padrao: .f.) |
| nHItem | Numerico | Altura minima do item em pixels |
| cTextAlign | Caractere | "LEFT", "CENTER", "RIGHT", "MULTILINE" |
| under | Caractere | Estilo de selecao: "SOLID", "INSET", "XBOX", etc. |
| selmode | Caractere | Modo de preenchimento: "FILLED", "NONE", "DOTS", etc. |
| bChange | Bloco | Executado ao mudar a selecao |
| cWaterMark | Caractere | Nome do arquivo bitmap para marca d'agua |
Metodos
| Metodo | Retorna | Descricao |
|---|---|---|
SetTitle(cCaption, nHTitle, oFont, ...) | nil | Definir cabecalho colapsavel |
CollapseToggle() | nil | Alternar estado colapsado/expandido |
NextItem() | nil | Mover selecao para proximo item |
PrevItem() | nil | Mover selecao para item anterior |
ResizeItems() | nil | Recalcular posicoes dos itens |
Membros DATA Principais
| DATA | Tipo | Descricao |
|---|---|---|
aItems | Array | Array de objetos TVItem |
nOption | Numerico | Indice do item selecionado atualmente |
cTitle | Caractere | Texto do titulo |
lBorder | Logico | Mostrar borda |
nHItem | Numerico | Altura minima do item |
oImageList | TC5ImgList | Lista de imagens para bitmaps dos itens |
Exemplo
local oMenu, oItem DEFINE VMENU oMenu OF oWnd ; SIZE 220, 380 ; COLORS RGB(55,65,80), RGB(245,246,248) ; BORDER ; ITEMHEIGHT 40 ; STYLE "SOLID" ; SELMODE "FILLED" oMenu:SetTitle( "Explorador", 28, oFont, ; RGB(255,255,255), RGB(70,130,180) ) VMENUITEM PROMPT "Inicio" OF oMenu VMENUITEM PROMPT "Documentos" OF oMenu VMENUITEM SEPARATOR OF oMenu VMENUITEM PROMPT "Configuracion" OF oMenu VMENUITEM PROMPT "Ajuda" OF oMenu
Comandos Preprocessador
DEFINE VMENU
Cria um painel TVMenu (estilo ExplorerBar) dentro de uma janela.
DEFINE VMENU [ oMenu ] ; [ AT nTop, nLeft ] ; [ SIZE nWidth, nHeight ] ; [ OF oWnd ] ; [ ACTION bAction ] ; [ COLORS nClrText [, nClrPane] ] ; [ FONT oFont ] ; [ BORDER ] ; [ BORDERCOLOR nClrBorder ] ; [ ITEMHEIGHT nHItem ] ; [ TEXTCENTER | TEXTRIGHT | TEXTMULTILINE ] ; [ STYLE "SOLID" | "INSET" | "XBOX" | "BUMP" ] ; [ MARGEN nMargen ] ; [ SELECTCOLOR nClrPSel ] ; [ SELMODE "FILLED" | "NONE" | "DOTS" ] ; [ ON CHANGE bChange ] ; [ SELECTTEXTCOLOR nClrTSel ] ; [ VGRADSEL ] ; [ PANE2COLOR nClrPane2 ] ; [ WATERMARK cWaterMark ]
REDEFINE VMENU
Redefine um TVMenu a partir de um recurso de dialogo.
REDEFINE VMENU [ oMenu ] ; [ ID nId ] ; [ OF oWnd ] ; [ ACTION bAction ] ; [ COLORS nClrText [, nClrPane] ] ; [ FONT oFont ] ; [ BORDER ] ; [ BORDERCOLOR nClrBorder ] ; [ ITEMHEIGHT nHItem ] ; [ TEXTCENTER | TEXTRIGHT | TEXTMULTILINE ] ; [ STYLE "SOLID" | "INSET" | "XBOX" ] ; [ SELMODE "FILLED" | "NONE" | "DOTS" ] ; [ ON CHANGE bChange ] ; [ SELECTTEXTCOLOR nClrTSel ]
VMENUITEM
Cria um TVItem e o adiciona automaticamente ao menu pai.
VMENUITEM [ oItem ] ; [ OF oMenu ] ; [ PROMPT cText ] ; [ BITMAP cBmp ] ; [ GROUP | HEADER ] ; [ COLORS nClrText [, nClrPane] ] ; [ TEXTCENTER | TEXTRIGHT | TEXTMULTILINE ] ; [ IMAGECENTER | IMAGERIGHT ] ; [ HEIGHT nHeight ] ; [ SEPARATOR | LINE | INSET | DOTDOT ] ; [ ACTION bAction ] ; [ POPUP oPopup ] ; [ WHEN bWhen ] ; [ TOOLTIP cToolTip ]