void Services_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; Services_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)FL_GetData (hList, hItem); if (lpiSelected && (lpiSelected != (LPIDENT)FL_GetSelectedData (hList))) lpiSelected = NULL; if (lpiSelected && lpiSelected->fIsServer()) Server_ShowParticularPopupMenu (hList, ptScreen, lpiSelected); else Services_ShowParticularPopupMenu (hList, ptScreen, lpiSelected); } }
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 Server_Hosts_OnDelEntry (HWND hDlg, LPSVR_HOSTS_PARAMS lpp) { HWND hList = GetDlgItem (hDlg, IDC_HOST_LIST); FL_StartChange (hList, FALSE); HLISTITEM hItem; while ((hItem = FastList_FindFirstSelected (hList)) != NULL) { size_t iEntry = (size_t)FL_GetData (hList, hItem); AfsClass_HostList_DelEntry (lpp->lpList, iEntry); FastList_RemoveItem (hList, hItem); } FL_EndChange (hList); }
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; }