Hi all
How to resize GROUP of RibbonBar when group is focused od some button of the group is pressed ?
On some ITEMS of RibbonBar i have more groups than can be showed so resizing can help
Best regards,
Hi all
How to resize GROUP of RibbonBar when group is focused od some button of the group is pressed ?
On some ITEMS of RibbonBar i have more groups than can be showed so resizing can help
Best regards,
Anyone ?
Could you provide a screenshot ? thanks



#include "fivewin.ch"
#include "ribbon.ch"
function main()
local oRBar, oLastG
local oWnd, oGr1, oGr2
DEFINE WINDOW oWnd TITLE "RibbonBar Test " + FWVERSION from 1,1 to 600,600 pixel //brush oBrush1
DEFINE RIBBONBAR oRBar WINDOW oWnd PROMPT "Config", "Files" HEIGHT 133 TOPMARGIN 25
ADD GROUP oGr1 RIBBON oRBar TO OPTION 1 PROMPT "Clipboard" width 60
oGr1:Cargo = { "STRETCH" => 215, "NORMAL" => 60}
ADD GROUP oGr2 RIBBON oRBar TO OPTION 1 PROMPT "Font" width 60
oGr2:Cargo = { "STRETCH" => 215, "NORMAL" => 60}
oRBar:aDialogs[1]:bMMoved = {||
local oControl
for each oControl in oRBar:aDialogs[1]:aControls
if oControl:isKindof( "TRBGROUP")
if oControl:nWidth == oControl:Cargo["STRETCH"] .AND. ! oControl:lMOver
oControl:SetSize( oControl:Cargo["NORMAL"], oControl:nHeight )
endif
endif
next
oRBar:Refresh()
return 0
}
oGr1:bMMoved = BuildCodeBlockMMoved( oGr1 )
oGr2:bMMoved = BuildCodeBlockMMoved( oGr2 )
ACTIVATE WINDOW oWnd MAXIMIZED
oRBar:End()
return nil
function BuildCodeBlockMMoved( oGroup )
return {| nRow, nCol|
Eval( oGroup:oRB:aDialogs[1]:bMMoved )
oGroup:MouseHover(nRow, nCol)
if oGroup:nWidth != oGroup:Cargo["STRETCH"]
oGroup:setSize( oGroup:Cargo["STRETCH"], oGroup:nHeight)
oGroup:Refresh()
endif
return 0
}Daniel,
Thanks for reply
But this sample dont work.
Check it please ?
ribbon5.prg(17) Error E0020 Incomplete statement or unbalanced delimiters
ribbon5.prg(18) Error E0004 LOCAL declaration follows executable statement
ribbon5.prg(28) Error E0030 Syntax error: "syntax error at '}'"
ribbon5.prg(41) Error E0020 Incomplete statement or unbalanced delimiters
ribbon5.prg(43) Warning W0001 Ambiguous reference: 'NROW'
ribbon5.prg(43) Warning W0001 Ambiguous reference: 'NCOL'
ribbon5.prg(49) Error E0030 Syntax error: "syntax error at '}'"
I've compiled and works perfectly.
regards
Hello
what compiler are you using?
Avista
try to move the conde inside the oRBar:aDialogs[1]:bMMoved to a funcion
oRBar:aDialogs[1]:bMMoved = {|| myFunction( oRB ) } //example
I use
xHarbour 1.2.3 Intl. (SimpLex) (Build 20141124)
fwh 14.12
Regards,
I guess he is using xHarbour which does not accept { | | .. } for multiline codeblocks. He should replace with < |nRow,nCol| and end with > in the last line.

#include "fivewin.ch"
#include "ribbon.ch"
function main()
local oRBar, oLastG
local oWnd, oGr1, oGr2, oGr3, oGr4, oGr5, oGr6, oGr7, oGr8, oGr9
local oBtn
DEFINE WINDOW oWnd TITLE "RibbonBar Test " + FWVERSION from 1,1 to 600,600 pixel //brush oBrush1
DEFINE RIBBONBAR oRBar WINDOW oWnd ;
PROMPT "Test1", "Test2" ;
HEIGHT 133 TOPMARGIN 25
ADD GROUP oGr1 RIBBON oRBar TO OPTION 1 PROMPT "Group1" width 60
oGr1:Cargo = { "STRETCH" => 215, "NORMAL" => 60}
ADD GROUP oGr2 RIBBON oRBar TO OPTION 1 PROMPT "Group2" width 60
oGr2:Cargo = { "STRETCH" => 215, "NORMAL" => 60}
ADD GROUP oGr3 RIBBON oRBar TO OPTION 1 PROMPT "Group3" width 60
oGr3:Cargo = { "STRETCH" => 215, "NORMAL" => 60}
ADD GROUP oGr4 RIBBON oRBar TO OPTION 1 PROMPT "Group4" width 60
oGr4:Cargo = { "STRETCH" => 215, "NORMAL" => 60}
ADD GROUP oGr5 RIBBON oRBar TO OPTION 1 PROMPT "Group5" width 60
oGr5:Cargo = { "STRETCH" => 215, "NORMAL" => 60}
ADD GROUP oGr6 RIBBON oRBar TO OPTION 1 PROMPT "Group6" width 60
oGr6:Cargo = { "STRETCH" => 215, "NORMAL" => 60}
ADD GROUP oGr7 RIBBON oRBar TO OPTION 1 PROMPT "Group7" width 60
oGr7:Cargo = { "STRETCH" => 215, "NORMAL" => 60}
ADD GROUP oGr8 RIBBON oRBar TO OPTION 1 PROMPT "Group8" width 60
oGr8:Cargo = { "STRETCH" => 215, "NORMAL" => 60}
ADD GROUP oGr9 RIBBON oRBar TO OPTION 1 PROMPT "Group9" width 60
oGr9:Cargo = { "STRETCH" => 215, "NORMAL" => 60}
oRBar:aDialogs[1]:bMMoved = <||
local oControl
for each oControl in oRBar:aDialogs[1]:aControls
if oControl:isKindof( "TRBGROUP")
if oControl:nWidth == oControl:Cargo["STRETCH"] .AND. ! oControl:lMOver
oControl:SetSize( oControl:Cargo["NORMAL"], oControl:nHeight )
endif
endif
next
oRBar:Refresh()
return 0
>
oGr1:bMMoved = BuildCodeBlockMMoved( oGr1 )
oGr2:bMMoved = BuildCodeBlockMMoved( oGr2 )
oGr3:bMMoved = BuildCodeBlockMMoved( oGr3 )
oGr4:bMMoved = BuildCodeBlockMMoved( oGr4 )
oGr5:bMMoved = BuildCodeBlockMMoved( oGr5 )
oGr6:bMMoved = BuildCodeBlockMMoved( oGr6 )
oGr7:bMMoved = BuildCodeBlockMMoved( oGr7 )
oGr8:bMMoved = BuildCodeBlockMMoved( oGr8 )
oGr9:bMMoved = BuildCodeBlockMMoved( oGr9 )
@ 10, 5 ADD BUTTON oBtn PROMPT "Users1" BITMAP "..\bitmaps\users.bmp" ;
GROUP oGr1 SPLITPOPUP ROUND SIZE 50,65
@ 10,65 ADD BUTTON oBtn PROMPT "Add user Group1" BITMAP "..\bitmaps\addrec.bmp";
GROUP oGr1 MOSTLEFT ROUND SIZE 135,20
@ 30,65 ADD BUTTON oBtn PROMPT "Edit user Group1" BITMAP "..\bitmaps\edit.bmp" ;
GROUP oGr1 MOSTLEFT ROUND SIZE 135,20
@ 50,65 ADD BUTTON oBtn PROMPT "Remove user Group1" BITMAP "..\bitmaps\delrec.bmp";
GROUP oGr1 MOSTLEFT ROUND SIZE 135,20
@ 10, 5 ADD BUTTON oBtn PROMPT "Users2" BITMAP "..\bitmaps\users.bmp" ;
GROUP oGr2 SPLITPOPUP ROUND SIZE 50,65
@ 10,65 ADD BUTTON oBtn PROMPT "Add user Group2" BITMAP "..\bitmaps\addrec.bmp";
GROUP oGr2 MOSTLEFT ROUND SIZE 135,20
@ 30,65 ADD BUTTON oBtn PROMPT "Edit user Group2" BITMAP "..\bitmaps\edit.bmp" ;
GROUP oGr2 MOSTLEFT ROUND SIZE 135,20
@ 50,65 ADD BUTTON oBtn PROMPT "Remove user Group2" BITMAP "..\bitmaps\delrec.bmp";
GROUP oGr2 MOSTLEFT ROUND SIZE 135,20
@ 10, 5 ADD BUTTON oBtn PROMPT "Users3" BITMAP "..\bitmaps\users.bmp" ;
GROUP oGr3 SPLITPOPUP ROUND SIZE 50,65
@ 10,65 ADD BUTTON oBtn PROMPT "Add user Group3" BITMAP "..\bitmaps\addrec.bmp";
GROUP oGr3 MOSTLEFT ROUND SIZE 135,20
@ 30,65 ADD BUTTON oBtn PROMPT "Edit user Group3" BITMAP "..\bitmaps\edit.bmp" ;
GROUP oGr3 MOSTLEFT ROUND SIZE 135,20
@ 50,65 ADD BUTTON oBtn PROMPT "Remove user Group3" BITMAP "..\bitmaps\delrec.bmp";
GROUP oGr3 MOSTLEFT ROUND SIZE 135,20
@ 10, 5 ADD BUTTON oBtn PROMPT "Users4" BITMAP "..\bitmaps\users.bmp" ;
GROUP oGr4 SPLITPOPUP ROUND SIZE 50,65
@ 10,65 ADD BUTTON oBtn PROMPT "Add user Group4" BITMAP "..\bitmaps\addrec.bmp";
GROUP oGr4 MOSTLEFT ROUND SIZE 135,20
@ 30,65 ADD BUTTON oBtn PROMPT "Edit user Group4" BITMAP "..\bitmaps\edit.bmp" ;
GROUP oGr4 MOSTLEFT ROUND SIZE 135,20
@ 50,65 ADD BUTTON oBtn PROMPT "Remove user Group4" BITMAP "..\bitmaps\delrec.bmp";
GROUP oGr4 MOSTLEFT ROUND SIZE 135,20
@ 10, 5 ADD BUTTON oBtn PROMPT "Users5" BITMAP "..\bitmaps\users.bmp" ;
GROUP oGr5 SPLITPOPUP ROUND SIZE 50,65
@ 10,65 ADD BUTTON oBtn PROMPT "Add user Group5" BITMAP "..\bitmaps\addrec.bmp";
GROUP oGr5 MOSTLEFT ROUND SIZE 135,20
@ 30,65 ADD BUTTON oBtn PROMPT "Edit user Group5" BITMAP "..\bitmaps\edit.bmp" ;
GROUP oGr5 MOSTLEFT ROUND SIZE 135,20
@ 50,65 ADD BUTTON oBtn PROMPT "Remove user Group5" BITMAP "..\bitmaps\delrec.bmp";
GROUP oGr5 MOSTLEFT ROUND SIZE 135,20
@ 10, 5 ADD BUTTON oBtn PROMPT "Users6" BITMAP "..\bitmaps\users.bmp" ;
GROUP oGr6 SPLITPOPUP ROUND SIZE 50,65
@ 10,65 ADD BUTTON oBtn PROMPT "Add user Group6" BITMAP "..\bitmaps\addrec.bmp";
GROUP oGr6 MOSTLEFT ROUND SIZE 135,20
@ 30,65 ADD BUTTON oBtn PROMPT "Edit user Group6" BITMAP "..\bitmaps\edit.bmp" ;
GROUP oGr6 MOSTLEFT ROUND SIZE 135,20
@ 50,65 ADD BUTTON oBtn PROMPT "Remove user Group6" BITMAP "..\bitmaps\delrec.bmp";
GROUP oGr6 MOSTLEFT ROUND SIZE 135,20
@ 10, 5 ADD BUTTON oBtn PROMPT "Users7" BITMAP "..\bitmaps\users.bmp" ;
GROUP oGr7 SPLITPOPUP ROUND SIZE 50,65
@ 10,65 ADD BUTTON oBtn PROMPT "Add user Group7" BITMAP "..\bitmaps\addrec.bmp";
GROUP oGr7 MOSTLEFT ROUND SIZE 135,20
@ 30,65 ADD BUTTON oBtn PROMPT "Edit user Group7" BITMAP "..\bitmaps\edit.bmp" ;
GROUP oGr7 MOSTLEFT ROUND SIZE 135,20
@ 50,65 ADD BUTTON oBtn PROMPT "Remove user Group7" BITMAP "..\bitmaps\delrec.bmp";
GROUP oGr7 MOSTLEFT ROUND SIZE 135,20
@ 10, 5 ADD BUTTON oBtn PROMPT "Users8" BITMAP "..\bitmaps\users.bmp" ;
GROUP oGr8 SPLITPOPUP ROUND SIZE 50,65
@ 10,65 ADD BUTTON oBtn PROMPT "Add user Group8" BITMAP "..\bitmaps\addrec.bmp";
GROUP oGr8 MOSTLEFT ROUND SIZE 135,20
@ 30,65 ADD BUTTON oBtn PROMPT "Edit user Group8" BITMAP "..\bitmaps\edit.bmp" ;
GROUP oGr8 MOSTLEFT ROUND SIZE 135,20
@ 50,65 ADD BUTTON oBtn PROMPT "Remove user Group8" BITMAP "..\bitmaps\delrec.bmp";
GROUP oGr8 MOSTLEFT ROUND SIZE 135,20
@ 10, 5 ADD BUTTON oBtn PROMPT "Users9" BITMAP "..\bitmaps\users.bmp" ;
GROUP oGr9 SPLITPOPUP ROUND SIZE 50,65
@ 10,65 ADD BUTTON oBtn PROMPT "Add user Group9" BITMAP "..\bitmaps\addrec.bmp";
GROUP oGr9 MOSTLEFT ROUND SIZE 135,20
@ 30,65 ADD BUTTON oBtn PROMPT "Edit user Group9" BITMAP "..\bitmaps\edit.bmp" ;
GROUP oGr9 MOSTLEFT ROUND SIZE 135,20
@ 50,65 ADD BUTTON oBtn PROMPT "Remove user Group9" BITMAP "..\bitmaps\delrec.bmp";
GROUP oGr9 MOSTLEFT ROUND SIZE 135,20
ACTIVATE WINDOW oWnd MAXIMIZED
oRBar:End()
return nil
function BuildCodeBlockMMoved( oGroup )
return <| nRow, nCol|
Eval( oGroup:oRB:aDialogs[1]:bMMoved )
oGroup:MouseHover(nRow, nCol)
if oGroup:nWidth != oGroup:Cargo["STRETCH"]
oGroup:setSize( oGroup:Cargo["STRETCH"], oGroup:nHeight)
oGroup:Refresh()
endif
return 0
>
Mr. Daniel, Rao, Antonio ...
Please try sample and give me some sugestions
Regards,
hello
sorry, it's no easy... seeking one solution for your requested