A transparent MDI-child to show Backgrd. of MDI-frame ?

A transparent MDI-child to show Backgrd. of MDI-frame ?

Postby ukoenig » Wed Dec 08, 2010 3:52 pm

Hello,

is it possible, do define a transparent MDI-child ?
I want to show the Background from MDI-frame.

I got it working, but only with some graphical-extras.
Maybe my Solution is the only way, how to do it.

viewtopic.php?f=3&t=20440&p=108457#p108457

Best Regards
Uwe :?:
Last edited by ukoenig on Wed Dec 08, 2010 6:20 pm, edited 3 times in total.
Since 1995 ( the first release of FW 1.9 )
i work with FW.
If you have any questions about special functions, maybe i can help.
User avatar
ukoenig
 
Posts: 4043
Joined: Wed Dec 19, 2007 6:40 pm
Location: Germany

Re: A transparent MDI-child to show Backgrd. from MDI-main ?

Postby Rick Lipkin » Wed Dec 08, 2010 5:31 pm

Uwe

Are you talking about the transparency of the mdi child frame ??

Rick Lipkin
User avatar
Rick Lipkin
 
Posts: 2618
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: A transparent MDI-child to show Backgrd. from MDI-main ?

Postby ukoenig » Wed Dec 08, 2010 6:05 pm

Rick,

the Screenshot explains, what I mean.
Using a Dialog, I can define a Zero-brush and I will see the Background of the MDI-frame ( my first tests ).
It doesn't work with Windows, and shows a black Background.
I fixed the Problem, using Brushes the same like the MDI-frame shows, to get a transparent-effect.
( posted to Colin in detail, how to do it )
It works fine for me, but that makes it a bit complicated for normal Users.
No problem using Colors and BMP-brushes, but using Gradient or Image, You need exactly a copy
of the MDI-frame-background-area is covered with the MDI-child.
What I mean is, to see instead of the gray color the background of the MDI-Frame without Brush-define.

Image

Using the MDIFrame-Screenshot-section as MDI-child-brush :

Image

The Result with the Screencapture-Image used as Brush ( transparent effect )

Image

Best Regards
Uwe :roll:
Since 1995 ( the first release of FW 1.9 )
i work with FW.
If you have any questions about special functions, maybe i can help.
User avatar
ukoenig
 
Posts: 4043
Joined: Wed Dec 19, 2007 6:40 pm
Location: Germany

Re: A transparent MDI-child to show Backgrd. of MDI-frame ?

Postby nageswaragunupudi » Wed Dec 29, 2010 3:42 pm

Here is another approach, but much simpler. Programmers with lesser knowledge like me can understand and do.
Code: Select all  Expand view
#include "fivewin.ch"

//----------------------------------------------------------------------------//

function Main()

   local oWnd, oBar, oBrush

   DEFINE BRUSH oBrush FILE "c:\fwh\bitmaps\olga1.jpg"
   DEFINE WINDOW oWnd MDI BRUSH oBrush

   DEFINE BUTTONBAR oBar OF oWnd SIZE 100,32 2007

   DEFINE BUTTON OF oBar PROMPT "Transp-Child" ;
      ACTION TranspChild()

   SET MESSAGE OF oWnd TO "" 2007
   ACTIVATE WINDOW oWnd

return nil

//----------------------------------------------------------------------------//

static function TranspChild()

   local oWnd

   DEFINE WINDOW oWnd MDICHILD OF WndMain()

   ACTIVATE WINDOW oWnd ;
      ON PAINT ChildPaint( hDC, oWnd ) ;
      ON MOVE ( oWnd:Refresh() )

return nil

//----------------------------------------------------------------------------//

static function ChildPaint( hDC, oWnd )

   local aPoint

   aPoint   := ClientToScreen( WndMain():hWnd, { 0, 0 } )
   aPoint   := ScreenToClient( oWnd:hWnd, aPoint )

   SetBrushOrgEx( hDC, aPoint[ 2 ], aPoint[ 1 ] + WndMain():oBar:nHeight - 1 )

   FillRect( hDC, GetClientRect( oWnd:hWnd ), WndMain():oBrush:hBrush )

return nil

//----------------------------------------------------------------------------//
 


Screen shot:
Image
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10248
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: A transparent MDI-child to show Backgrd. of MDI-frame ?

Postby ukoenig » Thu Dec 30, 2010 12:05 am

Mr. Rao,

thank You very much. I added the Button-logic and it works perfect.
I will include the new Solution in my next Update.

Image

You can test all kind of Backgrounds. Define nOption on top.
nOption = 1 Color
nOption = 2 Gradient
nOption = 3 Brush
nOption = 4 Image ( adjusted to Screen )

Code: Select all  Expand view

#include "fivewin.ch"

//----------------------------------------------------------------------------//

FUNCTION MAIN()
local oWnd, oBar, oBrush, nOption
local aRect3 := GetSysmetrics( 1 ) // Screen-Height
local aRect4 := GetSysmetrics( 0 ) // Screen-Width

nOption := 4

IF nOption = 1
    DEFINE BRUSH oBrush COLOR  16776960
ENDIF
IF nOption = 2
    aColors := { { 0.5, 16776960, 16777215 }, { 0.5, 16777215, 16776960 } } 
ENDIF
IF nOption = 3
    DEFINE BRUSH oBrush FILENAME "e:\fwh\bitmaps\backgrnd\Marble.bmp"
ENDIF
IF nOption = 4
    DEFINE IMAGE oTmp FILENAME "e:\fwh\bitmaps\olga1.jpg"
    oBrush := TBrush():new( ,,,, ResizeBmp( oTmp:hBitmap, aRect4, aRect3, .T. ) )
    oTmp:End()
ENDIF

DEFINE WINDOW oWnd MDI BRUSH oBrush

DEFINE BUTTONBAR oBar OF oWnd SIZE 100,32 2007

DEFINE BUTTON OF oBar PROMPT "Transp-Child" ;
ACTION TranspChild()

SET MESSAGE OF oWnd TO "" 2007

ACTIVATE WINDOW oWnd ;
ON PAINT IIF( nOption = 2, GradBrush( oWnd, aColors, .T. ), NIL )

RETURN NIL

// -----  Gradient-Brush --------------------------

FUNCTION GradBrush( oWnd, aColors, lPos )
local hDC, hBmp, hBmpOld, oBrush

if Empty( oWnd:oBrush:hBitmap )
      hDC = CreateCompatibleDC( oWnd:GetDC() )
      hBmp = CreateCompatibleBitMap( oWnd:hDC, oWnd:nWidth, oWnd:nHeight )
      hBmpOld = SelectObject( hDC, hBmp )
      GradientFill( hDC, 0, 0, oWnd:nHeight, oWnd:nWidth, aColors, lPos )
      DeleteObject( oWnd:oBrush:hBrush )
      oWnd:oBrush:hBitmap = hBmp
      oWnd:oBrush:hBrush = CreatePatternBrush( hBmp )
      SelectObject( hDC, hBmpOld )
      oWnd:ReleaseDC()
endif  

RETURN NIL

//----------------------------------------------------------------------------//

STATIC FUNCTION TRANSPCHILD()
local oWnd, oBtn1, oBtn2, oBtn3, oFont1

DEFINE WINDOW oWnd MDICHILD OF WndMain() FROM 50, 20 TO 350, 190 PIXEL ;
BORDER NONE ;   
NOSYSMENU ;
NOICONIZE ;
NOCAPTION      

oWnd:SetBrush( WndMain():oBrush )

DEFINE FONT oFont1 NAME "Arial" SIZE 0, -14 BOLD

@ 10, 10 BTNBMP oBtn1 OF oWnd PIXEL ;
SIZE 150 , 70  PROMPT "Test Button &1" 2007 ;
FONT oFont1 ;
TOP ;
NOBORDER ;
FILENAME "e:\fwh\bitmaps\32x32\Setup.bmp" ;
ACTION MsgAlert( "Test", "Button 1" )
oBtn1:SetColor( 128, )
oBtn1:cTooltip :=  { "Test" + CRLF + ;
                "Button","Button 1", 1, CLR_BLACK, 14089979 }

@ 115, 10 BTNBMP oBtn2 OF oWnd PIXEL ;
SIZE 150 , 70  PROMPT "Test Button &2" 2007 ;
FONT oFont1 ;
TOP ;
NOBORDER ;
FILENAME "e:\fwh\bitmaps\32x32\Star.bmp" ;
ACTION MsgAlert( "Test", "Button 2" )
oBtn2:SetColor( 128, )
oBtn2:cTooltip :=  { "Test" + CRLF + ;
                "Button","Button 2", 1, CLR_BLACK, 14089979 }

@ 220, 10 BTNBMP oBtn3 OF oWnd PIXEL ;
SIZE 150 , 70  PROMPT "Exit" 2007 ;
FONT oFont1 ;
TOP ;
NOBORDER ;
FILENAME "e:\fwh\bitmaps\32x32\Quit.bmp" ;
ACTION ( oWnd:End() )      
oBtn3:SetColor( 128, )
oBtn3:cTooltip :=  { "Exit" + CRLF + ;
                  "MDI-test","Exit", 1, CLR_BLACK, 14089979 }

ACTIVATE WINDOW oWnd ;
ON PAINT ChildPaint( hDC, oWnd ) ;
ON MOVE ( oWnd:Refresh() )

oFont1:End()

RETURN NIL

//----------------------------------------------------------------------------//

STATIC FUNCTION CHILDPAINT( hDC, oWnd )
local aPoint

aPoint   := ClientToScreen( WndMain():hWnd, { 0, 0 } )
aPoint   := ScreenToClient( oWnd:hWnd, aPoint )

SetBrushOrgEx( hDC, aPoint[ 2 ], aPoint[ 1 ] + WndMain():oBar:nHeight - 1 )

FillRect( hDC, GetClientRect( oWnd:hWnd ), oWnd:oBrush:hBrush )

RETURN NIL

 


Best Regards
Uwe :lol:
Since 1995 ( the first release of FW 1.9 )
i work with FW.
If you have any questions about special functions, maybe i can help.
User avatar
ukoenig
 
Posts: 4043
Joined: Wed Dec 19, 2007 6:40 pm
Location: Germany

Re: A transparent MDI-child to show Backgrd. of MDI-frame ?

Postby nageswaragunupudi » Sun Jan 02, 2011 6:38 am

Edited my source slightly. Avoided setting brush to child window.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10248
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: A transparent MDI-child to show Backgrd. of MDI-frame ?

Postby ukoenig » Thu Jan 06, 2011 12:13 pm

Mr. Rao,

Thank You very much for all Your Infos.
I included Your Functions and it is possible now, to show the transparent Child
without using a extra Background-image.
As well the MDI-frame Background can be changed without a new start.
The Restart-test is still included to show the changes, reading new Values from INI-file.
I will still include some more Controls, like a Browser ...

Once, the Child is defined as < Transparent > .....

Image

it shows the Backgroundpart of the MDI-frame from any MDI-frame Background-selection .....

Image

the result of a MDI-frame Background-change works without Restart .

Image

You can change the Values of the Ini-file and a Restart will use them.
For each line of the INI-file, a detailed Info is included.

Image

Best Regards
Uwe :lol:
Last edited by ukoenig on Thu Jan 06, 2011 12:59 pm, edited 1 time in total.
Since 1995 ( the first release of FW 1.9 )
i work with FW.
If you have any questions about special functions, maybe i can help.
User avatar
ukoenig
 
Posts: 4043
Joined: Wed Dec 19, 2007 6:40 pm
Location: Germany

Re: A transparent MDI-child to show Backgrd. of MDI-frame ?

Postby nageswaragunupudi » Thu Jan 06, 2011 12:46 pm

Mr Uwe

Glad I could be of some help to you.

Can you please let me know what is the function you were using to make bitmap from a smaller rectangle inside a window?

Honestly, I am not still happy with my solution for transparency. This is not truly transparent. Because to be really transparent, when more MDICHILD windows are used, each window should show the overlapped part of other child windows too. This does not do that. But this serves the purpose for now.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10248
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: A transparent MDI-child to show Backgrd. of MDI-frame ?

Postby ukoenig » Thu Jan 06, 2011 12:58 pm

Mr. Rao,

I added a new Group to the Ribbonbar.
Now it is possible to place a Thumbnail on the MDI-frame of any defined Background ( 3 Groups ).

The Screenshot shows the Button-group with selected < transparent >
The Thumbnail shows the Image, that would be the Background, if < Image > is selected.

Image

To paint a Thumbnail on a MDI-frame, I used :
Code: Select all  Expand view

// from the Ribbonbar :
...
...
// At Startup : lBmpActive := .F.

// --------- THUMBNAILS ----------------------
// --------------------------------------------------
// --------------------------------------------------

ADD GROUP oGroup9 RIBBON oRibbon TO OPTION 9 PROMPT "Background - Thumbnails" WIDTH 1000 FONT oFONT2

oGroup9:SetFont( oFont1 )
oGroup9:Refresh()

@ 10, 10 SELEX oSelex8 VAR nOption8 OF oGroup9 PIXEL SIZE 320, 70 ;
GRADIENT OUTTRACK { { 0.5, 16770250, 16312263 }, ;
                       { 0.5, 16312263, 16770250 } };
GRADIENT INTRACK { { 0.5, 14853684, 16312263 }, ;
                      { 0.5, 16312263, 14853684 } };
ITEMS "Color", "Gradient", "Brush", "Image", "???"  ;
COLOR THUMB 8388608 ;
COLORTEXT 128, 32768 ;
THUMBSIZE 30, 25 ROUNDSIZE 5 ;  
FONT oFont1 ;
TITLE "MDI-frame" TOP ;
COLORTITLE 0 ;
ACTION  ( CLOSE_DLG(), ;
                  IIF( nOption8 < 5, ( SHOW_THUMB(1,nOption8), lBmpActive := .T.) , NIL ) )

oSelex8:Setoption( 5 )
...
...
// --- Test for a opened Child -----------

FUNCTION CLOSE_DLG()

IF lBmpActive = .T.
     lBmpActive := .F.
     oWndThumb:End()
ENDIF

RETURN( NIL )

// ----------------------------

FUNCTION SHOW_THUMB(nGroup,nSelect)
LOCAL hDC, oBmp

DEFINE WINDOW oWndThumb MDICHILD OF oWndMain FROM 50, 250 TO 200, 450 PIXEL ;
NOSYSMENU ;
NOICONIZE ;
NOCAPTION

//BORDER NONE ;

@ 0, 0 BITMAP oBMP FILENAME c_Path + "\bitmaps\32x32\Exit.bmp"  ADJUST OF oWndThumb
IF nGroup = 1
    IF nSelect = 1
        oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 1, nColor1a, 0, 0, .F., "") }
    ENDIF
    IF nSelect = 2
        oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 2, nColor1a, nColor1b, nMove1, lDirect1, "") }
    ENDIF
    IF nSelect = 3
        oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 3, 0, 0, 0, .F., cBrush1) }
    ENDIF
    IF nSelect = 4
        oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 5, 0, 0, 0, .F., cImage1) }
    ENDIF
ENDIF
IF nGroup = 2
    IF nSelect = 1
        oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 1, nColor2a, 0, 0, .F., "") }
    ENDIF
    IF nSelect = 2
        oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 2, nColor2a, nColor2b, nMove2, lDirect2, "") }
    ENDIF
    IF nSelect = 3
        oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 3, 0, 0, 0, .F., cBrush2) }
    ENDIF
    IF nSelect = 4
        oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 5, 0, 0, 0, .F., cImage2) }
    ENDIF
ENDIF
IF nGroup = 3
    IF nSelect = 1
        oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 1, nColor3a, 0, 0, .F., "") }
    ENDIF
    IF nSelect = 2
        oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 2, nColor3a, nColor3b, nMove3, lDirect3, "") }
    ENDIF
    IF nSelect = 3
        oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 3, 0, 0, 0, .F., cBrush3) }
    ENDIF
    IF nSelect = 4
        oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 5, 0, 0, 0, .F., cImage3) }
    ENDIF
ENDIF

ACTIVATE WINDOW oWndThumb ;
ON INIT oBmp:Move( 0, 0, 200, 150, .T. )

RETURN( NIL )
 


FUNCTION DRAW_BRUSH( oBitmap, hDC, nStyle, nVColor, nBColor, nMove, lDirect, cImage )
nStyle : selected 1 = Color, 2 = Gradient, 3 = Brush (tiled), 4 = Brush (adjusted), 5 = Image
nVColor := 1. Gradient-color or Color
nBColor : 2. Gradient-color
nMove := 2. Gradient-color-position
lDirect := Vertical, horizontal
cImage := Brush or Image

from Code :
1. Color Preview :
@ 100, 100 BITMAP oBMP FILENAME c_Path + "\bitmaps\32x32\Exit.bmp" ADJUST OF oWndThumb
oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 1, nColor1, 0, 0, .F., "") }
2. Gradient Preview :
@ 100, 100 BITMAP oBMP FILENAME c_Path + "\bitmaps\32x32\Exit.bmp" ADJUST OF oWndThumb
oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 2, nColor1, nColor2, nMove, .F., "") }
3. Brush Preview ( tiled ) :
@ 100, 100 BITMAP oBMP FILENAME c_Path + "\bitmaps\32x32\Exit.bmp" ADJUST OF oWndThumb
oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 3, 0, 0, 0, .F., cBrush) }
4. Brush Preview ( adjusted ) :
@ 100, 100 BITMAP oBMP FILENAME c_Path + "\bitmaps\32x32\Exit.bmp" ADJUST OF oWndThumb
oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 4, 0, 0, 0, .F., cBrush) }
5. Image Preview :
@ 100, 100 BITMAP oBMP FILENAME c_Path + "\bitmaps\32x32\Exit.bmp" ADJUST OF oWndThumb
oBMP:bPainted := {|hDC| DRAW_BRU( oBMP, hDC, 5, 0, 0, 0, .F., cImage) }

// Define BMP-size and Position using ON INIT !!!!
// --------------------------------------------------------
ACTIVATE WINDOW oWnd ;
ON INIT oBmp:Move( 50, 50, 250, 200, .T. )

from Resource :
REDEFINE BITMAP oBMP ID 100 ADJUST RESOURCE "Blanc" OF oDlg // any small BMP from Resource or File
oBMP:bPainted := {|hDC| DRAW_BRU(oBMP, hDC, 1, nColor1, 0, 0, .F., "") }

Code: Select all  Expand view

// ---------- IMAGE / BMP-BRUSH ( Color, Gradient, Brush, Image ) ------------

FUNCTION DRAW_BRUSH( oBitmap, hDC, nStyle, nVColor, nBColor, nMove, lDirect, cImage )
LOCAL oNewBrush, nRow := 0, nCol := 0, n
LOCAL aGrad := { { nMove, nVColor, nBColor }, { nMove, nBColor, nVColor } }
LOCAL aRect := GETCLIENTRECT( oBitmap:hWnd )

IF nStyle = 1 // Color
     aRect := GETCLIENTRECT( oBitmap:hWnd )
     DEFINE BRUSH oNewbrush COLOR nVColor
     FillRect( oBitmap:hDC, aRect, oNewbrush:hBrush )
     RELEASE BRUSH oNewbrush
ENDIF
IF nStyle = 2 // Gradient
     DEFINE BRUSH oNewBrush COLOR GradientFill( hDC,  0, 0, aRect[3], aRect[4], aGrad, lDirect )
     FillRect( hDC, aRect, oNewBrush:hBrush )
     oBitmap:ReleaseDC()
     RELEASE BRUSH oNewbrush
ENDIF
IF nStyle = 3 // Brush ( tiled )
     DEFINE BITMAP oNewbrush FILENAME cImage
     nHeight := oNewbrush:nHeight
     nWidth := oNewbrush:nWidth
     IF aRect[3] > 0
          DO WHILE nRow < aRect[3]
               nCol = 0
               DO WHILE nCol < aRect[4]
                    PalBmpDraw( hDC, nRow, nCol, oNewbrush:hBitmap )
                    nCol += nHeight
               ENDDO
               nRow += nWidth
         ENDDO
     ENDIF
ENDIF
IF nStyle = 4 // Brush ( stretched )
     DEFINE BITMAP oNewbrush FILENAME cImage
     PalBmpDraw( hDC, 0, 0, oBitmap:hBitmap, , aRect[4], aRect[3] )
ENDIF
IF nStyle = 5 // Image
     DEFINE IMAGE oNewbrush FILENAME cImage
     PalBmpDraw( hDC, 0, 0, oNewbrush:hBitmap, , aRect[4], aRect[3] )
ENDIF

RETURN( NIL )
 


Best Regards
Uwe :lol:
Since 1995 ( the first release of FW 1.9 )
i work with FW.
If you have any questions about special functions, maybe i can help.
User avatar
ukoenig
 
Posts: 4043
Joined: Wed Dec 19, 2007 6:40 pm
Location: Germany

Re: A transparent MDI-child to show Backgrd. of MDI-frame ?

Postby ukoenig » Wed Feb 16, 2011 4:56 pm

Mr. Rao,

In my new Tool, I added Buttons to a MDI-Window.
With tests before : From MDI-Main and Child, transparent works.

Now it gets a bit more complicated :

1. A Main-window
2. The Main-window includes a Dialog
3. From the Dialog I call a MDI-frame
4. The MDI-Frame includes a Child.

The Child I cannot get transparent painted ( used a Gradient for a Moment )
Is there maybe a Solution to paint it transparent as well ?

Image

The Structure :

// ---------- The Dialog on Main-window ---------

FUNCTION PAINTER(oWndMain)
...
...
REDEFINE BTNBMP oBtn12 ID 915 OF oDlg1 2007 ;
FILENAME c_path + "\Bitmaps\Preview.bmp" ;
LEFT ;
PROMPT " &Preview" ;
FONT oFont5 ;
ACTION FULL_SIZE() // Button calls Preview-window
..
..
ACTIVATE DIALOG oDlg1 NOWAIT
..
..
RETURN NIL

// -- PREVIEW - WINDOW called from a Dialog of the Main-window --

FUNCTION FULL_SIZE()
LOCAL oWnd7

// Image Background painted
...
...

ACTIVATE WINDOW oWnd7 MAXIMIZED ;
ON INIT TRANSPCHILD(oWnd7)

RETURN NIL

// --------- MDI-Child with Buttons ----------

FUNCTION TRANSPCHILD(oWnd7)
local hDC, oWndBtn

DEFINE WINDOW oWndBtn MDICHILD OF oWnd7 FROM 55, 17 TO 185, 175 PIXEL ;
BORDER NONE ;
NOSYSMENU ;
NOICONIZE ;
NOCAPTION

// 2 Buttons painted
1. Switch Dialog ON / OFF to show the complete Window-background
2. Exit MDI-frame ( Preview )
...
...

ACTIVATE WINDOW oWndBtn ;
ON PAINT CHILDPAINT( hDC, oWnd7, oWndBtn )

RETURN NIL

//-------- NO BACKGROUND displayed from MDI-frame !!! ----------

STATIC FUNCTION CHILDPAINT( hDC, oWnd7, oWndBtn )
LOCAL aPoint

aPoint := ClientToScreen( oWnd7:hWnd, { 0, 0 } ) // WndMain()
aPoint := ScreenToClient( oWndBtn:hWnd, aPoint )

SetBrushOrgEx( hDC, aPoint[ 2 ] - 1, aPoint[ 1 ] + oWndBtn:nTop + 80 )
//+ WndMain():oBar:nHeight - 1 )

FillRect( hDC, GetClientRect( oWndBtn:hWnd ), oWndBtn:oBrush:hBrush )

RETURN NIL
Best Regards
Uwe :?:
Since 1995 ( the first release of FW 1.9 )
i work with FW.
If you have any questions about special functions, maybe i can help.
User avatar
ukoenig
 
Posts: 4043
Joined: Wed Dec 19, 2007 6:40 pm
Location: Germany


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: richard-service and 77 guests