Página 2 de 3

Iniciante em HwGui com problema em exibição de imagem

Enviado: 13 Fev 2024 14:29
por JoséQuintas
Ok Itamar, confirmou o que eu pensava.

@ IMAGE NÃO É plano de fundo, é um controle com imagem.

Esse controle fica por cima dos outros, por isso nada funciona.

Seria como criar um button do tamanho da tela, o que não é imagem de fundo.

Iniciante em HwGui com problema em exibição de imagem

Enviado: 13 Fev 2024 14:59
por JoséQuintas
Apenas como exemplo, não significa que seja obrigatório fazer assim.
Apenas note que cada bloco cuida de "um assunto", o que torna mais fácil entender e mexer no fonte.
Variáveis por referência ajudam pra não precisar usar PRIVATE ou PUBLIC, e permitem compilação -w3 -es2 pra checagem máxima.

Código: Selecionar todos

#include "hwgui.ch"

MEMVAR cnSQL, cUsuario, lLogin, hBack

PROCEDURE Main

   PRIVATE cnSQL, cUsuario := "", lLogin := .F., hBack

   hBack := hbitmap():AddFile( "d:\fontes\integra\image\jpatecnologia.bmp" )

   DlgLogin( @lLogin )
   IF ! lLogin
      RETURN
   ENDIF
   DlgTela()

   RETURN

FUNCTION DlgLogin( lLogin )

   Local oFont := HFont():Add( "MS Sans Serif",0,-13 ), oDlg
   Local snh := space(20)
   Local oE5, cProc

   INIT DIALOG oDlg TITLE "Processos" AT 100, 100 SIZE 540, 500 FONT oFont ;
   BACKGROUND BITMAP hBack

   @ 20,30 SAY oSAY1 CAPTION "Digite a sua senha:" SIZE 120, 20

   @ 20,100 GET oE5 VAR snh PASSWORD SIZE 150, 26 //Precisa do objeto GET oE5

   @ 20,200  BUTTON a1 caption "Entrar" SIZE 180,50 ON CLICK { || btnEntrarClick(oDlg,@lLogin) }

   @ 250,200 BUTTON a2 caption "Abandonar" SIZE 180,50 ON CLICK { || btnAbandonarClick(oDlg) }

   ACTIVATE DIALOG oDlg

   RETURN .F.

FUNCTION btnEntrarClick(oDlg,lLogin)
   //cnSQL := ConexaoMySQL()
   //cnSQL:Open()
   //cProc=cnSQL:execute("SELECT usuario,nomeusuar FROM usuario WHERE senha='"+snh+"'")
   //if cProc:recordcount()=0
   //   cProc:Close()
   //   cnSQL:Close()
   //   RETURN Nil
   //ENDIF
   //cUsuario=cProc:Fields("usuario"):Value
   //cNomeUsuario=cProc:Fields("nomeusuar"):Value
   //cnSQL:Close()
   lLogin := .T.
   oDlg:Close()
   return Nil

FUNCTION btnAbandonarClick(oDlg)

   IF hwg_MsgYesNo( "Sair" )
      oDlg:Close()
   ENDIF

   RETURN Nil

FUNCTION DlgTela()

   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

   INIT DIALOG oDlg TITLE "Processos" AT 100, 100 SIZE 540, 500 FONT oFont ;
   BACKGROUND BITMAP hBack

   @ 20,10 SAY oSAY2 CAPTION "Ol , "+cUsuario SIZE 100, 100

   @ 20,50 BUTTON "Consultar" SIZE 200,60 ;
                 ON CLICK {||btnConsulta_Click()}

   @ 300,50 BUTTON "Cadastrar" SIZE 200,60 ;
                 ON CLICK {||btnInclui_Click()}

   @ 20,200 BUTTON "Manuten‡Æo" SIZE 200,60 ;
                 ON CLICK {||btnAltera_Click()}

   @ 300,200 BUTTON "Recados" SIZE 200,60 ;
                 ON CLICK {||btnRecados_Click()}

   @ 20,450 BUTTON "Fechar" SIZE 80,50 ON CLICK {||Fechar_Click(oDlg)}

   ACTIVATE DIALOG oDlg
   Return Nil

STATIC FUNCTION Fechar_Click(oDlg)
   IF ! hwg_MsgYesNo("Tem certeza que deseja sair?", "Confirmação")
      RETURN Nil
   ENDIF
   oDlg:Close()
   RETURN Nil

STATIC FUNCTION btnConsulta_Click(); RETURN Nil

STATIC FUNCTION btnInclui_Click(); RETURN Nil

STATIC FUNCTION btnAltera_Click(); RETURN Nil

STATIC FUNCTION btnRecados_Click(); RETURN Nil

return


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
Peguei o primeiro bmp que achei.
Virou carnaval.
login.png
login2.png

Iniciante em HwGui com problema em exibição de imagem

Enviado: 13 Fev 2024 16:30
por cjp
Seria assim?

Código: Selecionar todos

            INIT DIALOG oDlg TITLE "Processos" AT 100, 100 SIZE 540, 500 FONT oFont BACKGROUD BITMAP "bmp_anim.bmp"
Tá dando erro na compilação.

Iniciante em HwGui com problema em exibição de imagem

Enviado: 13 Fev 2024 16:52
por alxsts
Olá!

Qual erro?

De cara dá pra ver que BACKGROUND está escrito de forma errada...

Iniciante em HwGui com problema em exibição de imagem

Enviado: 13 Fev 2024 16:55
por cjp
Dá erro nesta linha:
INIT DIALOG oDlg TITLE "Processos" AT 100, 100 SIZE 540, 500 FONT oFont ;
BACKGROUND BITMAP hBack
Error E0030 syntax error at 'DIALOG'

Iniciante em HwGui com problema em exibição de imagem

Enviado: 13 Fev 2024 17:00
por cjp
Verdade, estava escrito errado. Desculpem.
Mas corrigi agora. Compila. Mas a imagem de fundo não aparece.
Testei com a .bmp e também com a .jpg.

Iniciante em HwGui com problema em exibição de imagem

Enviado: 13 Fev 2024 18:39
por alxsts
Olá!

Este tópico é bem antigo mas talvez ajude:
https://www.pctoledo.com.br/forum/viewt ... 70&start=0

Iniciante em HwGui com problema em exibição de imagem

Enviado: 13 Fev 2024 21:08
por JoséQuintas
Acho que conheço esse hBACK.

Se pegou do outro fonte, é olhar a origem da variável.

Código: Selecionar todos

 hBack := hbitmap():AddFile( "d:\fontes\integra\image\jpatecnologia.bmp" )

Iniciante em HwGui com problema em exibição de imagem

Enviado: 13 Fev 2024 21:11
por cjp
Testei como sugerido nesse link, mas dá erro na compilação.

Iniciante em HwGui com problema em exibição de imagem

Enviado: 14 Fev 2024 10:05
por sygecom
Inacio,
Posta o erro que está dando, quem sabe conseguimos ajudar sabendo qual erro da ao compilar.

Iniciante em HwGui com problema em exibição de imagem

Enviado: 14 Fev 2024 10:36
por cjp
Perdão.
Está dando error E0030 "syntax error at '/'".
Fiz assim:

Código: Selecionar todos

  hBack := hbitmap():AddFile( "WALLPAPER.JPG" )
            INIT DIALOG oDlg TITLE "Processos" AT 1, 1 SIZE 650, 600 FONT oFont;
			[b]BACKGROUND BITMAP hBack[/b]
Também testei com o .bmp, mesmo erro.

Iniciante em HwGui com problema em exibição de imagem

Enviado: 14 Fev 2024 11:08
por JoséQuintas
Pelo erro.....
Dá a impressão que copiou o texto do fórum com marcação de negrito, já que só nele tem "/", e é no fórum que se usam os colchetes pra isso.

Iniciante em HwGui com problema em exibição de imagem

Enviado: 14 Fev 2024 13:07
por sygecom
Acho que o Quintas tem razão.

Inacio,
onde está: BACKGROUND BITMAP hBack

tem que ser: BACKGROUND BITMAP hBack

Iniciante em HwGui com problema em exibição de imagem

Enviado: 14 Fev 2024 17:21
por alxsts
Olá!
JoséQuintas escreveu:Pelo erro.....
Dá a impressão que copiou o texto do fórum com marcação de negrito, já que só nele tem "/", e é no fórum que se usam os colchetes pra isso.


Normal...

Na maioria das vezes, tem que analisar o código e fazer ajustes.

Segue em anexo o código do link acima, com alguns ajustes.
Tela.JPG
Crédito da imagem: Wikipedia

Iniciante em HwGui com problema em exibição de imagem

Enviado: 15 Fev 2024 00:49
por cjp
De fato, havia esquecido de tirar o /b. Peço desculpas.
Mas agora tirei, e continua não aparecendo a imagem.
Enfim, acho que não tem jeito mesmo. Melhor deixar quieto.
De qualquer forma, agradeço a todos pela ajuda.