private void InsertGroupNative(int index, ListViewGroup group) { System.Windows.Forms.NativeMethods.LVGROUP lParam = new System.Windows.Forms.NativeMethods.LVGROUP(); try { lParam = this.GetLVGROUP(group); int num1 = (int) System.Windows.Forms.UnsafeNativeMethods.SendMessage(new HandleRef(this, base.Handle), 0x1091, index, lParam); } finally { this.DestroyLVGROUP(lParam); } }
internal void UpdateGroupNative(ListViewGroup group) { System.Windows.Forms.NativeMethods.LVGROUP lParam = new System.Windows.Forms.NativeMethods.LVGROUP(); try { lParam = this.GetLVGROUP(group); int num1 = (int) System.Windows.Forms.UnsafeNativeMethods.SendMessage(new HandleRef(this, base.Handle), 0x1093, group.ID, lParam); } finally { this.DestroyLVGROUP(lParam); } base.Invalidate(); }
private System.Windows.Forms.NativeMethods.LVGROUP GetLVGROUP(ListViewGroup group) { System.Windows.Forms.NativeMethods.LVGROUP lvgroup = new System.Windows.Forms.NativeMethods.LVGROUP { mask = 0x19 }; string header = group.Header; lvgroup.pszHeader = Marshal.StringToHGlobalAuto(header); lvgroup.cchHeader = header.Length; lvgroup.iGroupId = group.ID; switch (group.HeaderAlignment) { case HorizontalAlignment.Left: lvgroup.uAlign = 1; return lvgroup; case HorizontalAlignment.Right: lvgroup.uAlign = 4; return lvgroup; case HorizontalAlignment.Center: lvgroup.uAlign = 2; return lvgroup; } return lvgroup; }