12,398,537 members (57,549 online)
Rate this:
See more:
I have a OnRButtonDown function..and it will show a dialog box if the point fit with my nodes (X,Y in DOUBLE) in an Array...

```if((post.x>=nodeX[j]-5 || post.x<=nodeX[j]+5) && (post.y>=nodeY[j]-5 || post.y<=nodeY[j]+5))
```

that code doesn't works, all area i click is TRUE for it...
I want when i press left button nearby the node it'll show the dialog as well...

```if(post.x==nodeX[j] && post.y==nodeY[j])
```

Code above makes me tired to precise the pointer..
Is there any simple solution? or MFC provide a specific code for it?
Thank You
Posted 2-Jan-12 17:29pm

Rate this:

## Solution 1

Must be:
if( post.x >= nodeX[j]-5 && post.x <= nodeX[j]+5 && post.y >= nodeY[j]-5 && post.y <= nodeY[j]+5)

Why nodeX and nodeY - use POINT node[] or structure
Use PtInRect function
http://msdn.microsoft.com/en-us/library/dd162882(v=vs.85).aspx
CPallini 3-Jan-12 3:47am

Good solution and advice, my 5. Why don't you properly format posted code?
Rate this:

## Solution 2

Try this and think about the logical operators:
`if(post.x>=nodeX[j]-5 && post.x<=nodeX[j]+5 && post.y>=nodeY[j]-5 && post.y<=nodeY[j]+5)`
If you would use `int` vars, you may also create a CRect for your sensitive area and use `CRect::PtInRect()`.

Top Experts
Last 24hrsThis month
 OriginalGriff 430 ppolymorphe 340 Richard Deeming 244 Richard MacCutchan 185 Jochen Arndt 135
 OriginalGriff 6,603 ppolymorphe 2,775 Karthik Bangalore 2,587 Richard MacCutchan 2,017 F-ES Sitecore 1,977