OS: Debian 10 LXDE 64bit
Lazarus 2.0.12
FPC 3.2.0
TForm1 = class(TForm)
procedure TForm1.FormCreate(Sender: TObject);
begin
TMSFNCRibbon1PageControlPage0.AddToolBar('My Toolbar');
end;
ToolBar work ok!
TForm1 = class(TTMSFNCRibbonForm)
procedure TForm1.FormCreate(Sender: TObject);
begin
TMSFNCRibbon1PageControlPage0.AddToolBar('My Toolbar');
BorderIcons := [TBorderIcon.biMaximize, TBorderIcon.biMinimize, TBorderIcon.biSystemMenu];
end;
ToolBar not work!
We have noticed an issue when inheriting from TTMSFNCRibbonForm and are looking for a solution. For now, please inherit from TForm instead.
Thanks Pieter,
Then he would have a problem:
I have to wait for you to solve it.
TForm1 = class(TTMSFNCRibbonForm)
If I do it this way it works properly
TMSFNCRibbon1.PageControl.Pages.Clear;
TMSFNCRibbon1.PageControl.AddPage('Page ' + IntToStr(0));
TMSFNCRibbon1.PageControl.Pages[0].AddToolBar('My Toolbar');
Maybe it will help you.
Hi,
We have investigated this here and couldn't not immediately reproduce the issue. can you attach a sample?
You saw the problem here:
"We have noticed an issue when inheriting from TTMSFNCRibbonForm and are looking for a solution. For now, please inherit from TForm instead."
This is how I solved the problem:
TForm1 = class(TTMSFNCRibbonForm)
If I do it this way it works properly
TMSFNCRibbon1.PageControl.Pages.Clear;
TMSFNCRibbon1.PageControl.AddPage('Page ' + IntToStr(0));
TMSFNCRibbon1.PageControl.Pages[0].AddToolBar('My Toolbar');
We have seen this issue in the past (reported from another user), so this issue might already be fixed. The thing is, that this might happen in specific circumstances. When we follow the steps above, the issue does not occur here. Can you attach a full working sample that demonstrates this? Perhaps we have missed something, and the fix is not being applied in that specific case.
source:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, LCLTMSFNCRibbon;
type
{ TForm1 }
TForm1 = class(TTMSFNCRibbonForm)
TMSFNCRibbon1: TTMSFNCRibbon;
TMSFNCRibbon1BottomContainer: TTMSFNCRibbonBottomContainer;
TMSFNCRibbon1Caption: TTMSFNCRibbonCaption;
TMSFNCRibbon1Icon: TTMSFNCRibbonIcon;
TMSFNCRibbon1PageControl: TTMSFNCRibbonPageControl;
TMSFNCRibbon1PageControlContainer: TTMSFNCRibbonContainer;
TMSFNCRibbon1PageControlFileButton: TTMSFNCRibbonFileButton;
TMSFNCRibbon1PageControlPage0: TTMSFNCRibbonPageControlContainer;
TMSFNCRibbon1QAT: TTMSFNCRibbonQAT;
TMSFNCRibbon1SystemMenu: TTMSFNCRibbonSystemMenu;
TMSFNCRibbon1SystemMenuCloseButton: TTMSFNCRibbonSystemMenuToolBarButton;
TMSFNCRibbon1SystemMenuHelpButton: TTMSFNCRibbonSystemMenuToolBarButton;
TMSFNCRibbon1SystemMenuMaximizeButton: TTMSFNCRibbonSystemMenuToolBarButton;
TMSFNCRibbon1SystemMenuMinimizeButton: TTMSFNCRibbonSystemMenuToolBarButton;
TMSFNCRibbon1Wrapper: TTMSFNCRibbonToolBarWrapper;
procedure FormCreate(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
TMSFNCRibbon1PageControlPage0.AddToolBar('My Toolbar');
BorderIcons := [TBorderIcon.biMaximize, TBorderIcon.biMinimize, TBorderIcon.biSystemMenu];
end;
end.
two-part toolbar
We are still not able to reproduce this here. Can you try the following code:
TMSFNCRibbon1PageControlPage0.AddToolBar('My Toolbar');
BorderIcons := [TBorderIcon.biMaximize, TBorderIcon.biMinimize, TBorderIcon.biSystemMenu];
TMSFNCRibbon1.Rebuild;