Iniciante em HwGui com problema em exibição de imagem
Enviado: 13 Fev 2024 01:21
Pessoal, estou iniciando em HwGui, estou com dificuldade na exibição de uma imagem de fundo. Podem me ajudar?
Ao tentar colocar uma imagem como fundo de tela, os botões não aparecem inicialmente; só passando o mouse em cima do lugar onde o botão está é que ele aparece.
Curioso é que, na tela de login, que estou fazendo exatamente da mesma forma, funciona. Mas na tela principal não.
Podem me ajudar?
Meu código para conferência:
Tem coisas que ainda não fiz. Perdoem o código rudimentar, ainda estou começando.
Ao tentar colocar uma imagem como fundo de tela, os botões não aparecem inicialmente; só passando o mouse em cima do lugar onde o botão está é que ele aparece.
Curioso é que, na tela de login, que estou fazendo exatamente da mesma forma, funciona. Mas na tela principal não.
Podem me ajudar?
Meu código para conferência:
Código: Selecionar todos
#include "hwgui.ch"
MEMVAR cnSQL
FUNCTION Main
Local cRet, oSay1, oFont := HFont():Add( "MS Sans Serif",0,-13 )
private oDlg, cnSQL, us, nmus
private cSair :="N"
PREPARE FONT oFont NAME "MS Sans Serif" WIDTH 0 HEIGHT -13
PREPARE FONT oFontSay NAME "MS Sans Serif" WIDTH 0 HEIGHT -13 WEIGHT 700
do while .t.
if us=NIL
cRet=login()
endif
INIT DIALOG oDlg TITLE "Processos" AT 100, 100 SIZE 540, 500 FONT oFont
@ 0,0 BITMAP Bitmap1 ;
SHOW "WALLPAPER.JPG" ;
STRETCH 0 ;
SIZE 700,700 //nWidth, nHeight - 65
if cRet="N" .or. cSair="S"
return .f.
elseif cRet="S"
@ 20,10 SAY oSAY2 CAPTION "Olá, "+nmus SIZE 100, 100
@ 20,50 BUTTON "Consultar" SIZE 200,60 ;
ON CLICK {||consulta()}
@ 300,50 BUTTON "Cadastrar" SIZE 200,60 ;
ON CLICK {||cadastro()}
@ 20,200 BUTTON "Manutenção" SIZE 200,60 ;
ON CLICK {||manutencao()}
@ 300,200 BUTTON "Recados" SIZE 200,60 ;
ON CLICK {||recados()}
@ 20,450 BUTTON "Fechar" SIZE 80,50 ON CLICK {||ConfirmarFechar()}
endif
ACTIVATE DIALOG oDlg
if lastkey()=27
if confirmarfechar()="S"
return .f.
else
loop
endif
endif
enddo
hwg_SetColorinFocus( oDlg,, 13172680 )
Return
FUNCTION ConfirmarFechar()
LOCAL lConfirmado
lConfirmado := hwg_MsgYesNo("Tem certeza que deseja sair?", "Confirmação")
IF lConfirmado
oDlg:Close()
cSair="S"
return "S"
ENDIF
RETURN "N"
function consulta
return
function cadastro
return
function manutencao
return
function recados
return
function login
Local oFont := HFont():Add( "MS Sans Serif",0,-13 ), oTimer, oSAY1, oSAY5
Local snh := space(20)
Local cSenhaErrada :="N"
Local oE5, cProc
private cSair :="N"
do while .t.
if cSair="S"
return "N"
endif
INIT DIALOG oDlg TITLE "Processos" AT 100, 100 SIZE 540, 500 FONT oFont
@ 0,0 BITMAP Bitmap1 ;
SHOW "WALLPAPER.JPG" ;
STRETCH 0 ;
SIZE 700,700 //nWidth, nHeight - 65
if cSenhaErrada="S"
snh=space(20)
@ 20,30 SAY oSAY1 CAPTION "Senha errada; digite novamente a sua senha:" SIZE 275, 20
else
@ 20,30 SAY oSAY1 CAPTION "Digite a sua senha:" SIZE 120, 20
endif
@ 20,100 GET oE5 VAR snh PASSWORD SIZE 150, 26 //Precisa do objeto GET oE5
@ 20,200 BUTTON "Entrar" SIZE 180,50 ON CLICK {||oDlg:lResult:=.T.,hwg_EndDialog()}
@ 250,200 BUTTON "Abandonar" SIZE 180,50 ON CLICK {||ConfirmarFechar()}
ACTIVATE DIALOG oDlg
if lastkey()=27
if confirmarfechar()="N"
loop
endif
else
cnSQL := ConexaoMySQL()
cProc=cnSQL:Open()
cProc=cnSQL:execute("SELECT usuario,nomeusuar FROM usuario WHERE senha='"+snh+"'")
if cProc:recordcount()=0
cProc:Close()
cnSQL:Close()
cSenhaErrada="S"
loop
else
us=cProc:Fields("usuario"):Value
nmus=cProc:Fields("nomeusuar"):Value
cnSQL:Close()
oDlg:Close()
return "S"
endif
endif
enddo
RETURN "D"
FUNCTION ConexaoMySQL()
LOCAL cnSQL := win_OleCreateObject("ADODB.Connection")
LOCAL cServer :="xxx"
LOCAL cDatabase :="xxx"
LOCAL cUser :=""
LOCAL cPassword :="xxx"
Local cPorta :="1039"
Local cDriver :="SQL Server"
cnSQL:ConnectionString := "DRIVER=" + cDriver +";SERVER=" + cServer + ";Database=" + cDatabase + ";UID=" + cUser + ";PWD=" + cPassword + ";PORT=" + cPorta
cnSQL:CursorLocation := 3
RETURN cnSQL