From 3dcceaa569eeab8e0c49be3fb10ddc9876f4cb78 Mon Sep 17 00:00:00 2001 From: sekelsenmat Date: Tue, 18 Aug 2009 16:36:37 +0000 Subject: [PATCH] Fixes wince memo text change git-svn-id: trunk@21286 - --- lcl/interfaces/wince/wincememostrings.inc | 16 ++++++++++++---- lcl/interfaces/wince/wincewsstdctrls.pp | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/lcl/interfaces/wince/wincememostrings.inc b/lcl/interfaces/wince/wincememostrings.inc index 8998ebc985..2de928bbde 100644 --- a/lcl/interfaces/wince/wincememostrings.inc +++ b/lcl/interfaces/wince/wincememostrings.inc @@ -16,7 +16,7 @@ TWinCEMemoStrings = class(TStrings) function GetCount: integer; override; function Get(Index : Integer) : string; override; //procedure SetSorted(Val : boolean); virtual; - procedure SetUpdateState(Updating: Boolean); override; + procedure SetUpdateState(Updating: Boolean); override; public constructor Create(Handle: HWND; TheOwner: TWinControl); destructor Destroy; override; @@ -24,7 +24,7 @@ TWinCEMemoStrings = class(TStrings) procedure Clear; override; procedure Delete(Index : integer); override; procedure Insert(Index : integer; const S: string); override; - procedure SetText(TheText: PChar); override; + procedure SetTextStr(const Value: string); override; //procedure Sort; virtual; public //property Sorted: boolean read FSorted write SetSorted; @@ -148,9 +148,17 @@ begin end; end; -procedure TWinCEMemoStrings.SetText(TheText: PChar); +procedure TWinCEMemoStrings.SetTextStr(const Value: string); +var + Msg: TLMessage; begin - Windows.SetWindowTextW(fHandle, PWideChar(Utf8Decode(TheText))) + if (Value <> Text) then + begin + Windows.SetWindowTextW(fHandle, PWideChar(Utf8Decode(Value))); + FillChar(Msg, SizeOf(Msg), 0); + Msg.Msg := CM_TEXTCHANGED; + DeliverMessage(Owner, Msg); + end; end; {$ENDIF} diff --git a/lcl/interfaces/wince/wincewsstdctrls.pp b/lcl/interfaces/wince/wincewsstdctrls.pp index b514118eeb..8471124ede 100644 --- a/lcl/interfaces/wince/wincewsstdctrls.pp +++ b/lcl/interfaces/wince/wincewsstdctrls.pp @@ -34,7 +34,7 @@ uses {$ifdef Win32}win32compat,{$endif} // RTL, FCL, LCL SysUtils, LCLType, Classes, StdCtrls, Controls, Graphics, Forms, WinCEProc, - InterfaceBase, + InterfaceBase, LMessages, LCLMessageGlue, // Widgetset WSControls, WSStdCtrls, WSLCLClasses, WinCEInt, WinCEWSControls, WinCEExtra, WSProc;