diff --git a/Controls/DW.RichEdit.Win.pas b/Controls/DW.RichEdit.Win.pas index 0e75873..62edcb7 100644 --- a/Controls/DW.RichEdit.Win.pas +++ b/Controls/DW.RichEdit.Win.pas @@ -36,11 +36,13 @@ TWinNativeRichEdit = class(TWinNativeMemo) private FConverter: TConversion; FModel: TCustomRichEditModel; + procedure ColorChanged; function GetRichEdit: TCustomRichEdit; procedure LoadFromStream(const AStream: TStream; AEncoding: TEncoding); procedure LoadFromStreamHandler(Sender: TObject; const AStream: TStream; const AEncoding: TEncoding); function PlainText: Boolean; protected + procedure CreateHandle; override; procedure CreateParams(var Params: TCreateParams); override; function DefineModelClass: TDataModelClass; override; procedure PMRichEditColorChanged(var Message: TDispatchMessage); message PM_RICHEDIT_COLOR_CHANGED; @@ -287,6 +289,12 @@ procedure TWinNativeRichEdit.DefaultHandler(var Message); inherited DefaultHandler(Message); end; +procedure TWinNativeRichEdit.CreateHandle; +begin + inherited; + ColorChanged; +end; + procedure TWinNativeRichEdit.CreateParams(var Params: TCreateParams); const RichEditClassName = 'RICHEDIT20W'; @@ -322,6 +330,11 @@ function TWinNativeRichEdit.PlainText: Boolean; end; procedure TWinNativeRichEdit.PMRichEditColorChanged(var Message: TDispatchMessage); +begin + ColorChanged; +end; + +procedure TWinNativeRichEdit.ColorChanged; begin SendMessage(Handle, EM_SETBKGNDCOLOR, 0, TAlphaColors.ColorToRGB(RichEdit.Color)); end; diff --git a/Controls/DW.RichEdit.pas b/Controls/DW.RichEdit.pas index e47fb33..3690e6b 100644 --- a/Controls/DW.RichEdit.pas +++ b/Controls/DW.RichEdit.pas @@ -164,6 +164,7 @@ procedure TCustomRichEditModel.LoadFromStream(const AStream: TStream; const AEnc constructor TCustomRichEdit.Create(AOwner: TComponent); begin + FColor := TAlphaColors.White; inherited; ControlType := TControlType.Platform; end;