Dropping into a Form View exposes an ILxFormEntryDest object describing what is under the mouse. Synthetics are also supported in certain contexts.
FormHash(LXtObjectID self, const char **hash)¶
The hash of form containing the control that was dropped on is returned by this method. It is important to note that in some cases this may be NULL.
ControlHash(LXtObjectID self, const char **hash)¶
This returns the hash of the control under the mouse, or the closest one that can be reasonably dropped on. For example, if the control is synthetic, then the drop location will be between the the control that defined the Form Command List and the one following it. Note that since some controls can be represented by forms (popover forms, popup forms, etc), the control hash may be a form hash.
If the control is a synthetic, then this returns the index of the synthetic. It returns NOTAVAILABLE if the control isn’t synthetic. There are certain kinds of synthetics, which can be tested with these macros. If IS_INDEX() is true, then the value can be used directly as an index into the source’s synthetic child list. The other cases represent specific special controls, like subtext.
This returns the position of the drop within the control as a combination of the following defines. These defines match the COMPDROPPOS defines in comp.qq; we just give them SDK-friendly names here.
This sets the hash of the control (which may be a form, for controls that are built from forms) that the marker should be associated with, as well as the position relative to the control itself. The EXTENT defines can be combined with the position flag to span the entire pane instead of just the bounds of the control. The syntheticIndex argument is used only when the hash resolves to a Also copied from the COMPDROPPOS defines in comp.qq and given SDK-friendly names.
The preview interface allows the drop point to be marked within the pane.
This very simple interface exists simply to indicate that the drop is in a place that can support deleting form entries.