Click here to Skip to main content
Sign Up to vote bad
good
See more: C++MFCWTL
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 * /*pfnContinue*/)(DWORD_PTR dwContinue),DWORD_PTR /*dwContinue*/)
	{
		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.
Posted 7-Jan-13 21:04pm


This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Your Filters
Interested
Ignored
     
0 Sergey Alexandrovich Kryukov 6,959
1 Prasad_Kulkarni 3,689
2 OriginalGriff 3,402
3 _Amy 3,332
4 CPallini 2,950


Advertise | Privacy | Mobile
Web04 | 2.6.130617.1 | Last Updated 8 Jan 2013
Copyright © CodeProject, 1999-2013
All Rights Reserved. Terms of Use
Layout: fixed | fluid