【发布时间】:2010-10-30 08:46:34
【问题描述】:
我想在 windows mobile 中扩展联系人上下文菜单。当用户右键单击具有拨号和其他功能的联系人时,我想扩展并添加我自己的项目以执行我的自定义程序左右。
【问题讨论】:
标签: windows-mobile compact-framework opennetcf
我想在 windows mobile 中扩展联系人上下文菜单。当用户右键单击具有拨号和其他功能的联系人时,我想扩展并添加我自己的项目以执行我的自定义程序左右。
【问题讨论】:
标签: windows-mobile compact-framework opennetcf
如果你安装Windows Mobile 5 SDK,你会发现一些相关的示例:
C:\Program Files\Windows Mobile 5.0 SDK\Samples\Pocket PC\CPP\Win32
【讨论】:
我在这里找到了另一个example 我认为这应该适合你
// 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));
}
【讨论】: