Is it possible to specify the size of the buttons in metroPanel ?
Is it possible to specify the size of the buttons in metroPanel ?
O'k, thanks !
Is it possible to enable/disable scolling metroPanel ?
Try this:
oMetroPanel:nScrollRange = 0
No, oMetroPanel:nScrollRange = 0, not helped
I got the desired result of rewriting methods lButtonDown and MouseWheel
Natter wrote:O'k, thanks !
Is it possible to enable/disable scolling metroPanel ?
Many thanks !

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 NILAs you can move metropanel to the extreme left/right position ?
Natter wrote:As you can move metropanel to the extreme left/right position ?
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
.../...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 ?
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 }
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