version 2003
PA_TableAndFieldPopup (x; y; tNum; fNum)
| Parameter | Type | Description | |
| x | short | Global horizontal coordinate of pop-up top left corner | |
| y | short | Global vertical coordinate of pop-up top left corner | |
| tNum | short * | Table number of selected Table | |
| fNum | short * | Field number of selected Field |
Description
The routine PA_TableAndFieldPopup draws a hierarchical pop-up menu built with all tables and their fields names. If the user chooses a field name, tNum and fNum are set to those table and field numbers. If the user makes no choice (he releases the mouse out of the pop-up menu), tNum and fNum are set to 0.
The x and y coordinates are relative to the main screen, or the MDI window.
Usually, this call is made from an object which launch its method when the mouse is down on it (but it is the On mouse up event that is sent to the method), such as invisible buttons, arrays, hierarchical list.
This routine uses the virtual structure if it is on (PA_UseVirtualStructure).
Example
The routine is declared as xx_PopupTableAndFields(1I;&I;&I&;I) in the STR# resource (this is done for you by the Plug-in Wizard)
In your PluginMain routine:
void PluginMain( long selector, PA_PluginParameters params )
{
switch ( selector )
{
case kInitPlugin :
/* . . . code . . . */
case kPopupTablesAndFields :
PA_TableAndFieldPopup(
PA_GetShortParameter(params, 1), // horizontal global
PA_GetShortParameter(params, 2), // vertical global
( ( (short**) params->fParameters ) [ 2 ] ),
( ( (short**) params->fParameters ) [ 3 ] ) );
break;
} // switch (selector)
}
The method object of an invisible button:
If( Form event = On mouse up) GET MOUSE ($x;$y;$button;*) ` * to get globals coordinates xx_PopupTableAndFields ($x;$y;$t;$f) If( ($t # 0) & ($f # 0) ) ` Do something for this field End if End if
See Also
Error Handling
Use PA_GetLastError to see if an error occurred.