Usina BRAdvPL Guia
Entrar
← Todos os tópicos
COMANDOPublicado

@ ... BITMAP

@ <nRow>, <nCol> BITMAP [<oBmp>] [RESOURCE <cResName> | FILE <cFileName>] [SIZE <nWidth>, <nHeight>] [OF <oWnd>] [PIXEL]

Exibe uma imagem em uma interface AdvPL a partir de um recurso do repositório ou de um arquivo em disco.

Interface visualImagemBitmapTBitmapComandos
01 · VISÃO GERAL

Visão geral

O comando @ ... BITMAP cria um componente visual para apresentar imagens em diálogos, painéis e outros contêineres. Durante a compilação, ele é convertido no construtor New() da classe TBitmap. A imagem pode vir de um resource armazenado no repositório ou de um arquivo localizado a partir do RootPath do ambiente.

02 · SINTAXE

Sintaxe

@ <nRow>, <nCol> BITMAP [<oBmp>] [RESOURCE <cResName> | FILE <cFileName>] [SIZE <nWidth>, <nHeight>] [OF <oWnd>] [PIXEL]

Parâmetros

nRow, nCol
NuméricoObrigatório

Linha e coluna em que o componente será posicionado. Com PIXEL, as coordenadas partem do canto superior esquerdo do componente pai.

oBmp
ObjetoOpcional

Variável que receberá o objeto TBitmap criado, necessária quando propriedades ou métodos serão usados depois da criação.

RESOURCE cResName
CaractereOpcional

Nome da imagem armazenada como resource no repositório de objetos. Também aceita NAME ou RESNAME.

FILE cFileName
CaractereOpcional

Nome do arquivo no disco, resolvido a partir do RootPath do ambiente. Também aceita FILENAME ou DISK.

SIZE nWidth, nHeight
NuméricoOpcional

Largura e altura reservadas para o componente.

OF oWnd
ObjetoOpcional

Diálogo, painel, folder ou outro contêiner visual ao qual o bitmap pertence. OF é a forma recomendada pela documentação oficial.

ON CLICK / ON RIGHT CLICK
ExpressãoOpcional

Função literal executada no clique esquerdo ou direito. Nesta sintaxe, a documentação informa que não deve ser passado um CodeBlock.

NOBORDER · SCROLL · ADJUST · CURSOR · PIXEL · WHEN · VALID
CláusulasOpcional

Controlam borda, barras de rolagem, ajuste da imagem, cursor, coordenadas, habilitação e validação do componente.

03 · EXEMPLO PRÁTICO

Imagem carregada de arquivo

#Include "TOTVS.ch"

User Function ExBitmap()
    Local oDlg
    Local oBmp
    Local cArquivo := "\system\imagem.png"

    Define Dialog oDlg Title "Exemplo de imagem" ;
        From 180, 180 To 550, 700 Pixel

    @ 10, 10 Bitmap oBmp File (cArquivo) ;
        Size 120, 80 Of oDlg Pixel NOBORDER

    Activate Dialog oDlg Centered
Return
Resultado esperado

A imagem é lida a partir do RootPath, exibida sem borda e o objeto fica disponível em oBmp.

04 · EXEMPLO PRÁTICO

Imagem do repositório com clique

#Include "TOTVS.ch"

User Function ExBitmapRecurso()
    Local oDlg
    Local oBmp

    Define Dialog oDlg Title "Atalho visual" ;
        From 0, 0 To 180, 360 Pixel

    @ 15, 20 Bitmap oBmp Resource "LOGO_EMPRESA" ;
        Size 120, 60 Of oDlg Pixel Adjust ;
        On Click AbrirCadastro()

    Activate Dialog oDlg Centered
Return

Static Function AbrirCadastro()
    MsgInfo("Imagem selecionada")
Return
Resultado esperado

O resource é ajustado à área definida e chama uma função literal quando recebe o clique esquerdo.

BOAS PRÁTICAS
  • Inclua TOTVS.ch para disponibilizar o comando ao compilador.
  • Prefira OF para explicitar o contêiner proprietário do componente.
  • Use oBmp quando precisar carregar outra imagem com Load() ou alterar propriedades da classe após a criação.
  • SCROLL habilita barras quando a imagem é maior que a área disponível.
  • ADJUST redimensiona a imagem para o espaço definido, mas pode distorcê-la se as proporções forem diferentes.
  • Consulte TBitmap para confirmar formatos de imagem suportados e propriedades adicionais, como transparência.
ARMADILHAS COMUNS
  • FILE é resolvido a partir do RootPath; confirme o local e a disponibilidade do arquivo no ambiente em que a rotina será executada.
  • Misturar coordenadas PIXEL com outra unidade pode posicionar ou dimensionar o componente incorretamente.
  • ADJUST pode deformar a imagem; preserve a proporção sempre que a fidelidade visual for importante.
  • Sem OF, o componente será criado na janela ou no diálogo ativo, o que pode gerar vínculo inesperado.
  • Nos eventos ON CLICK e ON RIGHT CLICK, informe uma função literal conforme a sintaxe documentada, não um bloco de código.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. @ ... BITMAP. TDN. Criado por Julio Wittwer; última alteração em 29 maio 2019.
  2. TOTVS. Classe TBitmap — construtores e formatos suportados. TDN.
Situação
Publicado
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR