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

📄 win32struct.cs

📁 This control is another extension to the now standard and widely used ListView control. I have inclu
💻 CS
字号:
using System;
using System.Runtime.InteropServices;

/// <summary>
/// Win32 structures
/// </summary>
namespace ListViewFilter
{

  /// <summary>
  /// RECT structure
  /// </summary>
  [StructLayout(LayoutKind.Sequential)] public struct RECT
  {
    public int left;
    public int top;
    public int right;
    public int bottom;
  }


  /// <summary>
  /// Base notify message header
  /// </summary>
  [StructLayout(LayoutKind.Sequential)] public struct NMHDR
  {
    public IntPtr hwndFrom;
    public int    idFrom;
    public int    code;
  }


  /// <summary>
  /// Standard notify message header
  /// </summary>
  [StructLayout(LayoutKind.Sequential)] public struct NMHEADER 
  {
    public NMHDR  hdr;
    public int    iItem;
    public int    iButton;
    public IntPtr pitem;
  }


  /// <summary>
  /// Custom draw notify message
  /// </summary>
  [StructLayout(LayoutKind.Sequential)] public struct NMCUSTOMDRAW
  {
    public NMHDR  hdr;
    public int    dwDrawStage;
    public IntPtr hdc;
    public RECT   rc;
    public int    dwItemSpec;
    public int    uItemState;
    public IntPtr lItemlParam;
  }	
    

  /// <summary>
  /// ListView specialized custom draw message 
  /// </summary>
  [StructLayout(LayoutKind.Sequential)] public struct NMLVCUSTOMDRAW 
  {
    public NMCUSTOMDRAW nmcd;
    public int          clrText;
    public int          clrTextBk;
    public int          iSubItem;
    public uint         dwItemType;
    public int          clrFace;
    public int          iIconEffect;
    public int          iIconPhase;
    public int          iPartId;
    public int          iStateId;
    public RECT         rcText;
    public uint         uAlign; 
  }


  /// <summary>
  /// ListView item data
  /// </summary>
  [StructLayout(LayoutKind.Sequential)] public struct LVITEM
  {
    public W32_LVIF mask;
    public int      iItem;
    public int      iSubItem;
    public uint     state;
    public uint     stateMask;
    public String   pszText;
    public int      cchTextMax;
    public int      iImage;
    public int      lParam;
    public int      iIndent;
  }


  /// <summary>
  /// Header item data
  /// </summary>
  [StructLayout(LayoutKind.Sequential)] public struct HDITEM 
  {
    public W32_HDI mask; 
    public int     cxy; 
    public String  pszText; 
    public IntPtr  hbm; 
    public int     cchTextMax; 
    public W32_HDF fmt; 
    public int     lParam; 
    public int     iImage;
    public int     iOrder;
    public uint    type;
    public IntPtr  pvFilter;
  }


  /// <summary>
  /// Header hittest information
  /// </summary>
  [StructLayout(LayoutKind.Sequential)] public struct HDHITTESTINFO 
  {
    public long  x;
    public long  y;
    public uint  flags;
    public int   iItem;
  }


  /// <summary>
  /// Structure for header layout
  /// </summary>
  [StructLayout(LayoutKind.Sequential)] public struct HDLAYOUT
  {
    public IntPtr prc;   // RECT*
    public IntPtr pwpos; // WINDOWPOS*
  }


  /// <summary>
  /// Header filter text data
  /// </summary>
  [StructLayout(LayoutKind.Sequential)] public struct HDTEXTFILTER 
  {
    public String pszText;
    public int    cchTextMax;
  }


  /// <summary>
  /// Window position structure
  /// </summary>
  [StructLayout(LayoutKind.Sequential)] public struct WINDOWPOS 
  {
    IntPtr hwnd;
    IntPtr hwndInsertAfter;
    int    x;
    int    y;
    int    cx;
    int    cy;
    uint   flags;
  }



}

⌨️ 快捷键说明

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