Página 1 de 1

Background em DIALOG

Enviado: 27 Out 2007 11:26
por Daniel_halon
Olá pessoal, em outra oportunidade estava a procura de como colocar cor de fundo numa DIALOG, e realmente Não da, mas por acaso descubri que da para colocar BACKGROUND, porem parece não estar documentado. Vai ahi um exemplo

Código: Selecionar todos


 Local oPedidos, oPanel, oFontBtn, oBoton1, oBoton2, oInclusao
  Local oIcon     := HIcon():AddFile("image\Icons\Pedidos.ico")
  Local oBmp      := HBitmap():AddFile("Image\Papel800.bmp")
  Local cImageDir := "image\"
  Local vWidth    := GetDesktopWidth()
  Local vHeight   := GetDesktopHeight()


  Private a_dados := {}, a_zzcod := {}
  private oR3,oR4
  Private oFone,oRamal,oNome,oEnde,oBairro
  Private oUlt_ped

  Private vFone := Space(9)

       a_dados := {}

       
    if GETDESKTOPWIDTH()=1024
    vWidth  := vWidth-400
    vheight := vheight-300
  else
    vWidth  := vWidth-10
    vheight := vheight-10
  endif

   PREPARE FONT oFontPed NAME "MS Sans Serif" WIDTH 0 HEIGHT -12
  PREPARE FONT oFontBtn NAME "LUCIDA CONSOLE" WIDTH 0 HEIGHT -09
  PREPARE FONT oFontSay NAME "MS Sans Serif" WIDTH 0 HEIGHT -09 WEIGHT 600

   INIT DIALOG oPedidos CLIPPER NOEXIT TITLE ;
        FONT oFontPed ;
        AT 00, 00 ;
        SIZE GetDesktopWidth(), GetDesktopHeight() ;
        ON INIT  {||SetFocus(oPedidos:getlist[1]:handle)};
        ICON oIcon;
        [b]Background Bitmap oBmp[/b]

   @ 00,00 PANEL oPanel OF oPedidos SIZE getdesktopwidth(),53
   @ 00,02,vWIDTH,vHEIGHT-540  RECT oR3 of oPedidos  PRESS  RECT_STYLE 3
   @ 10,65,vWIDTH-10,vHEIGHT-35  RECT oR4 of oPedidos PRESS RECT_STYLE 3

   @ 4,5 OWNERBUTTON oBoton1 OF oPanel ON CLICK {||ShellExecute('Calc')} ;
       SIZE 38,40 TEXT "Calc." FONT oFontBtn  COORDINATES 0,27,0,0  ;
       BITMAP cImageDir+"Calc.bmp" TRANSPARENT COLOR Vcolor("C060C0") COORDINATES 0,4,0,0 TOOLTIP "Calculadora"

   @ 47,5 OWNERBUTTON oBoton2 OF oPanel ID 109 ON CLICK {||EndDialog()} ;
       SIZE 38,40 ;
       TEXT "Sair" FONT oFontBtn COORDINATES 0,27,0,0 ;
       BITMAP cImageDir+"Door.bmp" COORDINATES 0,4,0,0 TOOLTIP "Voltar" 


      @ 16,68 GROUPBOX "Dados do Ciente" SIZE 495,80


      @ 21,085 SAY 'Telefone:' Size 70,20 FONT oFontSay STYLE WS_BORDER COLOR PRETO BACKCOLOR AMARELO //SS_CENTER
      @ 93,085 Get oFone Var a_dados[1,1] size 70,20 Font oFontsay Picture '9999-9999' STYLE ES_AUTOHSCROLL Valid {|| check_cliente }

      @165,085 SAY 'Nome:' Size 70,20 FONT oFontSay STYLE WS_BORDER COLOR PRETO BACKCOLOR ARENA 
      @237,085 Get oNome Var a_dados[1,3] size 269,20 FONT oFontSay Picture Replicate('!',30) STYLE ES_AUTOHSCROLL 

      @021,105 SAY 'Endereço:' Size 70,20 FONT oFontSay STYLE WS_BORDER COLOR PRETO BACKCOLOR ARENA
      @093,105 Get oEnde Var a_dados[1,4] size 413,20 Font oFontsay Picture Replicate('!',50) STYLE ES_AUTOHSCROLL Valid {|| Pick_ende( a_dados ) }

      @ 21,125 SAY 'Bairro:  ' Size 70,20 FONT oFontSay STYLE WS_BORDER COLOR PRETO BACKCOLOR ARENA 

      @093,125 Get oBairro  Var a_dados[1,5] size 207,20 Font oFontsay Picture Replicate('!',25) STYLE ES_AUTOHSCROLL //COLOR AMARELO BACKCOLOR AZUL

      @300,125 SAY 'Ramal:' Size 70,20 FONT oFontSay STYLE WS_BORDER COLOR PRETO BACKCOLOR ARENA 
      @373,125 Get oRamal  Var a_dados[1,18] size 38,20 Font oFontsay Picture '9999' STYLE ES_AUTOHSCROLL //COLOR AMARELO BACKCOLOR AZUL


    ACTIVATE DIALOG oPedidos
Return nil



Importante: o bitmap tem que ter o tamanho da resolução da tela,
exemplo:
se vc usa 800x600 o bitmap deve respeitar esse tamanho o pelo menos 600x600, caso contrario congela tudo ao abrir a DIALOG e o cpu se perde, fica em 100% de uso

abraços, Daniel[/code][/quote]

Enviado: 31 Out 2007 13:13
por sygecom
Muito bom mesmo, até vc mostrar nunca tinha nem testado ainda !!! muito bom !!!

Enviado: 13 Nov 2007 11:24
por Luciano Bonfim
comigo deu erro de sintaxe na linha do background, mesmo tirando o que acredito ter sido para colocar em negrito esta linha...

Enviado: 13 Nov 2007 11:32
por Luciano Bonfim
desculpa, funcionou sim... era só colocar uma descricao qualquer depois de TITLE