Olá!
Tô migrando do clipper pro harbour e tô bolando em construir um menu no harbour.
Alguém tem alguma dica ou exemplo?
Como usar menus no xHarbour?
Moderador: Moderadores
- clodoaldomonteiro
- Usuário Nível 4

- Mensagens: 821
- Registrado em: 30 Dez 2006 13:17
- Localização: Teresina-PI
- Contato:
Como usar menus no xHarbour?
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Código: Selecionar todos
#include "button.ch"
#include "inkey.ch"
function Main()
local oMenu
// Ativa as ações do mouse
SET( _SET_EVENTMASK, INKEY_ALL )
// Ativa cores intensas no fundo
SetBlink(.f.)
// Torna o cursor do mouse visivel
mSetCursor(.T.)
// Limpa a tela
setColor( "w+/b" )
scroll()
// Aqui neste momento é criado o objeto menu
oMenu := Monta_Menu()
// Espera por um evento do menu e nao sai enquanto o usuario
// nao escolher o item 'sair' do menu
do while MenuModal( oMenu, 01, 24, 01, 79, "w+/b" ) != 999 ; enddo
return( NIL )
// A função a seguir é responsávl pela criação do menu retorna para o
// objeto oMenu o estado atual do menu, quando é escolhida uma opção
function Monta_Menu()
local oTopBar, oPopUp, oPopUp1, oItem, oItem1, oItem2
local cCorBar := "b*/w,w+/bg,b*/w,w+/bg,b*/w,b*/w"
local cCorItem := "w+/bg,b*/w,w+/bg,b*/w,w/bg,w+/bg"
// TopBar() cria o menu na posição indicada
oTopBar := TopBar( 0, 0, 79)
oTopBar:ColorSpec := cCorBar
// Cria um novo 'popup menu' chamado Arquivo e adiciona ele no objeto oTopBar
oPopUp := PopUp()
oPopUp :ColorSpec:= cCorItem
oTopBar:AddItem( MenuItem ( "&Arquivo", oPopUp, , "Opcoes de cadastro e alteracoes de registros..." ) )
// Aqui começa a adição de itens do menu 'Arquivo'
oItem := MenuItem( "Cadastro de &Clientes" ,{|| Alert("Clientes()") }, K_CTRL_C, "Mensagem do primeiro item...", 101)
oPopUp:AddItem( oItem )
oItem :=MenuItem( "Cadastro de &Produtos" ,{|| Alert("Produtos()") }, K_CTRL_P, "Mensagem do segundo item...")
oPopUp:AddItem( oItem )
oItem :=MenuItem( "Cadastro de &Forncedores" ,{|| Alert("Fornecedores()") }, K_CTRL_F, "Mensagem do terceiro item...")
oPopUp:AddItem( oItem )
oPopUp:AddItem( MenuItem( MENU_SEPARATOR ) )
oItem :=MenuItem( "&Grupos de Produtos" ,{|| Alert("Grupos()") }, K_CTRL_G, "Mensagem do quarto item...")
oPopUp:AddItem( oItem )
oItem :=MenuItem( "Contas &Bancarias", {|| Alert("Bancos()") }, K_CTRL_B, "Mensagem do quinto item...")
oPopUp:AddItem( oItem )
oPopUp:AddItem( MenuItem( MENU_SEPARATOR ) )
oItem :=MenuItem( "Sai&r", {||.t.} , K_ALT_F4,"Abandona o aplicativo.", 999)
oPopUp:AddItem( oItem)
// Cria um novo 'popup menu' chamado Opcoes e adiciona ele no objeto oTopBar
oPopUp := PopUp()
oPopUp :ColorSpec:= cCorItem
oTopBar:AddItem( MenuItem ( "&Opcoes", oPopUp, , "Opcoes gerais do programa..." ) )
// Aqui começa a adição de itens do menu 'Opcoes'
// Cria novo menu popup debtro do outro, fazendo um sub-menu
oPopUp1 := PopUp()
oPopUp1 :ColorSpec:= cCorItem
oItem := MenuItem( "Opcoes do &Mouse",oPopUp1 )
oPopup:AddItem( oItem )
// Aqui os Itens do sub-menu "Opcoes do Mouse"
// Interessante notar que se o mouse ja esta habilitado, podemos
// desabilitar o item que faria isso, e vice-versa
oItem1 := MenuItem( "&Habilitar cursor do mouse" ,{|| mSetCursor(.t.), oItem1:Enabled := .f., oItem2:Enabled := .t.}, , "Habilita o cursor do mouse" )
oItem1:Enabled := .f.
oPopUp1:AddItem( oItem1 )
oItem2 := MenuItem( "&Desabilitar cursor do mouse" ,{|| mSetCursor(.f.), oItem2:Enabled := .f., oItem1:Enabled := .t. }, , "Desabilita o cursor do mouse" )
oPopUp1:AddItem( oItem2 )
// Retorna o estado de objeto TopBar para a função Main()
return ( oTopBar )Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Vc pode usar tbem as funções de menu da VISUAL LIB.
http://www.sqllib.com.br/download.php?id=TOOLS
Jânio
http://www.sqllib.com.br/download.php?id=TOOLS
Jânio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Como usar menus no xHarbour?
Vai usar alguma LIB GRAFICA ? se for usar em modo console pode usar como usava no clipper !clodoaldomonteiro escreveu:Olá!
Tô migrando do clipper pro harbour e tô bolando em construir um menu no harbour.
Alguém tem alguma dica ou exemplo?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql