Jump to content
Software FX Community
hminky

MouseMove event and HitTest with Annotation in VC++

Recommended Posts

Dear,

1. Could you show me C++ sample code how to use mousemove event and hittest with annotation ?I tested my sample code, but not works.I can't catch mouse event when annontation object is under the mouse.

I guess the mouse event is going to annotation object, but how can I catch it?

2. how to use SelectList

Cfx62Annotation::_AnnotationXPtr m_AnnotationPtr;m_AnnotationPtr.CreateInstance(__uuidof(Cfx62Annotation::AnnotationX));

VARIANT varExtension;V_VT(&varExtension) = VT_DISPATCH;V_DISPATCH(&varExtension) = m_AnnotationPtr;m_chartPtr->Extensions->Add(varExtension);

_AnnotationListBasePtr annotationPtr = m_AnnotationPtr->SelectionList;if(annotationPtr) {//annotation object is selected}else{//annotation object is not selected}

In above code,I think, I can get current annotation selectlist.but, even if there is no annotation object, SelectionList is not null.

How do I know any annotation is selected?SelectionList is _AnnotationListBasePtr and has no method, property.

Share this post


Link to post
Share on other sites

You can implement the MouseMove Event as follows:

void C_AnnotationCircleDlg::OnMouseMoveChart1(LPDISPATCH sender, LPDISPATCH args)

{

 // TODO: Add your control notification handler code here

 _MouseEventArgsXPtr myArgs = (_MouseEventArgsXPtr)args;

 _AnnotationXPtr annotX = annot;

 if ( annotX != NULL )

 {

_AnnotationObjectPtr pObj;

pObj = annotX->HitTest( myArgs->X, myArgs->Y );

if ( pObj != NULL )

{

 _GUID iid = __uuidof(_AnnotationCircle);

 IUnknown ** ptr = NULL;

 HRESULT hr;

 hr = pObj->QueryInterface(iid, (void **)&ptr);

 if ( !FAILED(hr) )

 {

text->Visible = true;

 }

}

 }

 myArgs->Handled = true;

 

}

Please note that the above will work only if you have the annot->Enabled property set to "false".

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...