FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Size buttons in metroPanel
Posts: 1392
Joined: Mon May 14, 2007 09:49 AM
Size buttons in metroPanel
Posted: Wed Mar 23, 2016 12:58 PM

Is it possible to specify the size of the buttons in metroPanel ?

Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Re: Size buttons in metroPanel
Posted: Wed Mar 23, 2016 01:41 PM
Yes see the settings :

DEFINE METROPANEL oMetro OF oWnd TITLE "Stammdaten" ;
COLOR aVal[8], CLR_BLUE
oMetro:oFont := oFontLarge
oMetro:lDesignMode := .F.
oMetro:nMetroTop = 160
oMetro:nMetroMargin := 50
oMetro:nBtnSize = 120
oMetro:nMetroRows := 8

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.
Posts: 1392
Joined: Mon May 14, 2007 09:49 AM
Re: Size buttons in metroPanel
Posted: Wed Mar 23, 2016 02:01 PM

O'k, thanks !

Is it possible to enable/disable scolling metroPanel ?

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Size buttons in metroPanel
Posted: Thu Mar 24, 2016 07:27 AM

Try this:

oMetroPanel:nScrollRange = 0

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1392
Joined: Mon May 14, 2007 09:49 AM
Re: Size buttons in metroPanel
Posted: Thu Mar 24, 2016 12:14 PM

No, oMetroPanel:nScrollRange = 0, not helped

I got the desired result of rewriting methods lButtonDown and MouseWheel

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Size buttons in metroPanel
Posted: Thu Mar 24, 2016 12:23 PM
Natter wrote:O'k, thanks !

Is it possible to enable/disable scolling metroPanel ?


Look

viewtopic.php?f=3&t=28288&p=158418&hilit=metropnel#p158418
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1392
Joined: Mon May 14, 2007 09:49 AM
Re: Size buttons in metroPanel
Posted: Thu Mar 24, 2016 01:43 PM

Many thanks !

Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Re: Size buttons in metroPanel
Posted: Thu Mar 24, 2016 01:48 PM
Cristobal,

maybe adding as well a solution to get a button-focus-effect.
For the moment I added a little function to paint a border around the button
on focus and destroy the border on lost focus.
I had to find another solution because there is no action on
:bgotfocus and :bLostfocus.
That works fine and the user can select the border-color and pensize.
Also I asked for showing a button < disabled > if possible.

I still remember a question about < on button-move > saving the new button-positions
This option is disabled using my solution because of using < :bMMoved >

sample :

DEFINE METROBUTTON oSBtn[60] OF oMenu1 ;
COLOR aVal[73], aVal[72] ;
CAPTION "Rechnungen" ;
ALIGN "TOPLEFT" ;
GROUP 2 ;
BITMAP c_Pfad1 + "Save.bmp" ;
BMPALIGN "MIDDLECENTER" ;
SIZE 50, 50 ;
ACTION RECHNUNG("RECH0") ;
BODYTEXT "testen" ;
TEXTALIGN "BOTTOMCENTER"
oSBtn[60]:nClrCaption := aVal[74]
oSBtn[60]:oFont := oFontTiny
oSBtn[60]:oTextFont := oFontTiny
oSBtn[60]:bMMoved = { | nRow, nCol, nFlags | SHOW_FRAME( oSBtn, 60, nOld ), nOld := 60 }



Code (fw): Select all Collapse
oSBtn[1]:bMMoved   = { | nRow, nCol, nFlags | SHOW_FRAME( oSBtn, 1, nOld ), nOld := 1 } 

FUNCTION SHOW_FRAME(oBtn, n, nOld)
LOCAL I

FOR I := 1 TO LEN( oBtn )
    IF I = nOld .and. n <> nOld
        oBtn[i]:Refresh()
    ENDIF
    IF oBtn[I] <> NIL  
        IF oBtn[I]:lLarge = .F. .and. i = n
            RoundBox( hDC := oBtn[n]:GETDC(),  2, 2, oBtn[i]:nWidth()-1, ;
                            oBtn[i]:nHeight()-1, , , aVal[81], aVal[82] )   
        ELSEIF oBtn[I]:lLarge = .T. .and. i = n
            RoundBox( hDC := oBtn[n]:GETDC(),  2, 2, oBtn[i]:nWidth() -1, ;
                            oBtn[i]:nHeight()-1, , , aVal[81], aVal[82] )  
        ENDIF
    ENDIF
NEXT

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.
Posts: 1392
Joined: Mon May 14, 2007 09:49 AM
Re: Size buttons in metroPanel
Posted: Fri Mar 25, 2016 02:55 PM

As you can move metropanel to the extreme left/right position ?

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Size buttons in metroPanel
Posted: Fri Mar 25, 2016 03:51 PM
Natter wrote:As you can move metropanel to the extreme left/right position ?


It has to build another method CONSTRUCTOR


Code (fw): Select all Collapse
METHOD NewAt( oWnd, cTitle, nClrText, nClrPane, bLClicked, nBtnSize, ;
            nClrThumb, nClrScroll, nRow, nCol, nHeight, nWidth ) CLASS TMetroPanel

   DEFAULT cTitle := "Start", nClrText := CLR_WHITE, nClrPane := CLR_GREEN

   DEFAULT ::nBtnSize      := IfNil( nBtnSize, 132 )
   DEFAULT ::nMetroRows    := Int( GetSysMetrics( 1 ) / ( ::nBtnSize + BTN_GAP ) ) - 1
   DEFAULT ::nMetroTop     := ::nBtnSize
   DEFAULT ::nMetroMargin  := ::nBtnSize

   ::Super:New( 0,  0, GetSysMetrics( 1 ) , GetSysMetrics( 0 ), oWnd )   // Here nRow, nCol, nHeight, nWidth

.../...
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1392
Joined: Mon May 14, 2007 09:49 AM
Re: Size buttons in metroPanel
Posted: Sat Mar 26, 2016 04:41 PM

Metropanel can be moved if the mouse cursor is located on the meytopanel. If the cursor is on any mrtrobutton, it starts processing drag and drop this button.
As instead of drag and drop buttons to move metropanel ?

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Size buttons in metroPanel
Posted: Mon Mar 28, 2016 09:17 AM
ukoenig wrote:Cristobal,

maybe adding as well a solution to get a button-focus-effect.
For the moment I added a little function to paint a border around the button
on focus and destroy the border on lost focus.
I had to find another solution because there is no action on
:bgotfocus and :bLostfocus.
That works fine and the user can select the border-color and pensize.
Also I asked for showing a button < disabled > if possible.

I still remember a question about < on button-move > saving the new button-positions
This option is disabled using my solution because of using < :bMMoved >

sample :

DEFINE METROBUTTON oSBtn[60] OF oMenu1 ;
COLOR aVal[73], aVal[72] ;
CAPTION "Rechnungen" ;
ALIGN "TOPLEFT" ;
GROUP 2 ;
BITMAP c_Pfad1 + "Save.bmp" ;
BMPALIGN "MIDDLECENTER" ;
SIZE 50, 50 ;
ACTION RECHNUNG("RECH0") ;
BODYTEXT "testen" ;
TEXTALIGN "BOTTOMCENTER"
oSBtn[60]:nClrCaption := aVal[74]
oSBtn[60]:oFont := oFontTiny
oSBtn[60]:oTextFont := oFontTiny
oSBtn[60]:bMMoved = { | nRow, nCol, nFlags | SHOW_FRAME( oSBtn, 60, nOld ), nOld := 60 }



Code (fw): Select all Collapse
oSBtn[1]:bMMoved   = { | nRow, nCol, nFlags | SHOW_FRAME( oSBtn, 1, nOld ), nOld := 1 } 

FUNCTION SHOW_FRAME(oBtn, n, nOld)
LOCAL I

FOR I := 1 TO LEN( oBtn )
    IF I = nOld .and. n <> nOld
        oBtn[i]:Refresh()
    ENDIF
    IF oBtn[I] <> NIL  
        IF oBtn[I]:lLarge = .F. .and. i = n
            RoundBox( hDC := oBtn[n]:GETDC(),  2, 2, oBtn[i]:nWidth()-1, ;
                            oBtn[i]:nHeight()-1, , , aVal[81], aVal[82] )   
        ELSEIF oBtn[I]:lLarge = .T. .and. i = n
            RoundBox( hDC := oBtn[n]:GETDC(),  2, 2, oBtn[i]:nWidth() -1, ;
                            oBtn[i]:nHeight()-1, , , aVal[81], aVal[82] )  
        ENDIF
    ENDIF
NEXT

RETURN NIL


best regards
Uwe :-)


Uwe, please excuse the delay in answering
I will look at its implementation
Thank you
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces

Continue the discussion