Boa tarde pessoal,
Como faço para inserir uma imagem dentro de uma Janela no meu programa?
Att
Vitor
Inserir imagem no programa.
Moderador: Moderadores
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Inserir imagem no programa.
Amiguinho,
Explique melhor como voce deseja inserir uma imagem, ou seja, qual a intenção da imagem que será inclusa?
Mesmo porque dependendo de qual a sua necessidade poderemos incluir uma imagem em uma janela, em uma janela filha(Child), em um diálogo, etc.
TestBMP.prg
Neste primeiro exemplo uma janela pai ativa, através de um menu, um diálogo, que tem seu desenho posicionado por arquivos de recursos( .RC ).
Um comando redefine o objeto bitmap contido no recurso posicionando-o e através de um método(comando interno de uma classe) da classe bitmap, chamado SetBMP(), executa a ação de fixar o nome da imagem para ser exibida.
O botões posicionados no diálogo fazem as ações de re-fixar o nome de imagem e apresentá-la.
TestBMP3
Neste exemplo, em uma janela pai um comando posiciona diretamente em sua área uma imagem.
Os métodos ON PAINT e ON RESIZE refazem os ajustes de posicionamento e apresentação caso a janela seja movida(on paint) ou redimensionada(on resize).
TestBMP4
Neste exemplo, em uma janela pai, um comando define na posição 1,1(pixel) de sua área interna, a posição de uma imagem.
A propriedade bPainted da classe bitmap recebe um valor, que neste caso é um bloco de código( codeblock ) que será executado, produzindo os efeitos de ir para trás na imagem, definindo a cor do texto e imprimindo o texto.
Veja que existem 3 ações sendo executadas, SetBkMode(), SetTextColor() e TextOut() dentro do codeblock. Já que qualquer conteúdo entre {|| e } será considerado comando a ser executado.
Este exemplos estão na pasta SAMPLES e as classes estão na pasta CLASSES.
Explique melhor como voce deseja inserir uma imagem, ou seja, qual a intenção da imagem que será inclusa?
Mesmo porque dependendo de qual a sua necessidade poderemos incluir uma imagem em uma janela, em uma janela filha(Child), em um diálogo, etc.
TestBMP.prg
Neste primeiro exemplo uma janela pai ativa, através de um menu, um diálogo, que tem seu desenho posicionado por arquivos de recursos( .RC ).
Um comando redefine o objeto bitmap contido no recurso posicionando-o e através de um método(comando interno de uma classe) da classe bitmap, chamado SetBMP(), executa a ação de fixar o nome da imagem para ser exibida.
O botões posicionados no diálogo fazem as ações de re-fixar o nome de imagem e apresentá-la.
Código: Selecionar todos
// Images DataBase sample in FiveWin from resources
// This code is fully compatible with FiveWin, FiveWin++ and FiveWin for Harbour
#include "FiveWin.ch"
static oWnd
//----------------------------------------------------------------------------//
function Main()
#ifndef __CLIPPER__
SET RESOURCES TO "Fishes32.dll" // 32 bits DLL version
#else
SET RESOURCES TO "Fishes16.dll" // 16 bits DLL version for Clipper users
#endif
DEFINE WINDOW oWnd FROM 1, 1 TO 22, 75 ;
TITLE "Bitmap Test" MENU BuildMenu()
SET MESSAGE OF oWnd TO "FiveWin - Fishes Database!"
ACTIVATE WINDOW oWnd
return nil
//----------------------------------------------------------------------------//
function BuildMenu()
local oMenu
MENU oMenu
MENUITEM "Dialog Box"
MENU
MENUITEM "&Activate..." ACTION DlgFish() ;
MESSAGE "Show the images"
SEPARATOR
MENUITEM "&End..." ACTION oWnd:End() ;
MESSAGE "Thats all folks!"
ENDMENU
oMenu:AddHelp( "FiveWin", "FiveTech" )
ENDMENU
return oMenu
//----------------------------------------------------------------------------//
function DlgFish()
local oDlg
local n := 1
local bmpFish
DEFINE DIALOG oDlg RESOURCE "Fish"
REDEFINE BITMAP bmpFish ID 110 OF oDlg NAME "Fish1"
bmpFish:bLDblClick = { | nRow, nCol, nFlags | ;
MsgInfo( "DblClick on the bitmap" ) }
REDEFINE BUTTON ID 120 OF oDlg ;
ACTION If( n > 1, bmpFish:SetBMP( "Fish" + AllTrim( Str( --n ) ) ), ;
Tone( 956, 2 ) )
REDEFINE BUTTON ID 130 OF oDlg ;
ACTION If( n < 6, bmpFish:SetBMP( "Fish" + AllTrim( Str( ++n ) ) ), ;
Tone( 956, 2 ) )
ACTIVATE DIALOG oDlg CENTERED
return nil
Neste exemplo, em uma janela pai um comando posiciona diretamente em sua área uma imagem.
Os métodos ON PAINT e ON RESIZE refazem os ajustes de posicionamento e apresentação caso a janela seja movida(on paint) ou redimensionada(on resize).
Código: Selecionar todos
#include "FiveWin.ch"
STATIC oWnd, oBmp
FUNCTION Main()
DEFINE WINDOW oWnd FROM 0,0 TO 10,20 TITLE "Test Class TBitmap"
@ 0,0 BITMAP oBmp FILENAME "..\bitmaps\Tutanka1.bmp" OF oWnd ;
SIZE 0,0 PIXEL SCROLL
WndCenter(oWnd:hWnd)
ACTIVATE WINDOW oWnd ;
ON PAINT ( oBmp:aDjClient(), oBmp:ScrollAdjust() ) ;
ON RESIZE ( oBmp:aDjClient(), oBmp:ScrollAdjust() )
RETURN ( nil )
Neste exemplo, em uma janela pai, um comando define na posição 1,1(pixel) de sua área interna, a posição de uma imagem.
A propriedade bPainted da classe bitmap recebe um valor, que neste caso é um bloco de código( codeblock ) que será executado, produzindo os efeitos de ir para trás na imagem, definindo a cor do texto e imprimindo o texto.
Veja que existem 3 ações sendo executadas, SetBkMode(), SetTextColor() e TextOut() dentro do codeblock. Já que qualquer conteúdo entre {|| e } será considerado comando a ser executado.
Código: Selecionar todos
#include "FiveWin.ch"
FUNC main()
local oWnd, oBmp
DEFINE WINDOW oWnd TITLE "Text on a bitmap"
@ 1, 1 BITMAP oBmp FILENAME "..\bitmaps\magic.bmp" OF oWnd
oBmp:bPainted = { || SetBkMode( oBmp:hDC, 1 ),;
SetTextColor( oBmp:hDC, CLR_YELLOW ),;
TextOut( oBmp:hDC, 5, 5, "Hello" ) }
ACTIVATE WINDOW oWnd
RETURN NIL
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
