You've already forked lazarus-ccr
richmemo: * relocated base types declaration to richmemo.pas unit. (ws units now depends on richmemo.pas. breaks gtk and carbon compilation)
* updated win32 ws for the dependency * added richole types to win32 git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3746 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -24,19 +24,38 @@ unit RichMemo;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, Graphics, StdCtrls,
|
Classes, SysUtils, Graphics, StdCtrls;
|
||||||
WSRichMemo;
|
|
||||||
|
|
||||||
type
|
type
|
||||||
|
TFontParams = record
|
||||||
|
Name : String;
|
||||||
|
Size : Integer;
|
||||||
|
Color : TColor;
|
||||||
|
Style : TFontStyles;
|
||||||
|
end;
|
||||||
|
|
||||||
TFontParams = WSRichMemo.TIntFontParams;
|
|
||||||
TParaAlignment = (paLeft, paRight, paCenter, paJustify);
|
TParaAlignment = (paLeft, paRight, paCenter, paJustify);
|
||||||
TParaMetric = WSRichMemo.TIntParaMetric;
|
TParaMetric = record
|
||||||
TParaNumStyle = WSRichMemo.TParaNumStyle;
|
FirstLine : Double; // in points
|
||||||
TParaNumbering = WSRichMemo.TIntParaNumbering;
|
TailIndent : Double; // in points
|
||||||
|
HeadIndent : Double; // in points
|
||||||
|
SpaceBefore : Double; // in points
|
||||||
|
SpaceAfter : Double; // in points
|
||||||
|
LineSpacing : Double; // multi
|
||||||
|
end;
|
||||||
|
TParaNumStyle = (pnNone, pnBullet, pnNumber, pnLowLetter
|
||||||
|
, pnLowRoman, pnUpLetter, pnUpRoman, pnCustomChar);
|
||||||
|
|
||||||
|
TParaNumbering = record
|
||||||
|
Numbering : TParaNumStyle;
|
||||||
|
NumCustom : WideChar;
|
||||||
|
NumIndent : Double;
|
||||||
|
end;
|
||||||
|
|
||||||
TTextModifyMask = set of (tmm_Color, tmm_Name, tmm_Size, tmm_Styles);
|
TTextModifyMask = set of (tmm_Color, tmm_Name, tmm_Size, tmm_Styles);
|
||||||
|
|
||||||
|
TRichMemoObject = class(TObject);
|
||||||
|
|
||||||
{ TCustomRichMemo }
|
{ TCustomRichMemo }
|
||||||
|
|
||||||
TCustomRichMemo = class(TCustomMemo)
|
TCustomRichMemo = class(TCustomMemo)
|
||||||
@ -135,19 +154,28 @@ type
|
|||||||
property WordWrap;
|
property WordWrap;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure InitFontParams(var p: TFontParams);
|
||||||
function GetFontParams(styles: TFontStyles): TFontParams; overload;
|
function GetFontParams(styles: TFontStyles): TFontParams; overload;
|
||||||
function GetFontParams(color: TColor; styles: TFontStyles): TFontParams; overload;
|
function GetFontParams(color: TColor; styles: TFontStyles): TFontParams; overload;
|
||||||
function GetFontParams(const Name: String; color: TColor; styles: TFontStyles): TFontParams; overload;
|
function GetFontParams(const Name: String; color: TColor; styles: TFontStyles): TFontParams; overload;
|
||||||
function GetFontParams(const Name: String; Size: Integer; color: TColor; styles: TFontStyles): TFontParams; overload;
|
function GetFontParams(const Name: String; Size: Integer; color: TColor; styles: TFontStyles): TFontParams; overload;
|
||||||
|
|
||||||
|
procedure InitParaMatric(var m: TParaMetric);
|
||||||
|
procedure InitParaNumbering(var n: TParaNumbering);
|
||||||
|
|
||||||
var
|
var
|
||||||
RTFLoadStream : function (AMemo: TCustomRichMemo; Source: TStream): Boolean = nil;
|
RTFLoadStream : function (AMemo: TCustomRichMemo; Source: TStream): Boolean = nil;
|
||||||
RTFSaveStream : function (AMemo: TCustomRichMemo; Dest: TStream): Boolean = nil;
|
RTFSaveStream : function (AMemo: TCustomRichMemo; Dest: TStream): Boolean = nil;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
const
|
uses
|
||||||
ParaAlignCode : array [TParaAlignment] of Integer = (AL_LEFT, AL_RIGHT, AL_CENTER, AL_JUSTIFY);
|
WSRichMemo;
|
||||||
|
|
||||||
|
procedure InitFontParams(var p: TFontParams);
|
||||||
|
begin
|
||||||
|
FillChar(p, SizeOf(p), 0);
|
||||||
|
end;
|
||||||
|
|
||||||
function GetFontParams(styles: TFontStyles): TFontParams; overload;
|
function GetFontParams(styles: TFontStyles): TFontParams; overload;
|
||||||
begin
|
begin
|
||||||
@ -166,12 +194,23 @@ end;
|
|||||||
|
|
||||||
function GetFontParams(const Name: String; Size: Integer; color: TColor; styles: TFontStyles): TFontParams; overload;
|
function GetFontParams(const Name: String; Size: Integer; color: TColor; styles: TFontStyles): TFontParams; overload;
|
||||||
begin
|
begin
|
||||||
|
InitFontParams(Result);
|
||||||
Result.Name := Name;
|
Result.Name := Name;
|
||||||
Result.Size := Size;
|
Result.Size := Size;
|
||||||
Result.Color := color;
|
Result.Color := color;
|
||||||
Result.Style := styles;
|
Result.Style := styles;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure InitParaMatric(var m: TParaMetric);
|
||||||
|
begin
|
||||||
|
FillChar(m, sizeof(m), 0);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure InitParaNumbering(var n: TParaNumbering);
|
||||||
|
begin
|
||||||
|
FillChar(n, sizeof(n), 0);
|
||||||
|
end;
|
||||||
|
|
||||||
{ TCustomRichMemo }
|
{ TCustomRichMemo }
|
||||||
|
|
||||||
procedure TCustomRichMemo.SetHideSelection(AValue: Boolean);
|
procedure TCustomRichMemo.SetHideSelection(AValue: Boolean);
|
||||||
@ -247,24 +286,14 @@ var
|
|||||||
ac: Integer;
|
ac: Integer;
|
||||||
begin
|
begin
|
||||||
Result := HandleAllocated and
|
Result := HandleAllocated and
|
||||||
TWSCustomRichMemoClass(WidgetSetClass).GetParaAlignment(Self, TextStart, ac);
|
TWSCustomRichMemoClass(WidgetSetClass).GetParaAlignment(Self, TextStart, AAlign);
|
||||||
if Result then begin
|
|
||||||
case ac of
|
|
||||||
AL_LEFT: AAlign:=paLeft;
|
|
||||||
AL_RIGHT: AAlign:=paRight;
|
|
||||||
AL_CENTER: AAlign:=paCenter;
|
|
||||||
AL_JUSTIFY: AAlign:=paJustify
|
|
||||||
else
|
|
||||||
AAlign:=paLeft;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCustomRichMemo.SetParaAlignment(TextStart, TextLen: Integer;
|
procedure TCustomRichMemo.SetParaAlignment(TextStart, TextLen: Integer;
|
||||||
AAlign: TParaAlignment);
|
AAlign: TParaAlignment);
|
||||||
begin
|
begin
|
||||||
if HandleAllocated then
|
if HandleAllocated then
|
||||||
TWSCustomRichMemoClass(WidgetSetClass).SetParaAlignment(Self, TextStart, TextLen, ParaAlignCode[AAlign]);
|
TWSCustomRichMemoClass(WidgetSetClass).SetParaAlignment(Self, TextStart, TextLen, AAlign);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TCustomRichMemo.GetParaMetric(TextStart: Integer;
|
function TCustomRichMemo.GetParaMetric(TextStart: Integer;
|
||||||
@ -378,7 +407,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
function TCustomRichMemo.LoadRichText(Source: TStream): Boolean;
|
function TCustomRichMemo.LoadRichText(Source: TStream): Boolean;
|
||||||
begin
|
begin
|
||||||
Result:=false;
|
Result:=false;
|
||||||
|
@ -34,7 +34,7 @@ uses
|
|||||||
// Win32WidgetSet
|
// Win32WidgetSet
|
||||||
Win32WSControls, Win32Int,
|
Win32WSControls, Win32Int,
|
||||||
// RichMemo headers
|
// RichMemo headers
|
||||||
WSRichMemo, Win32RichMemoProc;
|
RichMemo, WSRichMemo, Win32RichMemoProc;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
@ -62,9 +62,9 @@ type
|
|||||||
class function SaveRichText(const AWinControl: TWinControl; Dst: TStream): Boolean; override;
|
class function SaveRichText(const AWinControl: TWinControl; Dst: TStream): Boolean; override;
|
||||||
|
|
||||||
class function GetParaAlignment(const AWinControl: TWinControl; TextStart: Integer;
|
class function GetParaAlignment(const AWinControl: TWinControl; TextStart: Integer;
|
||||||
var AAlign: Integer): Boolean; override;
|
var AAlign: TParaAlignment): Boolean; override;
|
||||||
class procedure SetParaAlignment(const AWinControl: TWinControl; TextStart, TextLen: Integer;
|
class procedure SetParaAlignment(const AWinControl: TWinControl; TextStart, TextLen: Integer;
|
||||||
const AAlign: Integer); override;
|
const AAlign: TIntParaAlignment); override;
|
||||||
|
|
||||||
class function GetParaMetric(const AWinControl: TWinControl; TextStart: Integer;
|
class function GetParaMetric(const AWinControl: TWinControl; TextStart: Integer;
|
||||||
var AMetrics: TIntParaMetric): Boolean; override;
|
var AMetrics: TIntParaMetric): Boolean; override;
|
||||||
@ -346,7 +346,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
class function TWin32WSCustomRichMemo.GetParaAlignment(
|
class function TWin32WSCustomRichMemo.GetParaAlignment(
|
||||||
const AWinControl: TWinControl; TextStart: Integer; var AAlign: Integer
|
const AWinControl: TWinControl; TextStart: Integer; var AAlign: TParaAlignment
|
||||||
): Boolean;
|
): Boolean;
|
||||||
var
|
var
|
||||||
para : PARAFORMAT2;
|
para : PARAFORMAT2;
|
||||||
@ -355,28 +355,27 @@ begin
|
|||||||
if not Assigned(RichEditManager) or not Assigned(AWinControl) then Exit;
|
if not Assigned(RichEditManager) or not Assigned(AWinControl) then Exit;
|
||||||
RichEditManager.GetPara2(AWinControl.Handle, TextStart, para);
|
RichEditManager.GetPara2(AWinControl.Handle, TextStart, para);
|
||||||
case para.wAlignment of
|
case para.wAlignment of
|
||||||
PFA_CENTER: AAlign:=AL_CENTER;
|
PFA_CENTER: AAlign:=paCenter;
|
||||||
PFA_RIGHT: AAlign:=AL_RIGHT;
|
PFA_RIGHT: AAlign:=paRight;
|
||||||
PFA_JUSTIFY: AAlign:=AL_JUSTIFY;
|
PFA_JUSTIFY: AAlign:=paJustify;
|
||||||
else
|
else
|
||||||
AAlign:=AL_LEFT;
|
AAlign:=paLeft;
|
||||||
end;
|
end;
|
||||||
Result:=true;
|
Result:=true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
class procedure TWin32WSCustomRichMemo.SetParaAlignment(
|
class procedure TWin32WSCustomRichMemo.SetParaAlignment(
|
||||||
const AWinControl: TWinControl; TextStart, TextLen: Integer; const AAlign: Integer);
|
const AWinControl: TWinControl; TextStart, TextLen: Integer; const AAlign: TIntParaAlignment);
|
||||||
var
|
var
|
||||||
para : PARAFORMAT2;
|
para : PARAFORMAT2;
|
||||||
const
|
const
|
||||||
WinPara : array [AL_LEFT..AL_JUSTIFY] of word = (PFA_LEFT, PFA_RIGHT, PFA_CENTER, PFA_JUSTIFY);
|
WinPara : array [TIntParaAlignment] of word = (PFA_LEFT, PFA_RIGHT, PFA_CENTER, PFA_JUSTIFY);
|
||||||
begin
|
begin
|
||||||
if not Assigned(RichEditManager) or not Assigned(AWinControl)
|
if not Assigned(RichEditManager) or not Assigned(AWinControl) then Exit;
|
||||||
or (AAlign<AL_LEFT) or (AAlign>AL_JUSTIFY) then Exit;
|
|
||||||
FillChar(para, sizeof(para), 0);
|
FillChar(para, sizeof(para), 0);
|
||||||
para.cbSize:=sizeof(para);
|
para.cbSize:=sizeof(para);
|
||||||
para.dwMask:=PFM_ALIGNMENT;
|
para.dwMask:=PFM_ALIGNMENT;
|
||||||
para.wAlignment:=WinPara[byte(AAlign)];
|
para.wAlignment:=WinPara[AAlign];
|
||||||
RichEditManager.SetPara2(AWinControl.Handle, TextStart, TextLen, para);
|
RichEditManager.SetPara2(AWinControl.Handle, TextStart, TextLen, para);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -33,7 +33,76 @@ uses
|
|||||||
// RichMemoUnits
|
// RichMemoUnits
|
||||||
WSRichMemo,
|
WSRichMemo,
|
||||||
// Win32 widgetset units
|
// Win32 widgetset units
|
||||||
win32proc;
|
win32proc
|
||||||
|
,ActiveX, ComObj;
|
||||||
|
|
||||||
|
const
|
||||||
|
IID_IRichEditOle: TGUID = '{00020D00-0000-0000-C000-000000000046}';
|
||||||
|
IID_IRichEditOleCallback: TGUID = '{00020D03-0000-0000-C000-000000000046}';
|
||||||
|
|
||||||
|
type
|
||||||
|
TREOBJECT = packed record
|
||||||
|
cbStruct : DWORD;
|
||||||
|
cp : LONG;
|
||||||
|
clsid : CLSID;
|
||||||
|
poleobj : IOLEOBJECT;
|
||||||
|
pstg : ISTORAGE;
|
||||||
|
polesite : IOLECLIENTSITE;
|
||||||
|
sizel : SIZEL;
|
||||||
|
dvaspect : DWORD;
|
||||||
|
dwFlags : DWORD;
|
||||||
|
dwUser : DWORD;
|
||||||
|
end;
|
||||||
|
|
||||||
|
type
|
||||||
|
IRichEditOle = interface(IUnknown)
|
||||||
|
['{00020D00-0000-0000-C000-000000000046}']
|
||||||
|
// *** IRichEditOle methods ***
|
||||||
|
function GetClientSite(out clientSite: IOleClientSite): HRESULT; stdcall;
|
||||||
|
function GetObjectCount: LongInt; stdcall;
|
||||||
|
function GetLinkCount: LongInt; stdcall;
|
||||||
|
function GetObject(iob: LongInt; out ReObject: TReObject;
|
||||||
|
dwFlags: DWORD): HRESULT; stdcall;
|
||||||
|
function InsertObject(var ReObject: TReObject): HRESULT; stdcall;
|
||||||
|
function ConvertObject(iob: LongInt; const clsidNew: TCLSID;
|
||||||
|
lpStrUserTypeNew: LPCSTR): HRESULT; stdcall;
|
||||||
|
function ActivateAs(const clsid, clsidAs: TCLSID): HRESULT; stdcall;
|
||||||
|
function SetHostNames(lpstrContainerApp: LPCSTR;
|
||||||
|
lpstrContainerObj: LPCSTR): HRESULT; stdcall;
|
||||||
|
function SetLinkAvailable(iob: LongInt; fAvailable: BOOL): HRESULT; stdcall;
|
||||||
|
function SetDvaspect(iob: LongInt; dvaspect: DWORD): HRESULT; stdcall;
|
||||||
|
function HandsOffStorage(iob: LongInt): HRESULT; stdcall;
|
||||||
|
function SaveCompleted(iob: LongInt; const stg: IStorage): HRESULT; stdcall;
|
||||||
|
function InPlaceDeactivate: HRESULT; stdcall;
|
||||||
|
function ContextSensitiveHelp(fEnterMode: BOOL): HRESULT; stdcall;
|
||||||
|
function GetClipboardData(const chrg: TCharRange; reco: DWORD;
|
||||||
|
out dataobj: IDataObject): HRESULT; stdcall;
|
||||||
|
function ImportDataObject(const dataobj: IDataObject; cf: TClipFormat;
|
||||||
|
hMetaPict: HGLOBAL): HRESULT; stdcall;
|
||||||
|
end;
|
||||||
|
|
||||||
|
IRichEditOleCallback = interface(IUnknown)
|
||||||
|
['{00020D03-0000-0000-C000-000000000046}']
|
||||||
|
// *** IRichEditOleCallback methods ***
|
||||||
|
function GetNewStorage(out stg: IStorage): HRESULT; stdcall;
|
||||||
|
function GetInPlaceContext(out Frame: IOleInPlaceFrame;
|
||||||
|
out Doc: IOleInPlaceUIWindow;
|
||||||
|
lpFrameInfo: POleInPlaceFrameInfo): HRESULT; stdcall;
|
||||||
|
function ShowContainerUI(fShow: BOOL): HRESULT; stdcall;
|
||||||
|
function QueryInsertObject(const clsid: TCLSID; const stg: IStorage;
|
||||||
|
cp: LongInt): HRESULT; stdcall;
|
||||||
|
function DeleteObject(const oleobj: IOleObject): HRESULT; stdcall;
|
||||||
|
function QueryAcceptData(const dataobj: IDataObject;
|
||||||
|
var cfFormat: TClipFormat; reco: DWORD; fReally: BOOL;
|
||||||
|
hMetaPict: HGLOBAL): HRESULT; stdcall;
|
||||||
|
function ContextSensitiveHelp(fEnterMode: BOOL): HRESULT; stdcall;
|
||||||
|
function GetClipboardData(const chrg: TCharRange; reco: DWORD;
|
||||||
|
out dataobj: IDataObject): HRESULT; stdcall;
|
||||||
|
function GetDragDropEffect(fDrag: BOOL; grfKeyState: DWORD;
|
||||||
|
var dwEffect: DWORD): HRESULT; stdcall;
|
||||||
|
function GetContextMenu(seltype: Word; oleobj: IOleObject;
|
||||||
|
const chrg: TCharRange; var menu: HMENU): HRESULT; stdcall;
|
||||||
|
end;
|
||||||
|
|
||||||
type
|
type
|
||||||
{ TRichEditManager }
|
{ TRichEditManager }
|
||||||
|
@ -25,44 +25,16 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils,
|
Classes, SysUtils,
|
||||||
|
|
||||||
Graphics, Controls, StdCtrls,
|
Graphics, Controls, StdCtrls,
|
||||||
|
WSStdCtrls, RichMemo;
|
||||||
WSStdCtrls;
|
|
||||||
|
|
||||||
type
|
type
|
||||||
|
TIntParaAlignment = RichMemo.TParaAlignment;
|
||||||
TIntFontParams = record
|
TIntFontParams = RichMemo.TFontParams;
|
||||||
Name : String;
|
|
||||||
Size : Integer;
|
|
||||||
Color : TColor;
|
|
||||||
Style : TFontStyles;
|
|
||||||
end;
|
|
||||||
|
|
||||||
const
|
|
||||||
AL_LEFT = 1;
|
|
||||||
AL_RIGHT = 2;
|
|
||||||
AL_CENTER = 3;
|
|
||||||
AL_JUSTIFY = 4;
|
|
||||||
|
|
||||||
type
|
type
|
||||||
TIntParaMetric = record
|
TIntParaMetric = RichMemo.TParaMetric;
|
||||||
FirstLine : Double; // in points
|
TIntParaNumbering = RichMemo.TParaNumbering;
|
||||||
TailIndent : Double; // in points
|
|
||||||
HeadIndent : Double; // in points
|
|
||||||
SpaceBefore : Double; // in points
|
|
||||||
SpaceAfter : Double; // in points
|
|
||||||
LineSpacing : Double; // todo: ?
|
|
||||||
end;
|
|
||||||
|
|
||||||
TParaNumStyle = (pnNone, pnBullet, pnNumber, pnLowLetter
|
|
||||||
, pnLowRoman, pnUpLetter, pnUpRoman, pnCustomChar);
|
|
||||||
|
|
||||||
TIntParaNumbering = record
|
|
||||||
Numbering : TParaNumStyle;
|
|
||||||
NumCustom : WideChar;
|
|
||||||
NumIndent : Double;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TTabAlignment = (taLeft, taCenter, taRight, taDecimal, taWordBar);
|
TTabAlignment = (taLeft, taCenter, taRight, taDecimal, taWordBar);
|
||||||
|
|
||||||
@ -76,7 +48,6 @@ type
|
|||||||
Tabs : array of TTabInfo;
|
Tabs : array of TTabInfo;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
{ TWSCustomRichMemo }
|
{ TWSCustomRichMemo }
|
||||||
|
|
||||||
TWSCustomRichMemo = class(TWSCustomMemo)
|
TWSCustomRichMemo = class(TWSCustomMemo)
|
||||||
@ -94,9 +65,9 @@ type
|
|||||||
class procedure SetTextAttributes(const AWinControl: TWinControl; TextStart, TextLen: Integer;
|
class procedure SetTextAttributes(const AWinControl: TWinControl; TextStart, TextLen: Integer;
|
||||||
const Params: TIntFontParams); virtual;
|
const Params: TIntFontParams); virtual;
|
||||||
class function GetParaAlignment(const AWinControl: TWinControl; TextStart: Integer;
|
class function GetParaAlignment(const AWinControl: TWinControl; TextStart: Integer;
|
||||||
var AAlign: Integer): Boolean; virtual;
|
var AAlign: TIntParaAlignment): Boolean; virtual;
|
||||||
class procedure SetParaAlignment(const AWinControl: TWinControl; TextStart, TextLen: Integer;
|
class procedure SetParaAlignment(const AWinControl: TWinControl; TextStart, TextLen: Integer;
|
||||||
const AAlign: Integer); virtual;
|
const AAlign: TIntParaAlignment); virtual;
|
||||||
class function GetParaMetric(const AWinControl: TWinControl; TextStart: Integer;
|
class function GetParaMetric(const AWinControl: TWinControl; TextStart: Integer;
|
||||||
var AMetric: TIntParaMetric): Boolean; virtual;
|
var AMetric: TIntParaMetric): Boolean; virtual;
|
||||||
class procedure SetParaMetric(const AWinControl: TWinControl; TextStart, TextLen: Integer;
|
class procedure SetParaMetric(const AWinControl: TWinControl; TextStart, TextLen: Integer;
|
||||||
@ -155,14 +126,15 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
class function TWSCustomRichMemo.GetParaAlignment(
|
class function TWSCustomRichMemo.GetParaAlignment(
|
||||||
const AWinControl: TWinControl; TextStart: Integer; var AAlign: Integer
|
const AWinControl: TWinControl; TextStart: Integer;
|
||||||
): Boolean;
|
var AAlign: TIntParaAlignment): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := false;
|
Result := false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
class procedure TWSCustomRichMemo.SetParaAlignment(
|
class procedure TWSCustomRichMemo.SetParaAlignment(
|
||||||
const AWinControl: TWinControl; TextStart, TextLen: Integer; const AAlign: Integer);
|
const AWinControl: TWinControl; TextStart, TextLen: Integer;
|
||||||
|
const AAlign: TIntParaAlignment);
|
||||||
begin
|
begin
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
Reference in New Issue
Block a user