Windows 7x64, Lazarus 3.0, компиляция под x64.
Что и как делал.
Поскольку форм много, объявил:
- Код: Выделить всё
- TMyForm = class(TForm)
 protected
 ZoomActionList: TActionList;
 fZoomIn: TAction;
 fZoomOut: TAction;
 fZoomDef: TAction;
 procedure OnZoomDef(Sender: TObject);
 procedure OnZoomIn(Sender: TObject);
 procedure OnZoomOut(Sender: TObject);
 public
 constructor Create(TheOwner: TComponent); override;
 end;
 constructor TMyForm.Create(TheOwner: TComponent);
 begin
 inherited;
 ZoomActionList := TActionList.Create(Self);
 fZoomIn := TAction.Create(Self);
 fZoomIn.OnExecute := @OnZoomIn;
 fZoomIn.ShortCut := KeyToShortCut(vk_Add, [ssCtrl]);//'Ctrl+NumPlus';
 fZoomIn.ActionList := ZoomActionList;
 fZoomOut := TAction.Create(Self);
 fZoomOut.OnExecute := @OnZoomOut;
 fZoomOut.ShortCut := KeyToShortCut(VK_SUBTRACT, [ssCtrl]);//'Ctrl+NumMinus';
 fZoomOut.ActionList := ZoomActionList;
 fZoomDef := TAction.Create(Self);
 fZoomDef.OnExecute := @OnZoomDef;
 fZoomDef.ShortCut := KeyToShortCut(VK_MULTIPLY, [ssCtrl]);//'Ctrl+Num*';
 fZoomDef.ActionList := ZoomActionList;
 end;
 procedure TMyForm.OnZoomIn(Sender: TObject);
 begin
 if Font.Size < 24 then
 begin
 if Font.Size < 8 then Font.Size := 8 else Font.Size := Font.Size + 1;
 Caption := Format('%s: %d', [Font.Name, font.Size]);//для отладки
 if Assigned(OnResize) then OnResize(Sender);
 end;
 end;
 ...
Ну и дальше все формы породил от TMyForm.
ParentFont := True - у всех компонентов формы. За счет этого, меняя шрифт формы, он менялся у всех компонентов. Сейчас не меняется.
Как исправить положение?



