mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-04 17:59:33 +01:00
win32: avoid redundant call for GetRealCount and GetLineStart in TWin32MemoStrings.Insert
git-svn-id: trunk@53294 -
This commit is contained in:
parent
d99fe899e7
commit
f43e1bfde6
@ -140,24 +140,25 @@ end;
|
|||||||
|
|
||||||
procedure TWin32MemoStrings.Insert(Index: integer; const S: string);
|
procedure TWin32MemoStrings.Insert(Index: integer; const S: string);
|
||||||
var
|
var
|
||||||
LineStart: Integer;
|
LineStart, RealCount: Integer;
|
||||||
NewLine: String;
|
NewLine: String;
|
||||||
begin
|
begin
|
||||||
LineStart := GetLineStart(Index);
|
RealCount := GetRealCount;
|
||||||
if Index < GetRealCount then
|
if Index < RealCount then
|
||||||
begin
|
begin
|
||||||
//insert with LineEnding
|
//insert with LineEnding
|
||||||
LineStart := GetLineStart(Index);
|
LineStart := GetLineStart(Index);
|
||||||
NewLine := S+LineEnding;
|
NewLine := S+LineEnding;
|
||||||
SendMessageW(FHandle, EM_SETSEL, LineStart, LineStart);
|
SendMessageW(FHandle, EM_SETSEL, LineStart, LineStart);
|
||||||
SendMessageW(FHandle, EM_REPLACESEL, 0, lparam(PWideChar(UTF8ToUTF16(NewLine))))
|
SendMessageW(FHandle, EM_REPLACESEL, 0, lparam(PWideChar(UTF8ToUTF16(NewLine))));
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
//append with a preceding LineEnding
|
//append with a preceding LineEnding
|
||||||
LineStart := GetLineStart(Index-1)+GetLineLength(Index-1);
|
LineStart := GetLineStart(Index-1)+GetLineLength(Index-1);
|
||||||
SendMessageW(FHandle, EM_SETSEL, LineStart, LineStart);
|
SendMessageW(FHandle, EM_SETSEL, LineStart, LineStart);
|
||||||
if GetRealCount = Count then
|
//check if last line is empty
|
||||||
|
if Get(RealCount - 1) <> '' then
|
||||||
NewLine := LineEnding+S+LineEnding
|
NewLine := LineEnding+S+LineEnding
|
||||||
else
|
else
|
||||||
NewLine := S+LineEnding;
|
NewLine := S+LineEnding;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user