root / trunk / Pithos.ShellExtensions / Menus / MenuItem.cs @ 4d301e8e
History | View | Annotate | Download (1.4 kB)
1 |
using System; |
---|---|
2 |
using System.Collections.Generic; |
3 |
using System.Drawing; |
4 |
using System.Linq; |
5 |
using System.Runtime.InteropServices; |
6 |
using System.Text; |
7 |
using Pithos.ShellExtensions.Properties; |
8 |
|
9 |
namespace Pithos.ShellExtensions.Menus |
10 |
{ |
11 |
internal class MenuItem |
12 |
{ |
13 |
public string MenuText { get; set; } |
14 |
public string Verb { get; set; } |
15 |
public string VerbCanonicalName { get; set; } |
16 |
public string VerbHelpText { get; set; } |
17 |
public uint MenuDisplayId { get; set; } |
18 |
public Action<IntPtr> MenuCommand { get; set; } |
19 |
public DisplayFlags DisplayFlags { get; set; } |
20 |
public IntPtr MenuBitmap{ get; set; } |
21 |
|
22 |
public MENUITEMINFO CreateInfo(uint idCmdFirst) |
23 |
{ |
24 |
var mii = new MENUITEMINFO(); |
25 |
mii.cbSize = (uint)Marshal.SizeOf(mii); |
26 |
mii.fMask = MIIM.MIIM_BITMAP| MIIM.MIIM_STRING | MIIM.MIIM_FTYPE | MIIM.MIIM_ID | MIIM.MIIM_STATE; |
27 |
//mii.fMask = MIIM.MIIM_ID | MIIM.MIIM_TYPE | MIIM.MIIM_STATE; |
28 |
mii.wID = idCmdFirst + MenuDisplayId; |
29 |
mii.fType = MFT.MFT_STRING; |
30 |
mii.dwTypeData = MenuText; |
31 |
mii.fState = MFS.MFS_ENABLED; |
32 |
|
33 |
if (MenuBitmap != IntPtr.Zero) |
34 |
{ |
35 |
mii.fMask|= MIIM.MIIM_BITMAP; |
36 |
mii.hbmpItem = MenuBitmap; |
37 |
} |
38 |
|
39 |
return mii; |
40 |
} |
41 |
} |
42 |
} |