Page 1 of 2
Control GET sobre una imagen
Posted:
Thu Oct 21, 2010 3:36 pm
by Patricio Avalos Aguirre
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() }
Re: Control GET sobre una imagen
Posted:
Fri Oct 22, 2010 1:40 pm
by colthop
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
Re: Control GET sobre una imagen
Posted:
Fri Oct 22, 2010 3:02 pm
by Patricio Avalos Aguirre
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.
Re: Control GET sobre una imagen
Posted:
Fri Oct 22, 2010 3:47 pm
by Manuel Aranda
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
.......................
......................
Re: Control GET sobre una imagen
Posted:
Fri Oct 22, 2010 4:32 pm
by Patricio Avalos Aguirre
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
Re: Control GET sobre una imagen
Posted:
Fri Oct 22, 2010 5:56 pm
by Manuel Aranda
Re: Control GET sobre una imagen
Posted:
Fri Oct 22, 2010 6:46 pm
by Daniel Garcia-Gil
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)
Re: Control GET sobre una imagen
Posted:
Fri Oct 22, 2010 7:03 pm
by Patricio Avalos Aguirre
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
Re: Control GET sobre una imagen
Posted:
Fri Oct 22, 2010 8:19 pm
by Patricio Avalos Aguirre
gracias daniel
voy a probar si me resulta, no no grito jeje
Re: Control GET sobre una imagen
Posted:
Fri Oct 22, 2010 8:24 pm
by Manuel Aranda
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.
Re: Control GET sobre una imagen
Posted:
Fri Oct 22, 2010 8:52 pm
by Manuel Aranda
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)
Re: Control GET sobre una imagen
Posted:
Fri Oct 22, 2010 9:15 pm
by Patricio Avalos Aguirre
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
se agradese los ejemplos
pd:por ahora lo dejo a medias, hay que seguir avanzando
Re: Control GET sobre una imagen
Posted:
Fri Oct 22, 2010 9:28 pm
by Daniel Garcia-Gil
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)
Re: Control GET sobre una imagen
Posted:
Sat Oct 23, 2010 1:41 am
by rolando
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/?al6f36d766wuawaReemplazalo por el que enviara Manuel y prueba. Comenta si te sirve.
Saludos.
Rolando
Re: Control GET sobre una imagen
Posted:
Sat Oct 23, 2010 7:32 am
by Manuel Aranda
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.