⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 apisstructs.cs

📁 树形列表控件
💻 CS
📖 第 1 页 / 共 2 页
字号:
				{
					try
					{
						return uOldState >= 0x1000 ? ((uOldState & (uint)APIsEnums.ListViewItemStates.STATEIMAGEMASK) >> 12) - 1 > 0 : false;
					}
					catch
					{
						return false;
					}
				}
			}
			public bool NewFocused
			{
				get
				{
					return ((APIsEnums.ListViewItemStates)uNewState & APIsEnums.ListViewItemStates.FOCUSED) == APIsEnums.ListViewItemStates.FOCUSED;
				}
			}
			public bool OldFocused
			{
				get
				{
					return ((APIsEnums.ListViewItemStates)uOldState & APIsEnums.ListViewItemStates.FOCUSED) == APIsEnums.ListViewItemStates.FOCUSED;
				}
			}
			public bool Select
			{
				get
				{
					return !OldSelected && NewSelected;
				}
			}
			public bool UnSelect
			{
				get
				{
					return OldSelected && !NewSelected;
				}
			}
			public bool Focus
			{
				get
				{
					return !OldFocused && NewFocused;
				}
			}
			public bool UnFocus
			{
				get
				{
					return OldFocused && !NewFocused;
				}
			}
			public bool Check
			{
				get
				{
					return !OldCheck && NewCheck;
				}
			}
			public bool UnCheck
			{
				get
				{
					return OldCheck && !NewCheck;
				}
			}
		}
		#endregion
		#region HDITEM
		[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
		public struct HDITEM
		{
			public	APIsEnums.HeaderItemFlags mask;
			public	int     cxy;
			public	IntPtr  pszText;
			public	IntPtr  hbm;
			public	int     cchTextMax;
			public	int     fmt;
			public	int     lParam;
			public	int     iImage;      
			public	int     iOrder;
		}	
		#endregion
		#region HD_HITTESTINFO
		[StructLayout(LayoutKind.Sequential)]
			public struct HD_HITTESTINFO 
		{  
			public POINTAPI pt;  
			public APIsEnums.HeaderControlHitTestFlags flags; 
			public int iItem; 
		}
		#endregion

		#region POINTAPI
		[StructLayoutAttribute(LayoutKind.Sequential)]
		public struct POINTAPI
		{
			public POINTAPI(System.Drawing.Point p) {x = p.X; y = p.Y;}
			public POINTAPI(Int32 X, Int32 Y) {x = X; y = Y;}
			public Int32 x;
			public Int32 y;
		}
		#endregion
		#region RECT
		[StructLayout(LayoutKind.Sequential)]
		public struct RECT
		{
			public RECT(Drawing.Rectangle rectangle)
			{	left = rectangle.Left; top = rectangle.Top;
				right = rectangle.Right; bottom = rectangle.Bottom;}
			public int left;
			public int top;
			public int right;
			public int bottom;
		}
		#endregion
		#region SIZE
		[StructLayout(LayoutKind.Sequential)]
		public struct SIZE
		{
			public int cx;
			public int cy;
		}
		#endregion

		#region NMHDR
//		[StructLayout(LayoutKind.Sequential)]
			public struct NMHDR
		{
			public IntPtr hwndFrom;
			public int idFrom;
			public int code;
		}
		#endregion
		#region NMCUSTOMDRAW
		[StructLayout(LayoutKind.Sequential)]
		public struct NMCUSTOMDRAW
		{
			public NMHDR hdr;
			public int dwDrawStage;
			public IntPtr hdc;
			public RECT rc;
			public uint dwItemSpec;
			public uint uItemState;
			public IntPtr lItemlParam;
		}
		#endregion
		#region NMLVCUSTOMDRAW
		[StructLayout(LayoutKind.Sequential)]
		public struct NMLVCUSTOMDRAW 
		{
			public NMCUSTOMDRAW nmcd;
			public int clrText;
			public int clrTextBk;
			public int iSubItem;
			public int dwItemType;
			public int clrFace;
			public int iIconEffect;
			public int iIconPhase;
			public int iPartId;
			public int iStateId;
			public RECT rcText;
			public uint uAlign;
		} 
		#endregion
		#region NMTVCUSTOMDRAW
		[StructLayout(LayoutKind.Sequential)]
		public struct NMTVCUSTOMDRAW 
		{
			public NMCUSTOMDRAW nmcd;
			public uint clrText;
			public uint clrTextBk;
			public int iLevel;
		}
		#endregion

		#region BITMAPINFO_FLAT
		[StructLayout(LayoutKind.Sequential)]
			public struct BITMAPINFO_FLAT 
		{
			public int      bmiHeader_biSize;
			public int      bmiHeader_biWidth;
			public int      bmiHeader_biHeight;
			public short    bmiHeader_biPlanes;
			public short    bmiHeader_biBitCount;
			public int      bmiHeader_biCompression;
			public int      bmiHeader_biSizeImage;
			public int      bmiHeader_biXPelsPerMeter;
			public int      bmiHeader_biYPelsPerMeter;
			public int      bmiHeader_biClrUsed;
			public int      bmiHeader_biClrImportant;
			[MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst=1024)]
			public byte[] bmiColors; 
		}
		#endregion
		#region BITMAPINFOHEADER
		[StructLayout(LayoutKind.Sequential)]
			public class BITMAPINFOHEADER 
		{
			public int      biSize = Marshal.SizeOf(typeof(BITMAPINFOHEADER));
			public int      biWidth;
			public int      biHeight;
			public short    biPlanes;
			public short    biBitCount;
			public int      biCompression;
			public int      biSizeImage;
			public int      biXPelsPerMeter;
			public int      biYPelsPerMeter;
			public int      biClrUsed;
			public int      biClrImportant;
		}
		#endregion

		#region MSG
		[StructLayout(LayoutKind.Sequential)]
		public struct MSG 
		{
			public IntPtr hwnd;
			public int message;
			public IntPtr wParam;
			public IntPtr lParam;
			public int time;
			public int pt_x;
			public int pt_y;
		}
		#endregion
		#region PAINTSTRUCT
		[StructLayout(LayoutKind.Sequential)]
		public struct PAINTSTRUCT
		{
			public IntPtr hdc;
			public int fErase;
			public System.Drawing.Rectangle rcPaint;
			public int fRestore;
			public int fIncUpdate;
			public int Reserved1;
			public int Reserved2;
			public int Reserved3;
			public int Reserved4;
			public int Reserved5;
			public int Reserved6;
			public int Reserved7;
			public int Reserved8;
		}
		#endregion
		#region TRACKMOUSEEVENTS
		[StructLayout(LayoutKind.Sequential)]
			public struct TRACKMOUSEEVENTS
		{
			public uint cbSize;
			public APIsEnums.TrackerEventFlags dwFlags;
			public IntPtr hWnd;
			public uint dwHoverTime;
		}
		#endregion
		#region WINDOWPLACEMENT
		[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
		public struct WINDOWPLACEMENT
		{	
			public uint length; 
			public uint flags; 
			public uint showCmd; 
			public APIsStructs.POINTAPI ptMinPosition; 
			public APIsStructs.POINTAPI ptMaxPosition; 
			public APIsStructs.RECT  rcNormalPosition; 
		}
		#endregion

		#region SCROLLINFO
		[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
		public struct SCROLLINFO
		{
			public 	uint   cbSize;
			public 	uint   fMask;
			public 	int    nMin;
			public 	int    nMax;
			public 	uint   nPage;
			public 	int    nPos;
			public 	int    nTrackPos;
		}
		#endregion
		#region SCROLLBARINFO
		[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
		public struct SCROLLBARINFO
		{
			public uint  cbSize;
			public APIsStructs.RECT  rcScrollBar;
			public int   dxyLineButton;
			public int   xyThumbTop;
			public int   xyThumbBottom;
			public int   reserved;
			[MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst=6)]
			public uint[] rgstate;
		}
		#endregion

		#region PCOMBOBOXINFO
		[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
		public struct PCOMBOBOXINFO
		{
			public uint  cbSize;
			public APIsStructs.RECT  rcItem;
			public APIsStructs.RECT  rcButton;
			public int   stateButton;
			public IntPtr hwndCombo;
			public IntPtr hwndItem;
			public IntPtr hwndList;
		}
		#endregion

		#region BLENDFUNCTION
		[StructLayout(LayoutKind.Sequential, Pack=1)]
		public struct BLENDFUNCTION
		{
			public byte BlendOp;
			public byte BlendFlags;
			public byte SourceConstantAlpha;
			public byte AlphaFormat;
		}
		#endregion

		#region NMHEADER
		[StructLayout(LayoutKind.Sequential, Pack=1)]
		public struct NMHEADER
		{
			public NMHDR nmhdr;
			public int iItem;
			public int iButton;
			public HDITEM pItem;
		}
		#endregion

		[StructLayout(LayoutKind.Sequential, Pack=1)]
		public struct INPUT
		{
			public uint type;
			public int dx;
			public int dy;
			public uint mouseData;
			public uint dwFlags;
			public uint time;
			public uint dwExtra;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -