annotate kdiff3/src/kreplacements/ShellContextMenu.h @ 69:8febbfb1148c

KDiff3 0.9.89
author joachim99
date Mon, 10 Apr 2006 08:40:51 +0000
parents
children 5bbfe4784324 1184fc843210
rev   line source
joachim99@69 1 // ShellContextMenu.h: Schnittstelle für die Klasse CShellContextMenu.
joachim99@69 2 //
joachim99@69 3 //////////////////////////////////////////////////////////////////////
joachim99@69 4
joachim99@69 5 #ifndef SHELLCONTEXTMENU_H
joachim99@69 6 #define SHELLCONTEXTMENU_H
joachim99@69 7
joachim99@69 8 /////////////////////////////////////////////////////////////////////
joachim99@69 9 // class to show shell contextmenu of files/folders/shell objects
joachim99@69 10 // developed by R. Engels 2003
joachim99@69 11 /////////////////////////////////////////////////////////////////////
joachim99@69 12
joachim99@69 13 class CShellContextMenu
joachim99@69 14 {
joachim99@69 15 public:
joachim99@69 16 HMENU GetMenu ();
joachim99@69 17 void SetObjects (IShellFolder * psfFolder, LPITEMIDLIST pidlItem);
joachim99@69 18 void SetObjects (IShellFolder * psfFolder, LPITEMIDLIST * pidlArray, int nItemCount);
joachim99@69 19 void SetObjects (LPITEMIDLIST pidl);
joachim99@69 20 void SetObjects (const QString& strObject);
joachim99@69 21 void SetObjects (const QStringList& strList);
joachim99@69 22 UINT ShowContextMenu (QWidget* pParent, QPoint pt, QPopupMenu* pMenu);
joachim99@69 23 CShellContextMenu();
joachim99@69 24 virtual ~CShellContextMenu();
joachim99@69 25
joachim99@69 26 private:
joachim99@69 27 int nItems;
joachim99@69 28 BOOL bDelete;
joachim99@69 29 HMENU m_hMenu;
joachim99@69 30 IShellFolder * m_psfFolder;
joachim99@69 31 LPITEMIDLIST * m_pidlArray;
joachim99@69 32
joachim99@69 33 void InvokeCommand (LPCONTEXTMENU pContextMenu, UINT idCommand);
joachim99@69 34 BOOL GetContextMenu (void ** ppContextMenu, int & iMenuType);
joachim99@69 35 HRESULT SHBindToParentEx (LPCITEMIDLIST pidl, REFIID riid, VOID **ppv, LPCITEMIDLIST *ppidlLast);
joachim99@69 36 static LRESULT CALLBACK HookWndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
joachim99@69 37 void FreePIDLArray (LPITEMIDLIST * pidlArray);
joachim99@69 38 LPITEMIDLIST CopyPIDL (LPCITEMIDLIST pidl, int cb = -1);
joachim99@69 39 UINT GetPIDLSize (LPCITEMIDLIST pidl);
joachim99@69 40 LPBYTE GetPIDLPos (LPCITEMIDLIST pidl, int nPos);
joachim99@69 41 int GetPIDLCount (LPCITEMIDLIST pidl);
joachim99@69 42 };
joachim99@69 43
joachim99@69 44 #endif