AnsweredAssumed Answered

Display.Invalidate on a point not showing entire point

Question asked by iifuzz on Jun 1, 2017

Sorry for my lack of terminology here as I am new to ArcGIS and ArcObjects.

I have managed to create a point feature and plot it as so:

IFeature feature = layerFeatureClass.CreateFeature();

IPoint p = world;
feature.Shape = p;
currentTemplate.SetDefaultValues(feature);
feature.Store();

//Invalidate the area around the new feature

editor.Display.Invalidate(feature.Extent, true, (short)esriScreenCache.esriAllScreenCaches);

 

However, the point is rendered very small in arcmap until I cause a full refresh, then it draws it as it should.

Looking at the feature extent, the width and height is 0, which makes sense since it is a point, but I am wondering if this should be higher for the redraw since the point being plotted is not a single pixel?

 

If I change it to

editor.Display.Invalidate(null, true, (short)esriScreenCache.esriAllScreenCaches);

The point renders properly, but I am properly redrawing a lot of features that don't need redrawn in the process.

 

Here is an image of whats happening

Imgur: The most awesome images on the Internet 

 

Outcomes