MCPcopy Create free account
hub / github.com/ProgerXP/Notepad2e / DirList_PropertyDlg

Function DirList_PropertyDlg

src/Dlapi.c:816–877  ·  view source on GitHub ↗

============================================================================= DirList_PropertyDlg() Shows standard Win95 Property Dlg for selected Item

Source from the content-addressed store, hash-verified

814// Shows standard Win95 Property Dlg for selected Item
815//
816BOOL DirList_PropertyDlg(HWND hwnd,int iItem)
817{
818
819 LV_ITEM lvi;
820 LPLV_ITEMDATA lplvid;
821 LPCONTEXTMENU lpcm;
822 CMINVOKECOMMANDINFO cmi;
823 BOOL bSuccess = TRUE;
824
825 static const char *lpVerb = "properties";
826
827 if (iItem == -1)
828 {
829 if (ListView_GetSelectedCount(hwnd))
830 iItem = ListView_GetNextItem(hwnd,-1,LVNI_ALL | LVNI_SELECTED);
831
832 else
833 return FALSE;
834 }
835
836 lvi.mask = LVIF_PARAM;
837 lvi.iItem = iItem;
838 lvi.iSubItem = 0;
839
840 if (!ListView_GetItem(hwnd,&lvi))
841 return FALSE;
842
843 lplvid = (LPLV_ITEMDATA)lvi.lParam;
844
845 if (NOERROR == lplvid->lpsf->lpVtbl->GetUIObjectOf(
846 lplvid->lpsf,
847 GetParent(hwnd), // Owner
848 1, // Number of objects
849 &lplvid->pidl, // pidl
850 &IID_IContextMenu,
851 NULL,
852 &lpcm))
853 {
854
855 cmi.cbSize = sizeof(CMINVOKECOMMANDINFO);
856 cmi.fMask = 0;
857 cmi.hwnd = GetParent(hwnd);
858 cmi.lpVerb = lpVerb;
859 cmi.lpParameters = NULL;
860 cmi.lpDirectory = NULL;
861 cmi.nShow = SW_SHOWNORMAL;
862 cmi.dwHotKey = 0;
863 cmi.hIcon = NULL;
864
865 if (NOERROR != lpcm->lpVtbl->InvokeCommand(lpcm,&cmi))
866 bSuccess = FALSE;
867
868 lpcm->lpVtbl->Release(lpcm);
869
870 }
871
872 else
873 bSuccess = FALSE;

Callers

nothing calls this directly

Calls 1

ReleaseMethod · 0.45

Tested by

no test coverage detected