Вставил в RichEdit картинки с помощью модуля re_bmp. Как отследить событие нажания мыши по рисункам? Отмечу, что сейчас при клике эти рисунки выделяются (рамочка появляется). Я понимаю, что вероятнее всего это необходимо делать в обработчике OnClick самого RichEdit-a, но как понять, что под курсором именно картинка? Пробовал анализировать содержимое по RichEdit1MouseMove с помощью Perform, но удалось лишь выцепить номер строки и номер символа. А как узнать, что там именно картинка?
Вот немного раскапал. Пока удалось раздобыть количество картинок в RichEdite, но как определить, который из них кликнут мышью? Вот код:
Код:
type
TReobject = record
cbStruct: DWORD;
cp: ULONG;
clsid: TCLSID;
poleobj: IOleObject;
pstg: IStorage;
polesite: IOleClientSite;
sizel: TSize;
dvAspect: Longint;
dwFlags: DWORD;
dwUser: DWORD;
end;
...
Function ItBmp(hWnd:HWND) :integer;
var IREO:IRichEditOle;
ReObject:TReObject;
Count:Integer;
Position:LongInt;
begin
Count:=0;
// получить IrichEditOle интерфейс
SendMessage(hWnd, EM_GETOLEINTERFACE, 0, Longint(@IREO));
Count:=IREO.GetObjectCount; // число оле объектов в т.ч. картинок
ZeroMemory(@ReObject,SizeOf(ReObject));
ReObject.cbStruct := SizeOf(ReObject);
if Succeeded(IREO.GetObject(0, ReObject, $00000001)) then
// если удается получить первый объект
begin
Result:=Count;
IREO.????
end;
end;
Какой метод применить, чтобы узнать, выделен ли он, или находится ли над ним курсор мыши? Или как получить координаты этого рисунка из его свойств (струкруты TReObject)?