He preparado un ejemplo que muestra un mal funcionamiento del BRUSH o del efecto de tranparencia en un di谩logo.
El ejemplo presenta un di谩logo conteniendo un XBROWSE y dos objetos SAY de tal forma que al desplazarse por las l铆neas del browse va mostrando en los SAY el nombre (FIRST) y apellido (LAST) del renglon seleccionado. El di谩logo tiene un BRUSH de fondo.
Resulta que el fondo del di谩logo pierde el BRUSH cuando se activa otra aplicaci贸n, de tal forma que al volver al ejemplo en lugar de pintarse el di谩logo con el BRUSH de fondo, se pinta trasparente, es decir, se ve la aplicaci贸n que est谩 detr谩s. He adjuntado una imagen (Imagen1.Jpg) que muestra la ventana del ejemplo cuando reci茅n se ejecuta y otra imagen (Imagen2.Jpg) en el que se muestra la ventana despu茅s de haber conmutado a otra aplicaci贸n. En esta segunda imagen he marcado con l铆neas color rojo los SAY en los que se puede ver que, adem谩s del efecto del BRUSH, la informaci贸n de los SAY comienza a sobreponerse con el mostrado del registro anterior.
Agradezco tu ayuda.
#include "FiveWin.ch"
#include "xBrowse.ch"
function Main()
local oDlg
local oBrush
local oBrowse
local oDbf
local oSay1
local oSay2
USE CUSTOMER
DATABASE oDbf
DEFINE BRUSH oBrush FILE '..\BITMAPS\Back.bmp'
DEFINE DIALOG oDlg SIZE 800,400 TRANSPARENT
@ 10,10 XBROWSE oBrowse ;
OF oDlg SIZE 380,150 PIXEL ;
ALIAS oDbf:cAlias ;
AUTOCOLS AUTOSORT FOOTERS LINES CELL ;
ON CHANGE ( oDbf:Load(), oSay1:Refresh(), oSay2:Refresh() )
oBrowse:CreateFromCode()
@ 11,05 SAY oSay1 PROMPT "First: " + oDbf:FIRST COLOR CLR_WHITE
@ 11,20 SAY oSay2 PROMPT "Last: " + oDbf:LAST COLOR CLR_WHITE
SET BRUSH OF oDlg TO oBrush
ACTIVATE DIALOG oDlg RESIZE16 ON INIT ( oBrowse:SetFocus, .f. )
return NilImagen1
http://yfrog.com/emimagen1lpj
" rel="noopener">
http://yfrog.com/emimagen1lpj
Imagen2
http://yfrog.com/3uimagen2ij
" rel="noopener">
http://yfrog.com/3uimagen2ij
Saludos,
FWH 9.12 + xHarbour (Incluido en FWH 9.12) + Borland 5.5
Saludos,
Rodolfo MG