v1.2
This commit is contained in:
59
FSI.BT.Tools/Global/DllImport/TrackPopupMenuEx.cs
Normal file
59
FSI.BT.Tools/Global/DllImport/TrackPopupMenuEx.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
// <copyright file="TrackPopupMenuEx.cs" company="PlaceholderCompany">
|
||||
// Copyright (c) PlaceholderCompany. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
namespace FSI.BT.Tools.Global.DllImports
|
||||
{
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
/// <summary>
|
||||
/// wraps the methodcalls to native windows dll's.
|
||||
/// </summary>
|
||||
public static partial class NativeMethods
|
||||
{
|
||||
/// <summary>
|
||||
/// Specifies how TrackPopupMenuEx positions the shortcut menu horizontally.
|
||||
/// </summary>
|
||||
[Flags]
|
||||
internal enum TPM : uint
|
||||
{
|
||||
LEFTBUTTON = 0x0000, // LEFTALIGN = 0x0000, // TOPALIGN = 0x0000, // HORIZONTAL = 0x0000,
|
||||
RIGHTBUTTON = 0x0002,
|
||||
CENTERALIGN = 0x0004,
|
||||
RIGHTALIGN = 0x0008,
|
||||
VCENTERALIGN = 0x0010,
|
||||
BOTTOMALIGN = 0x0020,
|
||||
VERTICAL = 0x0040,
|
||||
NONOTIFY = 0x0080,
|
||||
RETURNCMD = 0x0100,
|
||||
RECURSE = 0x0001,
|
||||
HORPOSANIMATION = 0x0400,
|
||||
HORNEGANIMATION = 0x0800,
|
||||
VERPOSANIMATION = 0x1000,
|
||||
VERNEGANIMATION = 0x2000,
|
||||
NOANIMATION = 0x4000,
|
||||
LAYOUTRTL = 0x8000,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// user32 TrackPopupMenuEx.
|
||||
/// </summary>
|
||||
/// <param name="hmenu">hmenu.</param>
|
||||
/// <param name="flags">flags.</param>
|
||||
/// <param name="x">x.</param>
|
||||
/// <param name="y">y.</param>
|
||||
/// <param name="hwnd">hwnd.</param>
|
||||
/// <param name="lptpm">lptpm.</param>
|
||||
/// <returns>uint.</returns>
|
||||
internal static uint User32TrackPopupMenuEx(IntPtr hmenu, TPM flags, int x, int y, IntPtr hwnd, IntPtr lptpm)
|
||||
{
|
||||
return TrackPopupMenuEx(hmenu, flags, x, y, hwnd, lptpm);
|
||||
}
|
||||
|
||||
// The TrackPopupMenuEx function displays a shortcut menu at the specified location and tracks the selection of items on the shortcut menu. The shortcut menu can appear anywhere on the screen.
|
||||
[DllImport("user32.dll", ExactSpelling = true, SetLastError = true, CharSet = CharSet.Unicode)]
|
||||
[DefaultDllImportSearchPaths(DllImportSearchPath.UserDirectories)]
|
||||
private static extern uint TrackPopupMenuEx(IntPtr hmenu, TPM flags, int x, int y, IntPtr hwnd, IntPtr lptpm);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user