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 - у всех компонентов формы. За счет этого, меняя шрифт формы, он менялся у всех компонентов. Сейчас не меняется.
Как исправить положение?