Search code examples
windows-mobilecompact-frameworkopennetcf

extending context menu in windows Mobile Contact


i want to extend contact context menu in windows mobile. when a user right clicks on a contact with dial and other feature i want to extend and add my own item to execute my custom program or so.


Solution

  • i found another example here i think this should work for you

    // Initialize the below code snippet in the beginning of the class
    internal struct SHRGINFO
    {
    public int cbSize;
    public IntPtr hwndClient;
    public int ptDownX;
    public int ptDownY;
    public SHRGFLags dwFlags;
    }
    
    [Flags]
    internal enum SHRGFLags
    {
    SHRG_RETURNCMD = 0x00000001,
    SHRG_NOTIFYPARENT = 0x00000002,
    SHRG_LONGDELAY = 0x00000008,
    SHRG_NOANIMATION = 0x00000010,
    }
    [DllImport("aygshell")]
    extern private static int SHRecognizeGesture(ref SHRGINFO shr);
    
    [DllImport("coredll.dll", SetLastError = true)]
    public static extern IntPtr GetActiveWindow();
    
    
    //call the showContMenu() method in Mouseup or MouseDown event
    public void showContMenu(int x, int y)
    {
    SHRGINFO shr = new SHRGINFO();
    shr.cbSize = Marshal.SizeOf(typeof(SHRGINFO));
    shr.dwFlags = SHRGFLags.SHRG_RETURNCMD;
    shr.ptDownX = x;
    shr.ptDownY = y;
    shr.hwndClient = GetActiveWindow();
    
    int ret = SHRecognizeGesture(ref shr);
    
    if (ret == 1000)
    contextMenu1.Show(this, new System.Drawing.Point(x, y));
    
    }