コード例 #1
0
 public void SetGroupState(ListViewGroupState state)
 {
     foreach (ListViewGroup group in base.Groups)
     {
         setGrpState(group, state);
     }
 }
コード例 #2
0
        public void SetGroupState(ListViewGroupState state)
        {
            if (!EnvUtils.RunningOnWindows() || Environment.OSVersion.Version.Major < 6)
            {
                // Only Vista and forward
                // allows collapse of ListViewGroups
                return;
            }

            foreach (ListViewGroup lvg in Groups)
            {
                SetGrpState(lvg);
            }

            Refresh();
            return;

            void SetGrpState(ListViewGroup lstvwgrp)
            {
                int groupId    = GetGroupId(lstvwgrp);
                int groupIndex = Groups.IndexOf(lstvwgrp);

                var group = new NativeMethods.LVGROUP();

                group.CbSize = Marshal.SizeOf(group);
                group.State  = state;
                group.Mask   = NativeMethods.ListViewGroupMask.State;

                var handleRef = new HandleRef(this, Handle);

                group.IGroupId = groupId > 0 ? groupId : groupIndex;
                NativeMethods.SendMessage(handleRef, NativeMethods.LVM_SETGROUPINFO, (IntPtr)group.IGroupId, ref group);
            }
        }
コード例 #3
0
 internal void GetSetState(out ListViewGroupState m, out ListViewGroupState s)
 {
     m = s = ListViewGroupState.Normal;
     if (collapsed.HasValue)
     {
         m |= ListViewGroupState.Collapsed; if (collapsed.Value)
         {
             s |= ListViewGroupState.Collapsed;
         }
     }
     if (collapsible.HasValue)
     {
         m |= ListViewGroupState.Collapsible; if (collapsible.Value)
         {
             s |= ListViewGroupState.Collapsible;
         }
     }
     if (focused.HasValue)
     {
         m |= ListViewGroupState.Focused; if (focused.Value)
         {
             s |= ListViewGroupState.Focused;
         }
     }
     if (hidden.HasValue)
     {
         m |= ListViewGroupState.Hidden; if (hidden.Value)
         {
             s |= ListViewGroupState.Hidden;
         }
     }
     if (noheader.HasValue)
     {
         m |= ListViewGroupState.NoHeader; if (noheader.Value)
         {
             s |= ListViewGroupState.NoHeader;
         }
     }
     if (selected.HasValue)
     {
         m |= ListViewGroupState.Selected; if (selected.Value)
         {
             s |= ListViewGroupState.Selected;
         }
     }
     if (subseted.HasValue)
     {
         m |= ListViewGroupState.Subseted; if (subseted.Value)
         {
             s |= ListViewGroupState.Subseted;
         }
     }
     if (subsetlinkfocused.HasValue)
     {
         m |= ListViewGroupState.SubsetLinkFocused; if (subsetlinkfocused.Value)
         {
             s |= ListViewGroupState.SubsetLinkFocused;
         }
     }
 }
コード例 #4
0
        private void SetAllGroupState(ListViewGroupState state, bool on = true)
        {
            if (IsHandleCreated)
            {
                LVGROUP group = new LVGROUP(ListViewGroupMask.State);
                group.SetState(state, on);
                //group.Subtitle = "Dog";

                for (int i = 0; i < Groups.Count; i++)
                {
                    SendMessage(ListViewMessage.SetGroupInfo, i, group);
                }

                using (LVGROUP grp = new LVGROUP(ListViewGroupMask.Subtitle))
                {
                    int res = SendMessage(ListViewMessage.GetGroupInfoByIndex, 0, grp);
                    if (res >= 0)
                    {
                        System.Diagnostics.Debug.WriteLine(grp.Subtitle);
                    }
                }

                RecreateHandle();
            }
        }
コード例 #5
0
 public void SetGroupState(ListViewGroupState state, string taskLabel)
 {
     foreach (ListViewGroup lvg in this.Groups)
     {
         SetGrpState(lvg, state, taskLabel);
     }
 }
コード例 #6
0
 private static void SetGrpState(ListViewGroup lstvwgrp, ListViewGroupState state)
 {
     if (Environment.OSVersion.Version.Major < 6)   //Only Vista and forward allows collaps of ListViewGroups
     {
         return;
     }
     if (lstvwgrp == null || lstvwgrp.ListView == null)
     {
         return;
     }
     if (lstvwgrp.ListView.InvokeRequired)
     {
         lstvwgrp.ListView.Invoke(new CallBackSetGroupState(SetGrpState), lstvwgrp, state);
     }
     else
     {
         int?    GrpId  = GetGroupID(lstvwgrp);
         int     gIndex = lstvwgrp.ListView.Groups.IndexOf(lstvwgrp);
         LVGROUP group  = new LVGROUP();
         group.CbSize = Marshal.SizeOf(group);
         group.State  = state;
         group.Mask   = ListViewGroupMask.State;
         if (GrpId != null)
         {
             group.IGroupId = GrpId.Value;
             SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, GrpId.Value, group);
         }
         else
         {
             group.IGroupId = gIndex;
             SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, gIndex, group);
         }
         lstvwgrp.ListView.Refresh();
     }
 }
コード例 #7
0
 public void SetGroupState(ListViewGroupState state)
 {
     foreach (ListViewGroup lvg in this.Groups)
     {
         setGrpState(lvg, state);
     }
 }
コード例 #8
0
        internal void SetGroupState(ListViewGroupEx group, ListViewGroupState item, bool value)
        {
            LVGROUP mgroup = new LVGROUP(ListViewGroupMask.State);

            mgroup.SetState(item, value);
            this.CallWhenHandleValid(c => SendMessage(ListViewMessage.SetGroupInfo, group.ID, mgroup));
        }
コード例 #9
0
 public void SetGroupState(ListViewGroupState state, string taskLabel)
 {
     foreach (ListViewGroup lvg in this.Groups)
     {
         SetGrpState(lvg, state, taskLabel);
     }
 }
コード例 #10
0
 private void SetState(ListViewGroupState item, bool on, ref bool?localVar)
 {
     if (ListView != null)
     {
         ListView.SetGroupState(this, item, on);
     }
     localVar = on;
 }
コード例 #11
0
 private bool GetState(ListViewGroupState item, ref bool?localVar)
 {
     if (ListView != null)
     {
         ListViewGroupState s = ListView.GetGroupState(this, item);
         localVar = ((s & item) != 0);
     }
     return(localVar.GetValueOrDefault(false));
 }
コード例 #12
0
        public static void setGrpState(ListViewGroup lstvwgrp, ListViewGroupState state)
        {
            if (Environment.OSVersion.Version.Major < 6)   //Only Vista and forward allows collaps of ListViewGroups
            {
                return;
            }
            if (lstvwgrp == null || lstvwgrp.ListView == null)
            {
                return;
            }
            if (lstvwgrp.ListView.InvokeRequired)
            {
                lstvwgrp.ListView.Invoke(new CallBackSetGroupState(setGrpState), lstvwgrp, state);
            }
            else
            {
                int?    GrpId  = GetGroupID(lstvwgrp);
                int     gIndex = lstvwgrp.ListView.Groups.IndexOf(lstvwgrp);
                LVGROUP group  = new LVGROUP();
                group.CbSize = Marshal.SizeOf(group);
                group.State  = state;
                group.Mask   = ListViewGroupMask.State;

                IntPtr ip = IntPtr.Zero;
                try
                {
                    ip = Marshal.AllocHGlobal(group.CbSize);
                    if (GrpId != null)
                    {
                        group.IGroupId = GrpId.Value;
                        Marshal.StructureToPtr(group, ip, false);
                        SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, (IntPtr)GrpId.Value, ip);
                        SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, (IntPtr)GrpId.Value, ip);
                    }
                    else
                    {
                        group.IGroupId = gIndex;
                        Marshal.StructureToPtr(group, ip, false);
                        SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, (IntPtr)gIndex, ip);
                        SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, (IntPtr)gIndex, ip);
                    }
                    lstvwgrp.ListView.Refresh();
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Trace.WriteLine(ex.Message + Environment.NewLine + ex.StackTrace);
                }
                finally
                {
                    if (null != ip)
                    {
                        Marshal.FreeHGlobal(ip);
                    }
                }
            }
        }
コード例 #13
0
        private static bool GetState(ListViewGroup group, ListViewGroupState state)
        {
            var groupId = GetGroupId(group);

            if (groupId < 0)
            {
                return(false);
            }
            return((SendMessage(group.ListView.Handle, (uint)ListViewMessage.LVM_GETGROUPSTATE, (IntPtr)groupId, new IntPtr((int)state)).ToInt32() & (int)state) != 0);
        }
コード例 #14
0
ファイル: ExListView.cs プロジェクト: vmeurisse/gitextensions
        public void SetGroupState(ListViewGroupState state)
        {
#if !__MonoCS__
            if (!EnvUtils.RunningOnWindows() || Environment.OSVersion.Version.Major < 6)   //Only Vista and forward 
                // allows collapse of ListViewGroups
                return;
            foreach (ListViewGroup lvg in Groups)
                setGrpState(lvg, state);
#endif
        }
コード例 #15
0
        public void SetGroupState(string name, ListViewGroupState state)
        {
            var group = Groups[name];

            if (group == null)
            {
                throw new ArgumentOutOfRangeException($"Unknown group {name}");
            }

            SetGrpState(group, state);
        }
コード例 #16
0
ファイル: ExListView.cs プロジェクト: yuenshome/gitextensions
 public void SetGroupState(ListViewGroupState state)
 {
     if (!EnvUtils.RunningOnWindows() || Environment.OSVersion.Version.Major < 6) // Only Vista and forward
     // allows collapse of ListViewGroups
     {
         return;
     }
     foreach (ListViewGroup lvg in Groups)
     {
         setGrpState(lvg, state);
     }
 }
コード例 #17
0
        private void SetGrpState(ListViewGroup lvGroup, ListViewGroupState grpState, string task)
        {
            if (OSVersion.IsBelow(WindowsVersion.Vista))
            {
                return;
            }
            if (lvGroup == null || lvGroup.ListView == null)
            {
                return;
            }
            if (lvGroup.ListView.InvokeRequired)
            {
                lvGroup.ListView.BeginInvoke(new CallBackSetGroupState(SetGrpState), lvGroup, grpState, task);
            }
            else
            {
                int?    GrpId  = GetGroupID(lvGroup);
                int     gIndex = lvGroup.ListView.Groups.IndexOf(lvGroup);
                LVGroup group  = new LVGroup();
                group.CbSize = LVGroup.SizeOf;

                if (!string.IsNullOrEmpty(task))
                {
                    group.Mask =
                        ListViewGroupMask.Task |
                        ListViewGroupMask.State |
                        ListViewGroupMask.Align;

                    group.Task    = task;
                    group.CchTask = task.Length;
                }
                else
                {
                    group.Mask = ListViewGroupMask.State;
                }

                group.GroupState = grpState;

                if (GrpId != null)
                {
                    group.GroupId = GrpId.Value;
                    SendMessage(this.Handle, LVM_SetGroupInfo, GrpId.Value, ref group);
                }
                else
                {
                    group.GroupId = gIndex;
                    SendMessage(this.Handle, LVM_SetGroupInfo, gIndex, ref group);
                }

                lvGroup.ListView.Refresh();
            }
        }
コード例 #18
0
        private static void SetState(ListViewGroup group, ListViewGroupState state, bool value)
        {
            var groupId = GetGroupId(group);

            if (groupId >= 0)
            {
                var lvgroup = new LVGROUP(ListViewGroupMask.LVGF_STATE);
                {
                    lvgroup.SetState(state, value);
                    SendMessage(group.ListView.Handle, ListViewMessage.LVM_SETGROUPINFO, groupId, lvgroup);
                }
            }
        }
コード例 #19
0
        private void SetGrpState(ListViewGroup lvGroup, ListViewGroupState grpState, string task)
        {
            if (OSVersion.IsBelow(WindowsVersion.Vista))
            {
                return;
            }
            if (lvGroup == null || lvGroup.ListView == null)
            {
                return;
            }
            if (lvGroup.ListView.InvokeRequired)
            {
                lvGroup.ListView.Invoke(new CallBackSetGroupState(SetGrpState), lvGroup, grpState, task);
            }
            else
            {
                int?    GrpId  = GetGroupID(lvGroup);
                int     gIndex = lvGroup.ListView.Groups.IndexOf(lvGroup);
                LVGroup group  = new LVGroup();
                group.CbSize = Marshal.SizeOf(group);
                group.Mask  |= ListViewGroupMask.Task
                               | ListViewGroupMask.State
                               | ListViewGroupMask.Align;

                IntPtr taskString = Marshal.StringToHGlobalAuto(task);

                if (task.Length > 1)
                {
                    group.Task    = taskString;
                    group.CchTask = task.Length;
                }

                group.GroupState = grpState;

                if (GrpId != null)
                {
                    group.GroupId = GrpId.Value;
                    SendMessage(base.Handle, LVM_SetGroupInfo, GrpId.Value, ref group);
                }
                else
                {
                    group.GroupId = gIndex;
                    SendMessage(base.Handle, LVM_SetGroupInfo, gIndex, ref group);
                }
                lvGroup.ListView.Refresh();

                Marshal.FreeHGlobal(taskString);
            }
        }
コード例 #20
0
ファイル: ExListView.cs プロジェクト: vmeurisse/gitextensions
        private void setGrpState(ListViewGroup lstvwgrp, ListViewGroupState state)
        {
            if (lstvwgrp == null)
                return;

            int? GrpId = GetGroupID(lstvwgrp);
            int gIndex = Groups.IndexOf(lstvwgrp);
            var group = new NativeMethods.LVGROUP();
            group.CbSize = Marshal.SizeOf(group);
            group.State = state;
            group.Mask = NativeMethods.ListViewGroupMask.State;
            var handleRef = new HandleRef(this, Handle);
            group.IGroupId = GrpId ?? gIndex;
            NativeMethods.SendMessage(handleRef,
                NativeMethods.LVM_SETGROUPINFO, (IntPtr)group.IGroupId, ref group);
            NativeMethods.SendMessage(handleRef,
                NativeMethods.LVM_SETGROUPINFO, (IntPtr)group.IGroupId, ref group);
            Refresh();
        }
コード例 #21
0
        private static void setGrpState(ListViewGroup lstvwgrp, ListViewGroupState state)
        {
            if (!lstvwgrp.ListView.InvokeRequired)
            {
                LVGROUP group;
                if (!PrepareSendHeader(lstvwgrp, out group))
                {
                    return;
                }

                group.State = state;
                group.Mask  = ListViewGroupMask.State;

                SendSetGroupInfo(group, lstvwgrp);
            }
            else
            {
                lstvwgrp.ListView.Invoke(new MethodInvoker(() => setGrpState(lstvwgrp, state)));
            }
        }
コード例 #22
0
        internal void SetGroupState(ListViewGroup lstvwgrp, ListViewGroupState state)
        {
            if (Environment.OSVersion.Version.Major < 6) //Only Vista and after
            {
                return;
            }
            if (lstvwgrp?.ListView == null)
            {
                return;
            }
            if (lstvwgrp.ListView.InvokeRequired)
            {
                lstvwgrp.ListView.Invoke(new CallBackSetGroupState(SetGroupState), lstvwgrp, state);
            }
            else
            {
                int     id    = GetGroupId(lstvwgrp);
                LVGROUP group = new LVGROUP();
                group.CbSize = Marshal.SizeOf(group);
                group.State  = state;
                group.Mask   = ListViewGroupMask.State;

                group.IGroupId = id;

                IntPtr ip = IntPtr.Zero;
                try
                {
                    ip = Marshal.AllocHGlobal(group.CbSize);
                    Marshal.StructureToPtr(group, ip, false);
                    SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, id, ip);
                }
                finally
                {
                    Marshal.FreeHGlobal(ip);
                }

                lstvwgrp.ListView.Refresh();
            }
        }
コード例 #23
0
 public static void setGrpState(ListViewGroup lstvwgrp, ListViewGroupState state)
 {
     if ((Environment.OSVersion.Version.Major >= 6) && ((lstvwgrp != null) && (lstvwgrp.ListView != null)))
     {
         if (lstvwgrp.ListView.InvokeRequired)
         {
             lstvwgrp.ListView.Invoke(new CallBackSetGroupState(XListView.setGrpState), new object[] { lstvwgrp, state });
         }
         else
         {
             CodeGenerator.Client.WinFormsUI.Controls.LVGROUP lvgroup = new LVGROUP();
             int?groupID = GetGroupID(lstvwgrp);
             int index   = lstvwgrp.ListView.Groups.IndexOf(lstvwgrp);
             lvgroup = new CodeGenerator.Client.WinFormsUI.Controls.LVGROUP {
                 CbSize = Marshal.SizeOf(lvgroup),
                 State  = state,
                 Mask   = ListViewGroupMask.State
             };
             IntPtr ptr = Marshal.AllocHGlobal(0xfa000);
             if (groupID.HasValue)
             {
                 lvgroup.IGroupId = groupID.Value;
                 Marshal.StructureToPtr(lvgroup, ptr, true);
                 SendMessage(lstvwgrp.ListView.Handle, 0x1093, groupID.Value, ptr);
             }
             else
             {
                 lvgroup.IGroupId = index;
                 lvgroup.IGroupId = groupID.Value;
                 SendMessage(lstvwgrp.ListView.Handle, 0x1093, index, ptr);
             }
             Marshal.FreeHGlobal(ptr);
             lstvwgrp.ListView.Refresh();
         }
     }
 }
コード例 #24
0
        /// <summary>
        /// The set group state.
        /// </summary>
        /// <param name="lstvwgrp">
        /// The lstvwgrp.
        /// </param>
        /// <param name="state">
        /// The state.
        /// </param>
        private void SetGroupState(ListViewGroup lstvwgrp, ListViewGroupState state)
        {
            if (!SupportCollapsibleGroups)
            {
                return;
            }

            if (lstvwgrp == null)
            {
                return;
            }

            int? grpId = GetGroupID(lstvwgrp);
            int grpIdParam = grpId ?? lstvwgrp.ListView.Groups.IndexOf(lstvwgrp);

            LVGROUP group = new LVGROUP
                                {
                                    CbSize = Marshal.SizeOf(typeof(LVGROUP)),
                                    State = state,
                                    Mask = ListViewGroupMask.State,
                                    IGroupId = grpIdParam
                                };

            SendMessage(this.Handle, (int)W32_LVM.LVM_SETGROUPINFO, grpIdParam, ref group);
        }
コード例 #25
0
        /// <summary>
        /// The set group state.
        /// </summary>
        /// <param name="state">
        /// The state.
        /// </param>
        private void SetGroupState(ListViewGroupState state)
        {
            if (!SupportCollapsibleGroups)
            {
                return;
            }

            foreach (ListViewGroup lvg in this.Groups)
            {
                this.SetGroupState(lvg, state);
            }
        }
コード例 #26
0
ファイル: ListViewEx.cs プロジェクト: sloong/WebDownload
 public void SetGroupState(ListViewGroupState state,ListViewGroup lvg)
 {
     setGrpState(lvg, state);
 }
コード例 #27
0
 public void SetState(ListViewGroupState state, bool on = true)
 {
     this.mask      |= ListViewGroupMask.State;
     this.stateMask |= state;
     EnumUtil.SetFlags(ref this.state, state, on);
 }
コード例 #28
0
ファイル: ExListView.cs プロジェクト: vshih/gitextensions
        private void setGrpState(ListViewGroup lstvwgrp, ListViewGroupState state)
        {
            if (lstvwgrp == null)
                return;

            int? GrpId = GetGroupID(lstvwgrp);
            int gIndex = Groups.IndexOf(lstvwgrp);
            var group = new NativeMethods.LVGROUP();
            group.CbSize = Marshal.SizeOf(group);
            group.State = state;
            group.Mask = NativeMethods.ListViewGroupMask.State;
            var handleRef = new HandleRef(this, Handle);
            group.IGroupId = GrpId ?? gIndex;
            NativeMethods.SendMessage(handleRef,
                NativeMethods.LVM_SETGROUPINFO, (IntPtr)group.IGroupId, ref group);
            NativeMethods.SendMessage(handleRef,
                NativeMethods.LVM_SETGROUPINFO, (IntPtr)group.IGroupId, ref group);
            Refresh();
        }
コード例 #29
0
ファイル: ExListView.cs プロジェクト: vshih/gitextensions
 public void SetGroupState(ListViewGroupState state)
 {
     #if !__MonoCS__
     if (!Settings.RunningOnWindows() || Environment.OSVersion.Version.Major < 6)   //Only Vista and forward
         // allows collapse of ListViewGroups
         return;
     foreach (ListViewGroup lvg in Groups)
         setGrpState(lvg, state);
     #endif
 }
コード例 #30
0
 public void SetState(ListViewGroupState state, bool on = true)
 {
     this.mask |= ListViewGroupMask.State;
     this.stateMask |= state;
     this.state |= on ? state : 0;
 }
コード例 #31
0
ファイル: ListViewExpanded.cs プロジェクト: rmbzlib/mcskin3d
 private static void setGrpState(ListViewGroup lstvwgrp, ListViewGroupState state)
 {
     if (Environment.OSVersion.Version.Major < 6) //Only Vista and forward allows collaps of ListViewGroups
         return;
     if (lstvwgrp == null || lstvwgrp.ListView == null)
         return;
     if (lstvwgrp.ListView.InvokeRequired)
         lstvwgrp.ListView.Invoke(new CallBackSetGroupState(setGrpState), lstvwgrp, state);
     else
     {
         int? GrpId = GetGroupID(lstvwgrp);
         int gIndex = lstvwgrp.ListView.Groups.IndexOf(lstvwgrp);
         var group = new LVGROUP();
         group.CbSize = Marshal.SizeOf(group);
         group.State = state;
         group.Mask = ListViewGroupMask.State;
         if (GrpId != null)
         {
             group.IGroupId = GrpId.Value;
             SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, GrpId.Value, group);
             SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, GrpId.Value, group);
         }
         else
         {
             group.IGroupId = gIndex;
             SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, gIndex, group);
             SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, gIndex, group);
         }
         lstvwgrp.ListView.Refresh();
     }
 }
コード例 #32
0
        private void SetGrpState(ListViewGroup lvGroup, ListViewGroupState grpState, string task)
        {
            if (OSVersion.IsBelow(WindowsVersion.Vista))
                return;
            if (lvGroup == null || lvGroup.ListView == null)
                return;
            if (lvGroup.ListView.InvokeRequired)
                lvGroup.ListView.BeginInvoke(new CallBackSetGroupState(SetGrpState), lvGroup, grpState, task);
            else
            {
                int? GrpId = GetGroupID(lvGroup);
                int gIndex = lvGroup.ListView.Groups.IndexOf(lvGroup);
                LVGroup group = new LVGroup();
                group.CbSize = LVGroup.SizeOf;

                if (!string.IsNullOrEmpty(task))
                {
                    group.Mask =
                        ListViewGroupMask.Task |
                        ListViewGroupMask.State |
                        ListViewGroupMask.Align;

                    group.Task = task;
                    group.CchTask = task.Length;
                }
                else
                {
                    group.Mask = ListViewGroupMask.State;
                }

                group.GroupState = grpState;

                if (GrpId != null)
                {
                    group.GroupId = GrpId.Value;
                    SendMessage(this.Handle, LVM_SetGroupInfo, GrpId.Value, ref group);
                }
                else
                {
                    group.GroupId = gIndex;
                    SendMessage(this.Handle, LVM_SetGroupInfo, gIndex, ref group);
                }

                lvGroup.ListView.Refresh();
            }
        }
コード例 #33
0
 internal ListViewGroupState GetGroupState(ListViewGroupEx group, ListViewGroupState stateMask = (ListViewGroupState)0xFF) => (ListViewGroupState)SendMessage(ListViewMessage.GetGroupState, GetGroupId(Groups.IndexOf(group)), new IntPtr((int)stateMask));
コード例 #34
0
 public void SetGroupState(ListViewGroupState state)
 {
     this.SetGroupState(state, null);
 }
コード例 #35
0
 public void SetState(ListViewGroupState state, bool on = true)
 {
     this.mask |= ListViewGroupMask.State;
     this.stateMask |= state;
     EnumUtil.SetFlags(ref this.state, state, on);
 }
コード例 #36
0
ファイル: ListViewExpanded.cs プロジェクト: rmbzlib/mcskin3d
 public void SetGroupState(ListViewGroupState state)
 {
     foreach (ListViewGroup lvg in Groups)
         setGrpState(lvg, state);
 }
コード例 #37
0
        private void SetGrpState(ListViewGroup lvGroup, ListViewGroupState grpState, string task)
        {
            if (OSVersion.IsBelow(WindowsVersion.Vista))
                return;
            if (lvGroup == null || lvGroup.ListView == null)
                return;
            if (lvGroup.ListView.InvokeRequired)
                lvGroup.ListView.Invoke(new CallBackSetGroupState(SetGrpState), lvGroup, grpState, task);
            else
            {
                int? GrpId = GetGroupID(lvGroup);
                int gIndex = lvGroup.ListView.Groups.IndexOf(lvGroup);
                LVGroup group = new LVGroup();
                group.CbSize = Marshal.SizeOf(group);
                group.Mask |= ListViewGroupMask.Task 
                    | ListViewGroupMask.State 
                    | ListViewGroupMask.Align;

                IntPtr taskString = Marshal.StringToHGlobalAuto(task);

                if (task.Length > 1)
                {
                    group.Task = taskString;
                    group.CchTask = task.Length;
                }

                group.GroupState = grpState;
          
                if (GrpId != null)
                {
                    group.GroupId = GrpId.Value;
                    SendMessage(base.Handle, LVM_SetGroupInfo, GrpId.Value, ref group);
                }
                else
                {
                    group.GroupId = gIndex;
                    SendMessage(base.Handle, LVM_SetGroupInfo, gIndex, ref group);
                }
                lvGroup.ListView.Refresh();

                Marshal.FreeHGlobal(taskString);
            }
        }
コード例 #38
0
 public void SetGroupState(ListViewGroupState state, ListViewGroup lvg)
 {
     setGrpState(lvg, state);
 }
コード例 #39
0
 public void SetState(ListViewGroupState state, bool on = true)
 {
     this.mask      |= ListViewGroupMask.State;
     this.stateMask |= state;
     this.state     |= on ? state : 0;
 }
コード例 #40
0
 public void SetGroupState(ListViewGroupState state)
 {
     this.SetGroupState(state, null);
 }