System.Windows.Forms.ThemeWin32Classic.DrawListViewItemOwnerDraw C# (CSharp) Method

DrawListViewItemOwnerDraw() protected method

protected DrawListViewItemOwnerDraw ( Graphics dc, System.Windows.Forms.ListViewItem item, int index ) : bool
dc System.Drawing.Graphics
item System.Windows.Forms.ListViewItem
index int
return bool
		protected virtual bool DrawListViewItemOwnerDraw (Graphics dc, ListViewItem item, int index)
		{
			ListViewItemStates item_state = ListViewItemStates.ShowKeyboardCues;
			if (item.Selected)
				item_state |= ListViewItemStates.Selected;
			if (item.Focused)
				item_state |= ListViewItemStates.Focused;
						
			DrawListViewItemEventArgs args = new DrawListViewItemEventArgs (dc,
					item, item.Bounds, index, item_state);
			item.ListView.OnDrawItem (args);

			if (args.DrawDefault)
				return false;

			if (item.ListView.View == View.Details) {
				int count = Math.Min (item.ListView.Columns.Count, item.SubItems.Count);
				
				// Do system drawing for subitems if no owner draw is done
				for (int j = 0; j < count; j++) {
					if (!DrawListViewSubItemOwnerDraw (dc, item, item_state, j)) {
						if (j == 0) // The first sub item contains the main item semantics
							DrawListViewItem (dc, item.ListView, item);
						else
							DrawListViewSubItem (dc, item.ListView, item, j);
					}
				}
			}
			
			return true;
		}
ThemeWin32Classic