Control GET sobre una imagen

Control GET sobre una imagen

Postby Patricio Avalos Aguirre » Thu Oct 21, 2010 3:36 pm

Estimados

Como puedo colocar un control Get sobre una imagen, cuando paso el mouse sobre el control aparece?
la idea es ir colocando algunas letras sobre la imagen

he colocado esto
Code: Select all  Expand view
oDlg:bPainted := { || oGetImg1:Refresh() }
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
Patricio Avalos Aguirre
 
Posts: 1059
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Re: Control GET sobre una imagen

Postby colthop » Fri Oct 22, 2010 1:40 pm

Hola Patricio.

No se si te servirá pero yo en una aplicación tengo varios Get sobre una imagen y para que funcione debo poner primero el Get y despues la Imagen. Mas o menos asi:

Code: Select all  Expand view
oImg = CurDrive() + ":\" + CurDir() + "\impr" + zejer + "\imp115.bmp"
@ 28,375 GET gDlg001 VAR va011 OF oDlgwBus
@ 65,455 GET gDlg002 VAR va012 OF oDlgwBus
@172,541 GET gDlg003 VAR va013 OF oDlgwBus
@  5,  5 IMAGE  tDlg001 FILE oImg OF oDlgwBus PIXEL SIZE 600,385 ADJUST
tDlg001:Zoom(ProPorH*600/840)


Un saludo

Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
colthop
 
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: Control GET sobre una imagen

Postby Patricio Avalos Aguirre » Fri Oct 22, 2010 3:02 pm

Hola

Gracias por responder

Utilizo Recurso

Hize los ajustes que indicas pero el problema es que no puedo posicionar el mouse
en los get, solo puede acercarme con la tecla TAB.

Image
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
Patricio Avalos Aguirre
 
Posts: 1059
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Re: Control GET sobre una imagen

Postby Manuel Aranda » Fri Oct 22, 2010 3:47 pm

Hola Patricio, no sé si es exactamente lo que quieres, pero esto funciona bien:

Code: Select all  Expand view

   DEFINE DIALOG oDlg RESOURCE "MOD110"  TITLE cTitulo
   REDEFINE IMAGE oImagen  ID 800 OF oDlg FILENAME "model110.jpg"
   //
   REDEFINE GET oGet[1]  VAR vP1 ID 401 OF oDlg
   REDEFINE GET oGet[2]  VAR vP2 ID 402 OF oDlg
   .......................
   ......................
 
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
Manuel Aranda
 
Posts: 602
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Re: Control GET sobre una imagen

Postby Patricio Avalos Aguirre » Fri Oct 22, 2010 4:32 pm

Gracias Manuel

Lo he hecho de todas forma

Code: Select all  Expand view
REDEFINE GET aGet[1]              ;
    VAR _img1             ;
    PICTURE "!"                       ;
    ID 21 OF PAGE1 UPDATE         ;
    COLOR CLR_BLACK,RGB( 255,255,200) ;
    VALID _img1 $  " ;A;R;Q;S;P;T"    ;
    FONT oFont

REDEFINE GET aGet[2]               ;
    VAR _img2              ;   
    PICTURE "!"                        ;
    ID 22 OF PAGE1 UPDATE          ;
    COLOR CLR_BLACK,RGB( 255,255,200)  ;   
    VALID _img2 $  " ;A;R;Q;S;P;T"     ;
    FONT oFont

REDEFINE IMAGE oBmp ID 9 OF PAGE1 FILENAME "IMAGEN\vehoc.bmp" ADJUST
 


Pienso que el problema esta en el recurso, ya que si coloco el index de la imagen primero
no puedo seleccionar los get si pongo el index al final los get no aparecen y pasando
encima de la imagen estos aparecen ..

podrias enviarme el .res donde hiciste las pruebas
a ver donde tengo el problema


gracias
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
Patricio Avalos Aguirre
 
Posts: 1059
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Re: Control GET sobre una imagen

Postby Manuel Aranda » Fri Oct 22, 2010 5:56 pm

Aquí tienes el diálogo en el archivo RES

http://rapidshare.com/files/426587386/PRUEBA.RES
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
Manuel Aranda
 
Posts: 602
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Re: Control GET sobre una imagen

Postby Daniel Garcia-Gil » Fri Oct 22, 2010 6:46 pm

Patricio

lo que pretendes hacer no es posible de esa forma, todos los controles son "ventanas" cada uno procesa eventos (mensajes) independientemente (movimiento de raton, pintados, click, etc ) al colocar una ventana sobre otra en algun momento una estara oculta dejando a la otra sin recibir eventos...

Pudes hacer los get hijos de la imagen, los get los contruirias sin recursos, y hablandote de memoria, tendras que crearlos despues que inicialice el dialogo pues con los recursos no tendras un Handle valido hasta que este este inicializado
Si la imagen ocupa todo el dilogo, solo pinta en el DC del dialogo la imagen con el codeblock bPainted (ON PAINT)
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Control GET sobre una imagen

Postby Patricio Avalos Aguirre » Fri Oct 22, 2010 7:03 pm

Manuel

Con el control tBitmap me arroja error

Code: Select all  Expand view
Stack Calls
===========
   Called from: c:\fwh\source\classes\DIALOG.prg => CREATEDLGERROR(559)
   Called from: c:\fwh\source\classes\DIALOG.prg => TDIALOG:ACTIVATE(317)
   Called from: c:\fwh\source\classes\folder.prg => TFOLDER:DEFAULT(453)
   Called from: c:\fwh\source\classes\folder.prg => TFOLDER:INITIATE(365)
   Called from:  => __OBJSENDMSG(0)
   Called from:  => HB_EXECFROMARRAY(0)
   Called from: .\source\function\HARBOUR.PRG => OSEND(219)
   Called from:  => HB_EXECFROMARRAY(0)
   Called from: .\source\function\HARBOUR.PRG => ASEND(197)
   Called from: c:\fwh\source\classes\DIALOG.prg => TDIALOG:INITIATE(664)
   Called from: c:\fwh\source\classes\DIALOG.prg => TDIALOG:HANDLEEVENT(929)
   Called from:  => DIALOGBOX(0)
   Called from: c:\fwh\source\classes\DIALOG.prg => TDIALOG:ACTIVATE(273)
   Called from: .\IngreOt.PRG => INGRESOOT(713)
   Called from: .\Wcta.PRG => (b)MAKEMENU(1236)
   Called from: .\Wcta.PRG => (b)MAKEMENU(1236)
   Called from: .\source\classes\MENU.PRG => TMENU:ACTIVATE(470)
   Called from: .\Wcta.PRG => SHOWPOPUP(1229)
   Called from: .\Wcta.PRG => (b)MAIN(116)
   Called from: .\source\classes\TOOLBAR.PRG => TTOOLBAR:COMMAND(219)
   Called from: c:\fwh\source\classes\DIALOG.prg => TDIALOG:COMMAND(381)
   Called from:  => TWINDOW:HANDLEEVENT(0)
   Called from: c:\fwh\source\classes\DIALOG.prg => TDIALOG:HANDLEEVENT(945)
   Called from: c:\fwh\source\classes\WINDOW.prg => _FWH(3394)
   Called from:  => WINRUN(0)
   Called from: c:\fwh\source\classes\WINDOW.prg => TMDIFRAME:ACTIVATE(978)
   Called from: .\Wcta.PRG => MAIN(229)

System
======

Cambio a BITMAP
Code: Select all  Expand view
//  REDEFINE IMAGE oBmp ID 800 OF PAGE1 FILENAME "IMAGEN\vehoc.bmp" ADJUST
REDEFINE BITMAP oBmp ID 800 OF PAGE1 FILENAME "IMAGEN\vehoc.bmp" ADJUST
 


funciona pero hace me hace lo mismo

Como defines el contro IMAGE

desde ya gracias por tu tiempo
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
Patricio Avalos Aguirre
 
Posts: 1059
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Re: Control GET sobre una imagen

Postby Patricio Avalos Aguirre » Fri Oct 22, 2010 8:19 pm

gracias daniel

voy a probar si me resulta, no no grito jeje
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
Patricio Avalos Aguirre
 
Posts: 1059
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Re: Control GET sobre una imagen

Postby Manuel Aranda » Fri Oct 22, 2010 8:24 pm

Pues el código es el que te puse más arriba.
Tal vez los errores vengan porque no hayas incluído #include "image.ch" y la librería freeimage.dll en el directorio de la aplicación.
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
Manuel Aranda
 
Posts: 602
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Re: Control GET sobre una imagen

Postby Manuel Aranda » Fri Oct 22, 2010 8:52 pm

Patricio, te he hecho un ejemplo autocontenido con los archivos necesarios:

http://rapidshare.com/files/426614995/Prueba.rar

(Otra cosa es que sea esto lo que estás buscando)
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
Manuel Aranda
 
Posts: 602
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Re: Control GET sobre una imagen

Postby Patricio Avalos Aguirre » Fri Oct 22, 2010 9:15 pm

Muchas Gracias Manuel

Parece que le truco es hacer la imagen con los controles get incluidos, pero igual no puedes pinchar un get, solo debes pasar de un control en uno hasta llegar al que corresponda

Image

se agradese los ejemplos

pd:por ahora lo dejo a medias, hay que seguir avanzando
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
Patricio Avalos Aguirre
 
Posts: 1059
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Re: Control GET sobre una imagen

Postby Daniel Garcia-Gil » Fri Oct 22, 2010 9:28 pm

Daniel Garcia-Gil wrote:Patricio

lo que pretendes hacer no es posible de esa forma, todos los controles son "ventanas" cada uno procesa eventos (mensajes) independientemente (movimiento de raton, pintados, click, etc ) al colocar una ventana sobre otra en algun momento una estara oculta dejando a la otra sin recibir eventos...

Pudes hacer los get hijos de la imagen, los get los contruirias sin recursos, y hablandote de memoria, tendras que crearlos despues que inicialice el dialogo pues con los recursos no tendras un Handle valido hasta que este este inicializado
Si la imagen ocupa todo el dilogo, solo pinta en el DC del dialogo la imagen con el codeblock bPainted (ON PAINT)
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Control GET sobre una imagen

Postby rolando » Sat Oct 23, 2010 1:41 am

Patricio,

Tomé el PRG de prueba que te envió Manuel y le modifiqué el RES y acá funciona.

Así lo vengo usando desde hace bastante en mis aplicaciones y sin problemas

Puedes bajar el RES desde:

http://www.mediafire.com/?al6f36d766wuawa

Reemplazalo por el que enviara Manuel y prueba. Comenta si te sirve.

Saludos.

Rolando :D
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: Control GET sobre una imagen

Postby Manuel Aranda » Sat Oct 23, 2010 7:32 am

Rolando, gracias.
Era el problemilla que tenía yo también, el no poder pinchar con el ratón sobre los GET. Sencillamente se soluciona creando primero en el RES los controles GET y encima el control BITMAP.
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
Manuel Aranda
 
Posts: 602
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 93 guests