Página 1 de 1
Dúvida sobre menu de opções em Minigui
Enviado: 14 Nov 2015 01:09
por Paulo_CPV
Boa noite!
Gostaria dos amigos se é possível fazer um menu de opções sem utilizar os controles de menus que veem com o Minigui Extend. Pois estou necessitando fazer um menu de opções fora do padrão. Será que alguém pode me auxiliar ou tem um exemplo para estudo.
Ah! Outra dúvida estou utilizando o comando DRAW GRADIENT... como eu faço os controles aparecerem por cima do controle DRAW, alguém tem uma sugestão para este problema?
Desde já agradeço a atenção dos amigos do grupo que tanto ajudam a resolver dúvidas que a gente tem.
[]'s
Paulo - Jacareí/SP
Dúvida sobre menu de opções em Minigui
Enviado: 14 Nov 2015 09:11
por Toledo
Paulo_CPV escreveu:Pois estou necessitando fazer um menu de opções fora do padrão
A única maneira que eu conheço de fazer um menu na MiniGui é utilizando DEFINE MAIN MENU, POPUP, MENUITEM, etc...
Paulo_CPV escreveu:como eu faço os controles aparecerem por cima do controle DRAW
Coloque o código dos controles depois da linha de código do DRAW.
Abraços,
Dúvida sobre menu de opções em Minigui
Enviado: 14 Nov 2015 22:40
por Paulo_CPV
Boa noite!
Toledo fiz as modificações que você me meu, mais continua o controle DRAW GRADIENT sobrepondo os outros controles da janela.Será que tem solução?
[]'s
Paulo - Jacareí/SP
Dúvida sobre menu de opções em Minigui
Enviado: 15 Nov 2015 03:58
por Nascimento
fora do padrão em que sentido amigo pode ser mais claro?
Dúvida sobre menu de opções em Minigui
Enviado: 15 Nov 2015 17:26
por Toledo
Paulo_CPV escreveu:mais continua o controle DRAW GRADIENT sobrepondo os outros controles da janela.
Segue um exemplo:
Código: Selecionar todos
#include "minigui.ch"
PROCEDURE Main ()
DEFINE WINDOW Form_main ;
AT 0,0 ;
WIDTH 620 ;
HEIGHT 420 ;
TITLE "Draw Gradient" ;
MAIN NOMAXIMIZE NOSIZE ;
ON RELEASE ExitGradientFunc()
DRAW GRADIENT IN WINDOW Form_main AT 20,20 TO 370,600 ;
VERTICAL BORDER 2 ;
BEGINCOLOR {70,130,180} ;
ENDCOLOR {176,196,222}
@ 50, 110 LABEL Label_1 VALUE "DraW Gradient" AUTOSIZE ;
FONT "Arial" SIZE 16 BOLD TRANSPARENT
@ 150, 50 TEXTBOX Text_1 ;
HEIGHT 30 ;
WIDTH 100 ;
MAXLENGTH 10
@ 330, 240 BUTTON Button_1 ;
CAPTION "&Sair" ;
ACTION ThisWindow.Release ;
WIDTH 150 HEIGHT 26 DEFAULT
END WINDOW
Center Window Form_main
Activate Window Form_main
Return
Abraços,
Dúvida sobre menu de opções em Minigui
Enviado: 15 Nov 2015 23:43
por Paulo_CPV
Boa noite!
Caro Toledo, fiz um teste com o seu exemplo e deu certo, mais ainda na minha aplicação não está dando certo. Será que tem haver: Quando a aplicação é iniciada mostra uma tela de Login, se eu clico no botão 'Entrar no Sistema', ele fecha a janela de Login e vai para a janela principal.
Código: Selecionar todos
DEFINE WINDOW JanelaPrincipal ;
AT 0,0 WIDTH 1024 HEIGHT 768 ;
TITLE 'Controle de Clientes' ;
MAIN TOPMOST NOSIZE NOSYSMENU NOCAPTION ;
ON INIT { || Login() }
...
END WINDOW
ACTIVATE WINDOW JanelaPrincipal
FUNCTION LOGIN()
DEFINE WINDOW JanelaLogin ;
AT 278 , 252 WIDTH 468 HEIGHT 200 ;
TITLE 'Acesso ao Sistema' ;
MODAL ;
NOSIZE ;
NOSYSMENU ;
NOCAPTION ;
ON INIT { || DoMethod( 'JanelaLogin' , 'oUsuario' , 'Setfocus' ) }
ON KEY ESCAPE ACTION { || DoMethod( 'JanelaLogin' , 'Release' ) }
* Linha Vertical
DRAW LINE IN WINDOW JanelaLogin AT 0 , 0 TO 200 , 0 PENCOLOR AZUL_006 PENWIDTH 8
DRAW LINE IN WINDOW JanelaLogin AT 0 , 468 TO 200 , 468 PENCOLOR AZUL_006 PENWIDTH 8
* Linha Horizontal
DRAW LINE IN WINDOW JanelaLogin AT 0 , 0 TO 0 , 468 PENCOLOR AZUL_006 PENWIDTH 8
DRAW LINE IN WINDOW JanelaLogin AT 200 , 0 TO 200 , 468 PENCOLOR AZUL_006 PENWIDTH 8
DEFINE IMAGE ImageLogin
ROW 25
COL 15
WIDTH 128
HEIGHT 128
PICTURE 'img\Login-icon128x128.png'
STRETCH .T.
TRANSPARENT .F.
END IMAGE
DEFINE LABEL oLBTitulo
ROW 160
COL 32
WIDTH 250
HEIGHT 32
VALUE "Acesso ao Sistema"
FONTNAME "Arial"
FONTSIZE 14
FONTBOLD .T.
FONTITALIC .T.
FONTCOLOR AZUL_006
VISIBLE .T.
TRANSPARENT .F.
END LABEL
DEFINE LABEL oLBUsuario
ROW 20
COL 160
WIDTH 85
HEIGHT 24
VALUE "Usuário:"
FONTNAME "Arial"
FONTSIZE 14
FONTBOLD .T.
VISIBLE .T.
TRANSPARENT .F.
BACKCOLOR Nil
FONTCOLOR Nil
END LABEL
DEFINE TEXTBOX oUsuario
ROW 46
COL 160
WIDTH 298
HEIGHT 32
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP "Digite o nome do usuário"
FONTBOLD .T.
TABSTOP .T.
VISIBLE .T.
BACKCOLOR BK_TEXTO3
FONTCOLOR PRETO
OnEnter { || DoMethod( 'JanelaLogin' , 'oSenha' , 'Setfocus' ) }
END TEXTBOX
DEFINE LABEL oLBSenha
ROW 86
COL 160
WIDTH 75
HEIGHT 24
VALUE "Senha:"
FONTNAME "Arial"
FONTSIZE 14
FONTBOLD .T.
VISIBLE .T.
TRANSPARENT .F.
END LABEL
DEFINE TEXTBOX oSenha
ROW 110
COL 160
WIDTH 298
HEIGHT 32
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP "Digita a senha de acesso"
FONTBOLD .T.
TABSTOP .T.
VISIBLE .T.
BACKCOLOR BK_TEXTO3
FONTCOLOR PRETO
PASSWORD .T.
ONENTER { || .T. }
END TEXTBOX
DEFINE BUTTON ButtonLoginEntrar
ROW 160
COL 250
WIDTH 100
HEIGHT 28
ACTION { || EntrarnoSistema() }
CAPTION "Entrar"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP "Acessa o Sistema"
FONTBOLD .T.
FLAT .F.
TABSTOP .T.
VISIBLE .T.
TRANSPARENT .F.
MULTILINE .F.
END BUTTON
DEFINE BUTTON ButtonLoginCancelar
ROW 160
COL 360
WIDTH 100
HEIGHT 28
ACTION { || SairSistema() }
CAPTION "Cancelar"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP "Sai do Sistema"
FONTBOLD .T.
FLAT .F.
TABSTOP .T.
VISIBLE .T.
TRANSPARENT .F.
END BUTTON
END WINDOW
DoMethod( 'JanelaLogin' , 'Center' )
DoMethod( 'JanelaLogin' , 'Activate' )
RETURN .T.
*-----------------------------------------------------------------------------*
FUNCTION SairSistema()
DoMethod( 'JanelaPrincipal' , 'Release' )
DoMethod( 'JanelaLogin' , 'Release' )
RETURN NIL
*-----------------------------------------------------------------------------*
FUNCTION EntrarnoSistema()
DoMethod( 'JanelaLogin' , 'Release' )
RETURN NIL
Abraços.
Dúvida sobre menu de opções em Minigui
Enviado: 16 Nov 2015 08:17
por Toledo
O máximo que consegui chegar foi este código:
Código: Selecionar todos
#include "minigui.ch"
#define AZUL_006 {0,73,148}
PROCEDURE Main ()
DEFINE WINDOW Form_main ;
AT 0,0 ;
WIDTH 620 ;
HEIGHT 420 ;
TITLE "Draw Gradient" ;
MAIN NOMAXIMIZE NOSIZE ;
ON INIT { || Login() } ;
ON RELEASE ExitGradientFunc()
DRAW GRADIENT IN WINDOW Form_main AT 20,20 TO 370,600 ;
VERTICAL BORDER 2 ;
BEGINCOLOR {70,130,180} ;
ENDCOLOR {176,196,222}
@ 50, 110 LABEL Label_1 VALUE "DraW Gradient" AUTOSIZE ;
FONT "Arial" SIZE 16 BOLD TRANSPARENT
@ 150, 50 TEXTBOX Text_1 ;
HEIGHT 30 ;
WIDTH 100 ;
MAXLENGTH 10
@ 330, 240 BUTTON Button_1 ;
CAPTION "&Sair" ;
ACTION ThisWindow.Release ;
WIDTH 150 HEIGHT 26 DEFAULT
END WINDOW
Center Window Form_main
Activate Window Form_main
Return
FUNCTION LOGIN()
DEFINE WINDOW JanelaLogin ;
AT 278 , 252 WIDTH 468 HEIGHT 200 ;
TITLE 'Acesso ao Sistema' ;
MODAL ;
NOSIZE ;
NOSYSMENU ;
NOCAPTION
DRAW RECTANGLE IN WINDOW JanelaLogin AT 0 , 0 TO 200 , 468 PENCOLOR AZUL_006 PENWIDTH 8
DEFINE IMAGE ImageLogin
ROW 25
COL 15
WIDTH 128
HEIGHT 128
PICTURE 'img\Login-icon128x128.png'
STRETCH .T.
TRANSPARENT .F.
END IMAGE
DEFINE LABEL oLBTitulo
ROW 160
COL 32
WIDTH 250
HEIGHT 32
VALUE "Acesso ao Sistema"
FONTNAME "Arial"
FONTSIZE 14
FONTBOLD .T.
FONTITALIC .T.
FONTCOLOR AZUL_006
VISIBLE .T.
TRANSPARENT .F.
END LABEL
DEFINE LABEL oLBUsuario
ROW 20
COL 160
WIDTH 85
HEIGHT 24
VALUE "Usuário:"
FONTNAME "Arial"
FONTSIZE 14
FONTBOLD .T.
VISIBLE .T.
TRANSPARENT .F.
BACKCOLOR Nil
FONTCOLOR Nil
END LABEL
DEFINE TEXTBOX oUsuario
ROW 46
COL 160
WIDTH 298
HEIGHT 32
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP "Digite o nome do usuário"
FONTBOLD .T.
TABSTOP .T.
VISIBLE .T.
* BACKCOLOR BK_TEXTO3
FONTCOLOR BLACK
OnEnter { || InsertTab() }
END TEXTBOX
DEFINE LABEL oLBSenha
ROW 86
COL 160
WIDTH 75
HEIGHT 24
VALUE "Senha:"
FONTNAME "Arial"
FONTSIZE 14
FONTBOLD .T.
VISIBLE .T.
TRANSPARENT .F.
END LABEL
DEFINE TEXTBOX oSenha
ROW 110
COL 160
WIDTH 298
HEIGHT 32
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP "Digita a senha de acesso"
FONTBOLD .T.
TABSTOP .T.
VISIBLE .T.
* BACKCOLOR BK_TEXTO3
FONTCOLOR BLACK
PASSWORD .T.
ONENTER { || InsertTab() }
END TEXTBOX
DEFINE BUTTON ButtonLoginEntrar
ROW 160
COL 250
WIDTH 100
HEIGHT 28
ACTION { || EntrarnoSistema() }
CAPTION "Entrar"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP "Acessa o Sistema"
FONTBOLD .T.
FLAT .F.
TABSTOP .T.
VISIBLE .T.
TRANSPARENT .F.
MULTILINE .F.
END BUTTON
DEFINE BUTTON ButtonLoginCancelar
ROW 160
COL 360
WIDTH 100
HEIGHT 28
ACTION { || SairSistema() }
CAPTION "Cancelar"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP "Sai do Sistema"
FONTBOLD .T.
FLAT .F.
TABSTOP .T.
VISIBLE .T.
TRANSPARENT .F.
END BUTTON
END WINDOW
ON KEY ESCAPE OF JanelaLogin ACTION { || JanelaLogin.Release }
JanelaLogin.Center
JanelaLogin.Activate
RETURN .T.
*-----------------------------------------------------------------------------*
FUNCTION SairSistema()
ReleaseAllWindows()
RETURN NIL
*-----------------------------------------------------------------------------*
FUNCTION EntrarnoSistema()
JanelaLogin.Release
RETURN NIL
Abraços,
Dúvida sobre menu de opções em Minigui
Enviado: 18 Nov 2015 23:57
por Paulo_CPV
Boa noite!
Em primeiro lugar muito obrigado pelas suas dicas Toledo, agora deu certo. Gostaria de uma informação sua pegue um exemplo de um colega do Forum na seção de Downloads que cria menus de opções em Harbour. Pergunta será que é possível adaptar está rotina para o Minigui Extend?
Abraços,
Paulo - Jacareí/SP
Dúvida sobre menu de opções em Minigui
Enviado: 19 Nov 2015 08:02
por Toledo
Paulo_CPV escreveu:será que é possível adaptar está rotina para o Minigui Extend?
Amigo, acho que você já deve ter notado que o código para montar um Menu na MiniGui é completamente diferente da maneira como estamos acostumado a fazer no Harbour/Clipper, então o código desta rotina de menu não será aproveitado, você poderá apenas pegar a ideia por trás da rotina.
Um menu construído em modo dinâmico, mas utilizando vetores, veja neste tópico:
Exemplo de menu com Nível
Abraços,