Windows Vista y FWH y FWH64

Windows Vista y FWH y FWH64

Postby RodolfoRBG » Sat Feb 03, 2007 8:56 pm

Hola Foro!

Como el "evento taurino" por el cambio de _ también me tocó a mi ("La gran corrida"), ahora que soy desempleado, o mejor dicho, autoempleado, me verán dando lata por aqui mas seguido.

Ya veo anunciado por todos lados el tan esperado Windows Vista y no puedo dejar de preguntar si será compatible con nuestro querido FWH o si pasará lo mismo que FW de 16 bits al intentarlo trabajar con Windows de 32 bits, que marcaba errores de falta de memoria.

Suponiendo que sea compatible, entonces cual sería la ventaja de usar FWH64?

Notese que estoy muy desligado de esto del Hardware/Software actual, asi es que a lo mejor mis preguntas resultan un tanto tontas, pero no se hagan, más de uno de ustedes no se atrevía a preguntar.

'chos salu2 (y pronto cambiaré la foto de mi último proyecto (mi hijo) por la mía, nada mas que sanen mis heridas al quitarme la papada y las arrugas... jajaja, para nada!)
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
User avatar
RodolfoRBG
 
Posts: 257
Joined: Tue May 16, 2006 4:46 pm
Location: San Luis Potosi, SLP, Mexico

Postby Antonio Linares » Sat Feb 03, 2007 9:38 pm

Rodolfo,

Vista existe en versiones de 32 bits y de 64 bits. Igual que XP hasta ahora.

FWH 32 bits es totalmente compatible con Vista (32 y 64 bits). FWH64 es para usarlo sólo en versiones de 64 bits, bien sea Vista 64 ó XP 64.

Las aplicaciones de 64 bits no funcionan en ordenadores de 32 bits. Pero las aplicaciones de 32 bits si funcionan en 32 y en 64.

Además las aplicaciones de 16 bits no funcionan en XP ó Vista de 64 bits
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41468
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Rafael Clemente » Sun Feb 04, 2007 11:36 am

Antonio:
La última versión de FWH ¿admite ya hacer diálogos transparentes (o sea, con brush Null) en Vista? Recuerda que ésa era una incompatibilidad detectada hace un par de semanas.
Saludos
Rafael
User avatar
Rafael Clemente
 
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Postby Antonio Linares » Sun Feb 04, 2007 12:04 pm

Rafael,

De momento no, aún no hemos localizado lo que ha podido cambiar en Vista respecto al uso de brushes null
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41468
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Antonio Linares » Tue Feb 06, 2007 8:31 pm

Rafael,

En Vista hay que usar el estilo WS_EX_TRANSPARENT en vez de usar el brush NULL
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41468
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Rafael Clemente » Tue Feb 06, 2007 11:07 pm

Muchísimas gracias, Antonio. Lo probaré en cuanto pueda.
Saludos,

Rafael
User avatar
Rafael Clemente
 
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Postby Rafael Clemente » Tue Feb 06, 2007 11:19 pm

Antonio:

Defino el estilo de la ventana como :

nStyle := WS_POPUP+WS_THICKFRAME+WS_EX_TRANSPARENT pero al

compilar me da Ambiguous reference: 'WS_EX_TRANSPARENT'

¿Por favor, qué valor tiene esa constante? (Utilizo FWH 2.6)

Gracias,
Rafael
[/code]
User avatar
Rafael Clemente
 
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Postby Antonio Linares » Tue Feb 06, 2007 11:54 pm

Rafael,

#define WS_EX_TRANSPARENT 32 // 0x00000020L
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41468
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Rafael Clemente » Wed Feb 07, 2007 7:20 am

Antonio:
Esta solución es específica para Vista? Porque de momento lo he probado en Xp y no funciona (el diálogo aparece opaco en gris). Más tarde lo intentaré en Vista y te diré algo.
Gracias
Rafael
User avatar
Rafael Clemente
 
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Postby Rafael Clemente » Wed Feb 07, 2007 8:56 am

Fernando:

Tengo una aplicación que coloca un diálogo transparente sobre una ventana de otra aplicación. Es transparente -claro- para poder ver lo que hay en la ventana original y poder pintar cosas sobre ella. Luego, al cerrar el diálogo, lo que haya modificado desaparece y todo queda como estaba.

Con Xp utilizaba un diálogo con brush NULL y todo iba perfecto. Pero en Vista-Aero, la misma aplicación me crea un diálogo opaco, con fondo gris que no me deja ver qué hay debajo. En este momento no tengo Vista a mano pero sí he probado lo que sugiere Antonio en mi Xp de siempre. Y
nStyle := WS_EX_TRANSPARENT (sin brush) no parece que funcione sobre Xp, o sea. me genera un diálogo opaco, no trasparente. Esta tarde lo probaré con Vista.

Si quieres probarlo tú, este es el código que SI funciona en Xp y NO funciona en Vista:

Code: Select all  Expand view
#include "Fivewin.ch"

Function Main()
Local oWnd, oBrush
DEFINE BRUSH oBrush STYLE "BORLAND"
Define Window oWnd from 0,0 TO 100,200 Pixel Brush oBrush
Activate Window oWnd On Init Superponer()
Return Nil

Static Function Superponer()
Local oDlg, oBrush
DEFINE BRUSH oBrush STYLE "NULL"
Define Dialog oDlg from 0,0 TO 100,100 Pixel Brush oBrush
Activate Dialog oDlg
Return Nil


Saludos,
Rafael
User avatar
Rafael Clemente
 
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Postby Antonio Linares » Wed Feb 07, 2007 9:20 am

Rafael,

Lo hemos probado así en Vista:
Code: Select all  Expand view
#define GWL_EXSTYLE      -20

Define Dialog oDlg from 0,0 TO 100,100 PIXEL
Activate Dialog oDlg ;
   ON INIT SetWindowLong( oDlg:hWnd, GWL_EXSTYLE,  WS_EX_TRANSPARENT )

pero sigue sin funcionar.
Last edited by Antonio Linares on Wed Feb 07, 2007 9:30 am, edited 1 time in total.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41468
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Antonio Linares » Wed Feb 07, 2007 9:28 am

Rafael,

Así parece que funciona bien :-)
Code: Select all  Expand view
#define WS_EX_LAYERED 0x80000

Define Dialog oDlg from 0,0 TO 100,100 PIXEL
Activate Dialog oDlg ;
   ON INIT SetWindowLong( oDlg:hWnd, GWL_EXSTYLE, nOr( GetWindowLong( oDlg:hWnd, GWL_EXSTYLE ), WS_EX_LAYERED ) )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41468
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Rafael Clemente » Wed Feb 07, 2007 10:53 am

Antonio:
Hasta esta tarde no podré probarlo en Vista. Sin embargo, he probado esto en Xp y no parece funcionar.
Code: Select all  Expand view
#include "Fivewin.ch"
#define WS_EX_LAYERED 0x80000
#define GWL_EXSTYLE      -20

Function Main()
Local oWnd, oBrush
DEFINE BRUSH oBrush STYLE "BORLAND"
Define Window oWnd from 0,0 TO 100,200 Pixel Brush oBrush
Activate Window oWnd On Init Superponer()
Return Nil

Static Function Superponer()
Local oDlg, oBrush
//DEFINE BRUSH oBrush STYLE "NULL"
Define Dialog oDlg from 50,50 TO 100,100 Pixel   // Brush oBrush
Activate Dialog oDlg ON INIT (SetWindowLong( oDlg:hWnd, GWL_EXSTYLE, nOr( GetWindowLong( oDlg:hWnd, GWL_EXSTYLE ), WS_EX_LAYERED ) )
Return Nil


Si funciona en Vista ¿quiere esto decir que habrá que programarlo de forma distinta para correr en un sistema operativo o en otro? ¿Habría manera de unificarlo para que funcione igual en los dos?

Gracias

Rafael
User avatar
Rafael Clemente
 
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 138 guests