FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Control GET sobre una imagen
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Control GET sobre una imagen
Posted: Thu Oct 21, 2010 03: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 (fw): Select all Collapse
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
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Re: Control GET sobre una imagen
Posted: Fri Oct 22, 2010 01: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 (fw): Select all Collapse
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.
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: Control GET sobre una imagen
Posted: Fri Oct 22, 2010 03: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.

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
Posts: 610
Joined: Wed Oct 19, 2005 08:20 PM
Re: Control GET sobre una imagen
Posted: Fri Oct 22, 2010 03:47 PM
Hola Patricio, no sé si es exactamente lo que quieres, pero esto funciona bien:

Code (fw): Select all Collapse
   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
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: Control GET sobre una imagen
Posted: Fri Oct 22, 2010 04:32 PM
Gracias Manuel

Lo he hecho de todas forma

Code (fw): Select all Collapse
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
Posts: 610
Joined: Wed Oct 19, 2005 08:20 PM
Re: Control GET sobre una imagen
Posted: Fri Oct 22, 2010 05: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
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Control GET sobre una imagen
Posted: Fri Oct 22, 2010 06: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)

Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: Control GET sobre una imagen
Posted: Fri Oct 22, 2010 07:03 PM
Manuel

Con el control tBitmap me arroja error

Code (fw): Select all Collapse
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 (fw): Select all Collapse
//  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
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: Control GET sobre una imagen
Posted: Fri Oct 22, 2010 08: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
Posts: 610
Joined: Wed Oct 19, 2005 08:20 PM
Re: Control GET sobre una imagen
Posted: Fri Oct 22, 2010 08: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
Posts: 610
Joined: Wed Oct 19, 2005 08:20 PM
Re: Control GET sobre una imagen
Posted: Fri Oct 22, 2010 08: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
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: Control GET sobre una imagen
Posted: Fri Oct 22, 2010 09: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



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
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Control GET sobre una imagen
Posted: Fri Oct 22, 2010 09: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)
Posts: 593
Joined: Sat May 12, 2007 11:47 AM
Re: Control GET sobre una imagen
Posted: Sat Oct 23, 2010 01: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 :-)
Posts: 610
Joined: Wed Oct 19, 2005 08:20 PM
Re: Control GET sobre una imagen
Posted: Sat Oct 23, 2010 07: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