using System; using System.Text; using System.Drawing; using System.Runtime.InteropServices; namespace ryControls.Win32API { internal partial class User32 { #region Struct #region Tab Control Notification Structures //[StructLayout(LayoutKind.Sequential)] //internal struct NMHDR //{ // public IntPtr HWND; // public uint idFrom; // public int code; // public override string ToString() // { // return String.Format("Hwnd: {0}, ControlID: {1}, Code: {2}", HWND, idFrom, code); // } //} ///// ///// From MSDN, Contains information about a key press in a tab control. It is used with the TCN_KEYDOWN notification message. This structure supersedes the TC_KEYDOWN structure. ///// //[StructLayout(LayoutKind.Sequential)] //internal struct NMTCKEYDOWN //{ // /// // /// NMHDR structure that contains information about the notification message. // /// // public NMHDR hdr; // /// // /// Virtual key code. // /// // public VirtualKeys wVKey; // /// // /// Value that is identical to the lParam parameter of the WM_KEYDOWN message. // /// // public uint flags; // public override string ToString() // { // return String.Format("NMHDR: [{0}], Key codes: [{1}], the lParam parameter of the WM_KEYDOWN: [{2}]", hdr, wVKey, flags); // } //} #endregion [StructLayout(LayoutKind.Sequential)] internal struct TCHITTESTINFO { public Point pt; public TabControlHitTest flags; public TCHITTESTINFO(TabControlHitTest hitTest) : this() { flags = hitTest; } public TCHITTESTINFO(Point point, TabControlHitTest hitTest) : this(hitTest) { pt = point; } public TCHITTESTINFO(int x, int y, TabControlHitTest hitTest) : this(hitTest) { pt = new Point(x, y); } } #endregion #region UnmanagedMethods [DllImport("user32", CharSet = CharSet.Auto)] internal static extern int SendMessage( IntPtr hwnd, int tMsg, IntPtr wParam, ref TCHITTESTINFO lParam); #endregion } }