richmemo: allow selectchange event win32

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3807 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
skalogryz 2014-11-28 20:33:46 +00:00
parent 385b0e79ab
commit 88e2799ba5

View File

@ -249,33 +249,21 @@ end;
class procedure TWin32WSCustomRichMemo.SetSelStart(const ACustomEdit: TCustomEdit; NewStart: integer);
var
range : Tcharrange;
eventmask : LParam;
begin
eventmask := SendMessage(ACustomEdit.Handle, EM_GETEVENTMASK, 0, 0);
SendMessage(ACustomEdit.Handle, EM_SETEVENTMASK, 0, 0);
range.cpMin := NewStart;
range.cpMax := NewStart;
SendMessage(ACustomEdit.Handle, EM_EXSETSEL, 0, LPARAM(@range));
InvalidateRect(ACustomEdit.Handle, nil, false);
SendMessage(ACustomEdit.Handle, EM_SETEVENTMASK, 0, eventmask);
end;
class procedure TWin32WSCustomRichMemo.SetSelLength(const ACustomEdit: TCustomEdit; NewLength: integer);
var
range : Tcharrange;
eventmask : LParam;
begin
eventmask := SendMessage(ACustomEdit.Handle, EM_GETEVENTMASK, 0, 0);
SendMessage(ACustomEdit.Handle, EM_SETEVENTMASK, 0, 0);
SendMessage(ACustomEdit.Handle, EM_EXGETSEL, 0, LPARAM(@range));
range.cpMax := range.cpMin + NewLength;
SendMessage(ACustomEdit.Handle, EM_EXSETSEL, 0, LPARAM(@range));
InvalidateRect(ACustomEdit.Handle, nil, false);
SendMessage(ACustomEdit.Handle, EM_SETEVENTMASK, 0, eventmask);
end;
class procedure TWin32WSCustomRichMemo.CutToClipboard(const AWinControl: TWinControl);