Faking out the clickItemXY command by manually calculating in the offset is a non-option.
May I ask why?
I have a Delphi custom tree control and I have to work out the co-ordinates of the checkboxes to use it properly. The custom code (in the tree control) looks for a click on the tree object (NOT the node, the parent tree object) and it's this click that triggers the custom code (which triggers checks up and down the tree for partial selections of a full node).
To do this, I have to find the node, grab it's "RECT" (from memory) property. This contains left/right/top/bottom co-ordinates (sub properties) which give me the relative co-ordinates to apply the click to the tree object. The Node object does not have a "Click" method (also going by memory here) so I have to do it this way.
Same with some grids.
It's not nice I admit. But there is, literally, no other way to do it. As long as you are in control of the co-ordinates (which you can be) then they are OK as a last resort.
Also - the recorded clicks with co-ordinates, I'm not sure what their position is relative to? The parent object, the screen, not sure? But the point is, are you 100% certain the application opens in exactly the same position, at exactly the same size, when you open it via your test? (Again, position and sizing is something I control in my scripts for exactly such occasions.)
And if someone runs your test on a machine with a different monitor, or at a different resolution (or anything else that alters the scaling), is it not doomed to failure with hard-coded co-ordinates? At least if you calculate them properly in script a resolution change will not break your test. (If you set it up right.)