LPIDENT IdentifyPoint (HWND hTarget, POINT ptClient, HLISTITEM *phItemTarget) { if ((*phItemTarget = FastList_ItemFromPoint (hTarget, &ptClient, TRUE)) == NULL) return NULL; return (LPIDENT)FL_GetData (hTarget, *phItemTarget); }
void Aggregates_ShowPopupMenu (HWND hList, POINT ptList, POINT ptScreen) { if (!ptScreen.x && !ptScreen.y) { RECT rWindow; GetWindowRect (hList, &rWindow); ptScreen.x = rWindow.left + (rWindow.right -rWindow.left)/2; ptScreen.y = rWindow.top + (rWindow.bottom -rWindow.top)/2; Aggregates_ShowParticularPopupMenu (hList, ptScreen, NULL); } else if (FL_HitTestForHeaderBar (hList, ptList)) { HMENU hm = TaLocale_LoadMenu (MENU_COLUMNS); DisplayContextMenu (hm, ptScreen, hList); } else { LPIDENT lpiSelected = NULL; HLISTITEM hItem; if ((hItem = FastList_ItemFromPoint (hList, &ptList, TRUE)) != NULL) lpiSelected = (LPIDENT)FastList_GetItemParam (hList, hItem); if (lpiSelected && (lpiSelected != (LPIDENT)FL_GetSelectedData (hList))) lpiSelected = NULL; if (lpiSelected && lpiSelected->fIsServer()) Server_ShowParticularPopupMenu (hList, ptScreen, lpiSelected); else Aggregates_ShowParticularPopupMenu (hList, ptScreen, lpiSelected); } }
LPIDENT Filesets_GetFocused (HWND hDlg, POINT *pptHitTest) { HWND hList = GetDlgItem (hDlg, IDC_SET_LIST); if (pptHitTest == NULL) { return (LPIDENT)FL_GetFocusedData (hList); } HLISTITEM hItem; if ((hItem = FastList_ItemFromPoint (hList, pptHitTest, TRUE)) != NULL) { return (LPIDENT)FL_GetData (hList, hItem); } return NULL; }