📄 apisstructs.cs
字号:
{
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 + -