DWM (Desktop Windows Manager ) Sample for harbour ?

237 views
Skip to first unread message

Auge & Ohr

unread,
Feb 16, 2022, 8:23:13 PM2/16/22
to Harbour Users

hi,

i have some Xbase++ Sample using DWM but i can´t get it work under HMG / harbour

i do have found c:\hmg.3.4.4\MinGW-64\x86_64-w64-mingw32\lib\libdwmapi.a so LIB is available.
did someone have a Solution for HMG / Harbour ?

Jimmy
DWM_BLUR.ZIP

KennyOoi

unread,
Feb 19, 2022, 7:20:12 AM2/19/22
to Harbour Users
hi jimmy.
i can make this work on hmg .
dwmk.jpg

code.
#include "hmg.ch"

#define BorderPadding 6

procedure Main()
local latmp
LOCAL lHwnd ,hRgn
LOCAL nLeftRect ,nTopRect ,nRightRect ,nBottomRect


   DEFINE WINDOW Form_1 ;
      AT 0 ,0 ;
      WIDTH 600 HEIGHT 600 ;
      TITLE 'HMG Demo' ;
      MAIN ;
    NOSYSMENU TITLEBAR .F. BACKCOLOR { 1 ,1 ,1 }

      @ 100,180 TEXTBOX Text_1 ;
         VALUE 123 ;
         TOOLTIP 'Numeric TextBox' ;
         NUMERIC ;
         MAXLENGTH 5 ;
         RIGHTALIGN


      @ 150,180 TEXTBOX Text_2 ;
         VALUE 'Hi All' ;
         TOOLTIP 'Character TextBox' ;
         DISABLEDBACKCOLOR { 0,255,0 } ;
         DISABLEDFONTCOLOR { 255,255,255 }

      @ 200,180 TEXTBOX Text_3 ;
      HEIGHT 30 WIDTH 120 ;
         VALUE time() READONLY FONT 'CONSOLAS' SIZE 18 ;
         DISABLEDBACKCOLOR { 0,255,0 } ;
         DISABLEDFONTCOLOR { 255,0,0 }

      DEFINE BUTTON C
         ROW   300
         COL   50
         WIDTH   150
      HEIGHT 50
         CAPTION   'Set Text_2 ReadOnly .T.'
         ACTION   Form_1.Text_2.ReadOnly := .T.
      END BUTTON

      DEFINE BUTTON D
         ROW   300
         COL   220
         WIDTH   150
      HEIGHT 50
         CAPTION   'Set Text_2 ReadOnly .F.'
         ACTION   Form_1.Text_2.ReadOnly := .F.
      END BUTTON

      DEFINE BUTTON X
         ROW   300
         COL   390
         WIDTH   150
      HEIGHT 50
         CAPTION   'Exit'
         ACTION   domethod( 'Form_1' ,'release' )
      END BUTTON

  DEFINE TIMER Timer_1 ;
    INTERVAL 1000 ;
    ACTION setproperty( 'Form_1' ,'text_3' ,'value' ,time() )


   END WINDOW

   Form_1.Center

   lHwnd := getproperty( 'form_1' ,'handle' )

   //
   // get oDlg:DrawingArea Size
   //
   laTmp  := uf_getsize( GetFormHandle( 'form_1' ) ) //oDWM:DrawingArea:Currentsize()

   nLeftRect   := BorderPadding
   nTopRect    := laTmp[2] - (2*BorderPadding)
   nRightRect  := laTmp[1] - (2*BorderPadding)
   nBottomRect := BorderPadding                  // nTitlehigh

   lhRgn := uf_CreateEllipticRgn( nLeftRect ,nTopRect ,nRightRect ,nBottomRect)

   uf_SetWindowRgn( lHwnd ,lhRgn )
   uf_DwmEnableBlurBehindWindow( lHwnd ,lhRgn )

   Form_1.Activate

Return

******************************

Auge & Ohr

unread,
Feb 19, 2022, 10:49:45 AM2/19/22
to Harbour Users
hi,

can you please show us your uf_* Function Code ?

Jimmy

KennyOoi

unread,
Feb 19, 2022, 11:45:13 PM2/19/22
to Harbour Users
i upload to the Gdrive ,include hbp file.

Kenny

Auge & Ohr

unread,
Feb 20, 2022, 2:44:01 AM2/20/22
to Harbour Users
hi Kenny,

PERFECT !

Thx
Jimmy
Reply all
Reply to author
Forward
0 new messages