hi
Recently, I have a question.
i want to do something when i click a ole in a richedit,but i find that i can not get the accurate position of ole.
Now,one way to get the position like this.
the "rcLastUpdate" is the i am using.
sometimes,it is not accurate,when the ole is not visible.
STDMETHOD(Draw)(DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDev, HDC hdcDraw,
LPCRECTL prcBounds, LPCRECTL prcWBounds,
BOOL (__stdcall * )(DWORD_PTR dwContinue),DWORD_PTR )
{
if (prcBounds != NULL)
{
m_rcLastUpdate.left = prcBounds->left + 1;
m_rcLastUpdate.top = prcBounds->top + 1;
m_rcLastUpdate.right = prcBounds->right - 1;
m_rcLastUpdate.bottom = prcBounds->bottom - 1;
}
IViewObject_Draw(dwDrawAspect, lindex, pvAspect, ptd, hicTargetDev, hdcDraw,
prcBounds, prcWBounds);
return 0;
}
another way is that use "posfromchar()".
POINT posLeftBottom={PosFromChar(CPN).x, PosFromChar(CPN1).y }
cpn: the index of the ole .
CPN1: a char in the next line.
then i can get the position of the ole.
i think there must be a better solution.
so i want to know, how can i get the accurate position of ole?
thanks, recently asked more questions。 hoho,have more i should to learn.