Расширение контекстного меню в Windows Mobile Contact - PullRequest
1 голос
/ 01 июня 2009

Я хочу расширить контактное контекстное меню в Windows Mobile. когда пользователь щелкает правой кнопкой мыши по контакту с набором номера и другими функциями, я хочу расширить и добавить свой собственный элемент для выполнения своей пользовательской программы или около того.

Ответы [ 2 ]

3 голосов
/ 01 июня 2009

Если вы установите Windows Mobile 5 SDK , вы найдете несколько примеров:

C: \ Program Files \ Windows Mobile 5.0 SDK \ Samples \ Pocket PC \ CPP \ Win32

  • Callingcard
  • InboxMenuExtensibility
  • ReadViewMenuExt
1 голос
/ 03 января 2010

я нашел другой пример здесь я думаю, что это должно работать для вас

// 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));

}
...