Formulario transparente otra forma de hacerlo
01/03/2020
Otra forma de crear formularios transparentes
thisform.Destroy
CLEAR DLLS _Sol_SetWindowLong CLEAR DLLS _Sol_SetLayeredWindowAttributes
thisform.Init
DoDefault() #Define BADOS_LOC "This sample only runs on Windows 2000 or higher." If Val(Os(3))<5 Messagebox(BADOS_LOC) Return .F. Endif Declare SetWindowLong In Win32Api As _Sol_SetWindowLong Integer, Integer, Integer Declare SetLayeredWindowAttributes In Win32Api As _Sol_SetLayeredWindowAttributes Integer, String, Integer, Integer _Sol_SetWindowLong(Thisform.HWnd, -20, 0x00080000) _Sol_SetLayeredWindowAttributes(Thisform.HWnd, 0, 230, 2) * Graduación de la transparencia hasta 240 por ahi lnValue = 190 _Sol_SetLayeredWindowAttributes(Thisform.HWnd, 0, lnValue, 2)
En las propiedad del formulario:
ShowWindow = 2 && como formulario de nivel superior
AlwaysOnTop = .t.
Comentario
Daniel Sánchez
No hay otra forma, lo que podrías hacer es un módulo para hacer o volver transparente el formulario deseado el cual lo llamas cuando lo necesitas, ahora el uso de transparencias hace años que se dejo de usar porque no aporta mucho, yo un tiempo los use para hacer que los formularios se desvanecieran cuando se cerraban antes de liberarlo, pero después de un tiempo los descarte, ya que no aportaba gran cosa al uso y los clientes les parecía bonito al inicio pero después les daba igual, así que los deje de usar.
Descarga
Vea también
Referencias
Autor: Hector Colman
Comunidad de Visual FoxPro en Español