Hello Greg,
Yes, it's true that the size passed to the event callback corresponds to the outer size of the window whereas GetPanelAttribute returns the inner size. The reason for the inconsistency is because with the default Windows setting of "Show window contents while dragging" enabled, if you call GetPanelAttribute from within the EVENT_PANEL_SIZING event, you can get the updated interior size of the panel. So the fact that eventData2 gives you the outer size provides you with some additional information that you can use, if for example, you wanted to limit the sizing based on screen constraints. Also, this is the size that the user is directly controlling during the sizing operation, so it makes more sense for it to be associated with the event.
But I acknowledge that it's inconsistent, and I definitely acknowledge that the documentation for the event does not mention this, which is a problem. The help needs to state this explicitly.
If you can't use GetPanelAttribute to obtain the updated interior size in the callback (because "Show window contents while dragging" is disabled?), then your only solution, short of calling an SDK function, is to note the difference between the two dimensions the first time that the event is sent to the callback. You can assume that these height and width offsets are the same throughout the life of the panel, in which case you can simply subtract them from the sizes returned by GetPanelEventRect.
Unfortunately there is no good programmatic way in CVI of getting the titlebar height and the frame thickness of top-level panels. The ATTR_TITLEBAR_THICKNESS and ATTR_FRAME_THICKNESS attributes are only valid for child panels. We will be addressing this in a future version of CVI. Thanks for the useful suggestion!
Luis