/// <summary> /// Handle the Group Info series of notifications /// </summary> /// <param name="m">The message</param> /// <returns>True if the message has been handled</returns> protected virtual bool HandleGroupInfo(ref Message m) { NativeMethods.NMLVGROUP nmlvgroup = (NativeMethods.NMLVGROUP)m.GetLParam(typeof(NativeMethods.NMLVGROUP)); //System.Diagnostics.Debug.WriteLine(String.Format("group: {0}, old state: {1}, new state: {2}", // nmlvgroup.iGroupId, OLVGroup.StateToString(nmlvgroup.uOldState), OLVGroup.StateToString(nmlvgroup.uNewState))); // Ignore state changes that aren't related to selection, focus or collapsedness const uint INTERESTING_STATES = (uint) (GroupState.LVGS_COLLAPSED | GroupState.LVGS_FOCUSED | GroupState.LVGS_SELECTED); if ((nmlvgroup.uOldState & INTERESTING_STATES) == (nmlvgroup.uNewState & INTERESTING_STATES)) return false; foreach (OLVGroup group in this.OLVGroups) { if (group.GroupId == nmlvgroup.iGroupId) { GroupStateChangedEventArgs args = new GroupStateChangedEventArgs(group, (GroupState)nmlvgroup.uOldState, (GroupState)nmlvgroup.uNewState); this.OnGroupStateChanged(args); break; } } return false; }
/// <summary> /// /// </summary> /// <param name="args"></param> protected virtual void OnGroupStateChanged(GroupStateChangedEventArgs args) { if (this.GroupStateChanged != null) this.GroupStateChanged(this, args); }
private void olvCraftList_GroupStateChanged(object sender, GroupStateChangedEventArgs e) { }