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


