mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 00:29:28 +02:00
SynEdit: Replace TextDrawer.RegisterOnFontChangeHandler with SynEdit.RegisterStatusChangedHandler(... scFontOrStyleChanged)
This commit is contained in:
parent
fc053b01ee
commit
7ea532fc16
@ -10,7 +10,7 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
windows, imm, LazSynIMMBase, Classes, SysUtils, Controls, LazLoggerBase, LCLType, LazUTF8,
|
windows, imm, LazSynIMMBase, Classes, SysUtils, Controls, LazLoggerBase, LCLType, LazUTF8,
|
||||||
Graphics, SynEditMiscClasses, SynTextDrawer, SynEditPointClasses, SynEditMarkupSelection,
|
Graphics, SynEditMiscClasses, SynEditPointClasses, SynEditMarkupSelection,
|
||||||
SynEditMarkup, SynEditTypes, SynEditKeyCmds, LazSynEditText, SynEditTextBase,
|
SynEditMarkup, SynEditTypes, SynEditKeyCmds, LazSynEditText, SynEditTextBase,
|
||||||
LazEditTextAttributes;
|
LazEditTextAttributes;
|
||||||
|
|
||||||
@ -29,12 +29,10 @@ type
|
|||||||
private
|
private
|
||||||
FImeBlockSelection: TSynEditSelection;
|
FImeBlockSelection: TSynEditSelection;
|
||||||
FImeWinX, FImeWinY: Integer;
|
FImeWinX, FImeWinY: Integer;
|
||||||
FTextDrawer: TheTextDrawer;
|
|
||||||
procedure SetTextDrawer(AValue: TheTextDrawer);
|
|
||||||
procedure UpdateImeWinXY(aX, aY: Integer; aImc: HIMC = 0; aForce: Boolean = False);
|
procedure UpdateImeWinXY(aX, aY: Integer; aImc: HIMC = 0; aForce: Boolean = False);
|
||||||
procedure UpdateImeWinFont(aImc: HIMC = 0);
|
procedure UpdateImeWinFont(aImc: HIMC = 0);
|
||||||
procedure DoStatusChanged(Sender: TObject; Changes: TSynStatusChanges);
|
procedure DoStatusChanged(Sender: TObject; Changes: TSynStatusChanges);
|
||||||
procedure DoDrawerFontChanged(Sender: TObject);
|
procedure DoDrawerFontChanged;
|
||||||
procedure DoOnCommand(Sender: TObject; AfterProcessing: boolean; var Handled: boolean;
|
procedure DoOnCommand(Sender: TObject; AfterProcessing: boolean; var Handled: boolean;
|
||||||
var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer;
|
var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer;
|
||||||
HandlerData: pointer);
|
HandlerData: pointer);
|
||||||
@ -48,7 +46,6 @@ type
|
|||||||
procedure WMImeStartComposition(var Msg: TMessage); override;
|
procedure WMImeStartComposition(var Msg: TMessage); override;
|
||||||
procedure WMImeEndComposition(var Msg: TMessage); override;
|
procedure WMImeEndComposition(var Msg: TMessage); override;
|
||||||
procedure FocusKilled; override;
|
procedure FocusKilled; override;
|
||||||
property TextDrawer: TheTextDrawer read FTextDrawer write SetTextDrawer;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ LazSynImeFull }
|
{ LazSynImeFull }
|
||||||
@ -118,12 +115,17 @@ end;
|
|||||||
|
|
||||||
procedure LazSynImeSimple.DoStatusChanged(Sender: TObject; Changes: TSynStatusChanges);
|
procedure LazSynImeSimple.DoStatusChanged(Sender: TObject; Changes: TSynStatusChanges);
|
||||||
begin
|
begin
|
||||||
|
if scFontOrStyleChanged in Changes then begin
|
||||||
|
DoDrawerFontChanged;
|
||||||
|
if Changes = [scFontOrStyleChanged] then exit;
|
||||||
|
end;
|
||||||
|
|
||||||
UpdateImeWinXY(FriendEdit.CaretXPix, FriendEdit.CaretYPix);
|
UpdateImeWinXY(FriendEdit.CaretXPix, FriendEdit.CaretYPix);
|
||||||
if Changes * [scCaretX, scCaretY] <> [] then
|
if Changes * [scCaretX, scCaretY] <> [] then
|
||||||
StopIme(False);
|
StopIme(False);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure LazSynImeSimple.DoDrawerFontChanged(Sender: TObject);
|
procedure LazSynImeSimple.DoDrawerFontChanged;
|
||||||
var
|
var
|
||||||
imc: HIMC;
|
imc: HIMC;
|
||||||
begin
|
begin
|
||||||
@ -173,16 +175,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure LazSynImeSimple.SEtTextDrawer(AValue: TheTextDrawer);
|
|
||||||
begin
|
|
||||||
if FTextDrawer = AValue then Exit;
|
|
||||||
if FTextDrawer <> nil then
|
|
||||||
FTextDrawer.UnRegisterOnFontChangeHandler(@DoDrawerFontChanged);
|
|
||||||
FTextDrawer := AValue;
|
|
||||||
if FTextDrawer <> nil then
|
|
||||||
FTextDrawer.RegisterOnFontChangeHandler(@DoDrawerFontChanged);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure LazSynImeSimple.UpdateImeWinFont(aImc: HIMC);
|
procedure LazSynImeSimple.UpdateImeWinFont(aImc: HIMC);
|
||||||
var
|
var
|
||||||
imc: HIMC;
|
imc: HIMC;
|
||||||
@ -207,14 +199,13 @@ begin
|
|||||||
FImeBlockSelection := TSynEditSelection.Create(ViewedTextBuffer, False);
|
FImeBlockSelection := TSynEditSelection.Create(ViewedTextBuffer, False);
|
||||||
FImeBlockSelection.InvalidateLinesMethod := @InvalidateLines;
|
FImeBlockSelection.InvalidateLinesMethod := @InvalidateLines;
|
||||||
|
|
||||||
FriendEdit.RegisterStatusChangedHandler(@DoStatusChanged, [scCaretX, scCaretY, scLeftChar, scTopLine, scModified]);
|
FriendEdit.RegisterStatusChangedHandler(@DoStatusChanged, [scCaretX, scCaretY, scLeftChar, scTopLine, scModified, scFontOrStyleChanged]);
|
||||||
FriendEdit.RegisterCommandHandler(@DoOnCommand, nil, [hcfInit]);
|
FriendEdit.RegisterCommandHandler(@DoOnCommand, nil, [hcfInit]);
|
||||||
FriendEdit.RegisterBeforeMouseDownHandler(@DoOnMouse);
|
FriendEdit.RegisterBeforeMouseDownHandler(@DoOnMouse);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor LazSynImeSimple.Destroy;
|
destructor LazSynImeSimple.Destroy;
|
||||||
begin
|
begin
|
||||||
TextDrawer := nil;
|
|
||||||
FreeAndNil(FImeBlockSelection);
|
FreeAndNil(FImeBlockSelection);
|
||||||
FriendEdit.UnregisterBeforeMouseDownHandler(@DoOnMouse);
|
FriendEdit.UnregisterBeforeMouseDownHandler(@DoOnMouse);
|
||||||
FriendEdit.UnregisterCommandHandler(@DoOnCommand);
|
FriendEdit.UnregisterCommandHandler(@DoOnCommand);
|
||||||
|
@ -150,7 +150,7 @@ type
|
|||||||
procedure SetLeftChar(AValue: Integer);
|
procedure SetLeftChar(AValue: Integer);
|
||||||
procedure SetPadding(Side: TLazSynBorderSide; AValue: integer);
|
procedure SetPadding(Side: TLazSynBorderSide; AValue: integer);
|
||||||
procedure SetTopLine(AValue: TLinePos);
|
procedure SetTopLine(AValue: TLinePos);
|
||||||
procedure DoDrawerFontChanged(Sender: TObject);
|
procedure DoDrawerFontChanged(Sender: TObject; Changes: TSynStatusChanges);
|
||||||
protected
|
protected
|
||||||
procedure BoundsChanged; override;
|
procedure BoundsChanged; override;
|
||||||
procedure DoPaint(ACanvas: TCanvas; AClip: TRect); override;
|
procedure DoPaint(ACanvas: TCanvas; AClip: TRect); override;
|
||||||
@ -158,7 +158,7 @@ type
|
|||||||
FirstCol, LastCol: integer); virtual;
|
FirstCol, LastCol: integer); virtual;
|
||||||
property Canvas: TCanvas read FCanvas;
|
property Canvas: TCanvas read FCanvas;
|
||||||
public
|
public
|
||||||
constructor Create(AOwner: TWinControl; ATextDrawer: TheTextDrawer);
|
constructor Create(AOwner: TSynEditBase; ATextDrawer: TheTextDrawer);
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
procedure Assign(Src: TLazSynSurface); override;
|
procedure Assign(Src: TLazSynSurface); override;
|
||||||
procedure InvalidateLines(FirstTextLine, LastTextLine: TLineIdx; AScreenLineOffset: Integer = 0); override;
|
procedure InvalidateLines(FirstTextLine, LastTextLine: TLineIdx; AScreenLineOffset: Integer = 0); override;
|
||||||
@ -245,7 +245,7 @@ type
|
|||||||
procedure DoDisplayViewChanged; override;
|
procedure DoDisplayViewChanged; override;
|
||||||
procedure BoundsChanged; override;
|
procedure BoundsChanged; override;
|
||||||
public
|
public
|
||||||
constructor Create(AOwner: TWinControl);
|
constructor Create(AOwner: TSynEditBase);
|
||||||
procedure InvalidateLines(FirstTextLine, LastTextLine: TLineIdx; AScreenLineOffset: Integer = 0); override;
|
procedure InvalidateLines(FirstTextLine, LastTextLine: TLineIdx; AScreenLineOffset: Integer = 0); override;
|
||||||
procedure InvalidateTextLines(FirstTextLine, LastTextLine: TLineIdx; AScreenLineOffset: Integer = 0); virtual;
|
procedure InvalidateTextLines(FirstTextLine, LastTextLine: TLineIdx; AScreenLineOffset: Integer = 0); virtual;
|
||||||
procedure InvalidateGutterLines(FirstTextLine, LastTextLine: TLineIdx; AScreenLineOffset: Integer = 0); virtual;
|
procedure InvalidateGutterLines(FirstTextLine, LastTextLine: TLineIdx; AScreenLineOffset: Integer = 0); virtual;
|
||||||
@ -1304,7 +1304,7 @@ begin
|
|||||||
FRightGutterArea.SetBounds(Top, r, Bottom, Right);
|
FRightGutterArea.SetBounds(Top, r, Bottom, Right);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
constructor TLazSynSurfaceManager.Create(AOwner: TWinControl);
|
constructor TLazSynSurfaceManager.Create(AOwner: TSynEditBase);
|
||||||
begin
|
begin
|
||||||
inherited Create(AOwner);
|
inherited Create(AOwner);
|
||||||
FLeftGutterWidth := 0;
|
FLeftGutterWidth := 0;
|
||||||
@ -1405,7 +1405,7 @@ begin
|
|||||||
FTopLine := AValue;
|
FTopLine := AValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLazSynTextArea.DoDrawerFontChanged(Sender: TObject);
|
procedure TLazSynTextArea.DoDrawerFontChanged(Sender: TObject; Changes: TSynStatusChanges);
|
||||||
begin
|
begin
|
||||||
FontChanged;
|
FontChanged;
|
||||||
end;
|
end;
|
||||||
@ -1424,7 +1424,7 @@ begin
|
|||||||
Result := FTextBounds.Left + (Col - LeftChar) * fCharWidth;
|
Result := FTextBounds.Left + (Col - LeftChar) * fCharWidth;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TLazSynTextArea.RowColumnToPixels(const RowCol: TScreenPoint): TPoint;
|
function TLazSynTextArea.RowColumnToPixels(const RowCol: TScreenPoint_0): TPoint;
|
||||||
begin
|
begin
|
||||||
// Inludes LeftChar, but not Topline
|
// Inludes LeftChar, but not Topline
|
||||||
Result.X := FTextBounds.Left + (RowCol.X - LeftChar) * CharWidth;
|
Result.X := FTextBounds.Left + (RowCol.X - LeftChar) * CharWidth;
|
||||||
@ -1453,7 +1453,7 @@ begin
|
|||||||
if Result.Y < 0 then Result.Y := 0;
|
if Result.Y < 0 then Result.Y := 0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
constructor TLazSynTextArea.Create(AOwner: TWinControl; ATextDrawer: TheTextDrawer);
|
constructor TLazSynTextArea.Create(AOwner: TSynEditBase; ATextDrawer: TheTextDrawer);
|
||||||
var
|
var
|
||||||
i: TLazSynBorderSide;
|
i: TLazSynBorderSide;
|
||||||
begin
|
begin
|
||||||
@ -1461,7 +1461,8 @@ begin
|
|||||||
FTextSizeChangeList := TMethodList.Create;
|
FTextSizeChangeList := TMethodList.Create;
|
||||||
FTokenBreaker := TLazSynPaintTokenBreaker.Create;
|
FTokenBreaker := TLazSynPaintTokenBreaker.Create;
|
||||||
FTextDrawer := ATextDrawer;
|
FTextDrawer := ATextDrawer;
|
||||||
FTextDrawer.RegisterOnFontChangeHandler(@DoDrawerFontChanged);
|
|
||||||
|
Owner.RegisterStatusChangedHandler(@DoDrawerFontChanged, [scFontOrStyleChanged]);
|
||||||
FPaintLineColor := TSynSelectedColor.Create;
|
FPaintLineColor := TSynSelectedColor.Create;
|
||||||
FPaintLineColor2 := TSynSelectedColor.Create;
|
FPaintLineColor2 := TSynSelectedColor.Create;
|
||||||
for i := low(TLazSynBorderSide) to high(TLazSynBorderSide) do
|
for i := low(TLazSynBorderSide) to high(TLazSynBorderSide) do
|
||||||
@ -1477,7 +1478,7 @@ end;
|
|||||||
destructor TLazSynTextArea.Destroy;
|
destructor TLazSynTextArea.Destroy;
|
||||||
begin
|
begin
|
||||||
FreeAndNil(FTokenBreaker);
|
FreeAndNil(FTokenBreaker);
|
||||||
FTextDrawer.UnRegisterOnFontChangeHandler(@DoDrawerFontChanged);
|
Owner.UnRegisterStatusChangedHandler(@DoDrawerFontChanged);
|
||||||
FreeAndNil(FPaintLineColor);
|
FreeAndNil(FPaintLineColor);
|
||||||
FreeAndNil(FPaintLineColor2);
|
FreeAndNil(FPaintLineColor2);
|
||||||
FreeAndNil(FTextSizeChangeList);
|
FreeAndNil(FTextSizeChangeList);
|
||||||
|
@ -8964,6 +8964,7 @@ begin
|
|||||||
for i := 0 to Pred(fHighlighter.AttrCount) do
|
for i := 0 to Pred(fHighlighter.AttrCount) do
|
||||||
fTextDrawer.BaseStyle := fHighlighter.Attribute[i].Style;
|
fTextDrawer.BaseStyle := fHighlighter.Attribute[i].Style;
|
||||||
fTextDrawer.CharExtra := ExtraCharSpacing;
|
fTextDrawer.CharExtra := ExtraCharSpacing;
|
||||||
|
StatusChanged([scFontOrStyleChanged]); // Font or Spacing
|
||||||
|
|
||||||
FLines.IsUtf8 := True;
|
FLines.IsUtf8 := True;
|
||||||
finally
|
finally
|
||||||
|
@ -558,7 +558,7 @@ type
|
|||||||
FBounds: TRect;
|
FBounds: TRect;
|
||||||
FBoundsChangeList: TMethodList;
|
FBoundsChangeList: TMethodList;
|
||||||
FDisplayView: TLazSynDisplayView;
|
FDisplayView: TLazSynDisplayView;
|
||||||
FOwner: TWinControl;
|
FOwner: TSynEditBase;
|
||||||
function GetHandle: HWND;
|
function GetHandle: HWND;
|
||||||
procedure SetDisplayView(AValue: TLazSynDisplayView);
|
procedure SetDisplayView(AValue: TLazSynDisplayView);
|
||||||
protected
|
protected
|
||||||
@ -566,8 +566,9 @@ type
|
|||||||
procedure DoPaint(ACanvas: TCanvas; AClip: TRect); virtual; abstract;
|
procedure DoPaint(ACanvas: TCanvas; AClip: TRect); virtual; abstract;
|
||||||
procedure DoDisplayViewChanged; virtual;
|
procedure DoDisplayViewChanged; virtual;
|
||||||
property Handle: HWND read GetHandle;
|
property Handle: HWND read GetHandle;
|
||||||
|
property Owner: TSynEditBase read FOwner;
|
||||||
public
|
public
|
||||||
constructor Create(AOwner: TWinControl);
|
constructor Create(AOwner: TSynEditBase);
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
procedure Assign(Src: TLazSynSurface); virtual;
|
procedure Assign(Src: TLazSynSurface); virtual;
|
||||||
procedure AddBoundsChangeHandler(AHandler: TNotifyEvent);
|
procedure AddBoundsChangeHandler(AHandler: TNotifyEvent);
|
||||||
@ -1561,7 +1562,7 @@ begin
|
|||||||
//
|
//
|
||||||
end;
|
end;
|
||||||
|
|
||||||
constructor TLazSynSurface.Create(AOwner: TWinControl);
|
constructor TLazSynSurface.Create(AOwner: TSynEditBase);
|
||||||
begin
|
begin
|
||||||
FOwner := AOwner;
|
FOwner := AOwner;
|
||||||
FBoundsChangeList := TMethodList.Create;
|
FBoundsChangeList := TMethodList.Create;
|
||||||
|
@ -118,6 +118,7 @@ type
|
|||||||
scInsertMode, scModified, scSelection, scReadOnly,
|
scInsertMode, scModified, scSelection, scReadOnly,
|
||||||
scFocus, // received or lost focus
|
scFocus, // received or lost focus
|
||||||
scHandleCreated, // handle created
|
scHandleCreated, // handle created
|
||||||
|
scFontOrStyleChanged,
|
||||||
scOptions // some Options were changed (only triggered by some optinos)
|
scOptions // some Options were changed (only triggered by some optinos)
|
||||||
);
|
);
|
||||||
TSynStatusChanges = set of TSynStatusChange;
|
TSynStatusChanges = set of TSynStatusChange;
|
||||||
|
@ -46,7 +46,7 @@ type
|
|||||||
function PreferedWidthAtCurrentPPI: Integer; override;
|
function PreferedWidthAtCurrentPPI: Integer; override;
|
||||||
procedure LineCountChanged(Sender: TSynEditStrings; AIndex, ACount: Integer);
|
procedure LineCountChanged(Sender: TSynEditStrings; AIndex, ACount: Integer);
|
||||||
procedure BufferChanged(Sender: TObject);
|
procedure BufferChanged(Sender: TObject);
|
||||||
procedure FontChanged(Sender: TObject);
|
procedure FontChanged(Sender: TObject; Changes: TSynStatusChanges);
|
||||||
procedure SetAutoSize(const AValue : boolean); override;
|
procedure SetAutoSize(const AValue : boolean); override;
|
||||||
procedure SetVisible(const AValue: boolean); override;
|
procedure SetVisible(const AValue: boolean); override;
|
||||||
function CreateMouseActions: TSynEditMouseInternalActions; override;
|
function CreateMouseActions: TSynEditMouseInternalActions; override;
|
||||||
@ -88,14 +88,14 @@ begin
|
|||||||
FTextDrawer := Gutter.TextDrawer;
|
FTextDrawer := Gutter.TextDrawer;
|
||||||
ViewedTextBuffer.AddChangeHandler(senrLineCount, @LineCountChanged);
|
ViewedTextBuffer.AddChangeHandler(senrLineCount, @LineCountChanged);
|
||||||
ViewedTextBuffer.AddNotifyHandler(senrTextBufferChanged, @BufferChanged);
|
ViewedTextBuffer.AddNotifyHandler(senrTextBufferChanged, @BufferChanged);
|
||||||
FTextDrawer.RegisterOnFontChangeHandler(@FontChanged);
|
FriendEdit.RegisterStatusChangedHandler(@FontChanged, [scFontOrStyleChanged]);
|
||||||
LineCountchanged(nil, 0, 0);
|
LineCountchanged(nil, 0, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TSynGutterLineNumber.Destroy;
|
destructor TSynGutterLineNumber.Destroy;
|
||||||
begin
|
begin
|
||||||
ViewedTextBuffer.RemoveHandlers(self);
|
ViewedTextBuffer.RemoveHandlers(self);
|
||||||
FTextDrawer.UnRegisterOnFontChangeHandler(@FontChanged);
|
FriendEdit.UnRegisterStatusChangedHandler(@FontChanged);
|
||||||
inherited Destroy;
|
inherited Destroy;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -208,7 +208,7 @@ begin
|
|||||||
LineCountChanged(nil, 0, 0);
|
LineCountChanged(nil, 0, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSynGutterLineNumber.FontChanged(Sender: TObject);
|
procedure TSynGutterLineNumber.FontChanged(Sender: TObject; Changes: TSynStatusChanges);
|
||||||
begin
|
begin
|
||||||
DoAutoSize;
|
DoAutoSize;
|
||||||
end;
|
end;
|
||||||
|
@ -133,7 +133,7 @@ type
|
|||||||
procedure DoDisplayViewChanged; override;
|
procedure DoDisplayViewChanged; override;
|
||||||
procedure BoundsChanged; override;
|
procedure BoundsChanged; override;
|
||||||
public
|
public
|
||||||
constructor Create(AOwner: TWinControl; AnOriginalManager: TLazSynSurfaceManager);
|
constructor Create(AOwner: TSynEditBase; AnOriginalManager: TLazSynSurfaceManager);
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
procedure InvalidateLines(FirstTextLine, LastTextLine: TLineIdx; AScreenLineOffset: Integer = 0); override;
|
procedure InvalidateLines(FirstTextLine, LastTextLine: TLineIdx; AScreenLineOffset: Integer = 0); override;
|
||||||
procedure InvalidateTextLines(FirstTextLine, LastTextLine: TLineIdx; AScreenLineOffset: Integer = 0); override;
|
procedure InvalidateTextLines(FirstTextLine, LastTextLine: TLineIdx; AScreenLineOffset: Integer = 0); override;
|
||||||
@ -1519,7 +1519,8 @@ begin
|
|||||||
FOriginalManager.SetBounds(t, Left, Bottom, Right);
|
FOriginalManager.SetBounds(t, Left, Bottom, Right);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
constructor TSourceLazSynSurfaceManager.Create(AOwner: TWinControl; AnOriginalManager: TLazSynSurfaceManager);
|
constructor TSourceLazSynSurfaceManager.Create(AOwner: TSynEditBase;
|
||||||
|
AnOriginalManager: TLazSynSurfaceManager);
|
||||||
var
|
var
|
||||||
txt: TLazSynTextArea;
|
txt: TLazSynTextArea;
|
||||||
lgutter, rgutter: TLazSynGutterArea;
|
lgutter, rgutter: TLazSynGutterArea;
|
||||||
@ -2138,7 +2139,6 @@ var
|
|||||||
begin
|
begin
|
||||||
if ImeHandler is LazSynImeSimple then exit;
|
if ImeHandler is LazSynImeSimple then exit;
|
||||||
Ime := LazSynImeSimple.Create(Self);
|
Ime := LazSynImeSimple.Create(Self);
|
||||||
LazSynImeSimple(Ime).TextDrawer := TextDrawer;
|
|
||||||
Ime.InvalidateLinesMethod := @InvalidateLines;
|
Ime.InvalidateLinesMethod := @InvalidateLines;
|
||||||
ImeHandler := Ime;
|
ImeHandler := Ime;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user