• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# HDITEM类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中HDITEM的典型用法代码示例。如果您正苦于以下问题:C# HDITEM类的具体用法?C# HDITEM怎么用?C# HDITEM使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



HDITEM类属于命名空间,在下文中一共展示了HDITEM类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: SetSortIcons

		public static void SetSortIcons(ListView listView, int previouslySortedColumn, int newSortColumn, SortOrder sorting) {
			IntPtr headerHandle = SendMessage(listView.Handle, LVM_GETHEADER, IntPtr.Zero, IntPtr.Zero);
			IntPtr newColumn = new IntPtr(newSortColumn);
			IntPtr prevColumn = new IntPtr(previouslySortedColumn);
			HDITEM hditem;
			// Only update the previous item if it existed and if it was a different one.
			if (previouslySortedColumn != -1 && previouslySortedColumn != newSortColumn) {
				// Clear icon from the previous column.
				hditem = new HDITEM();
				hditem.mask = HDI_FORMAT;
				ItemSendMessage(headerHandle, HDM_GETITEM, prevColumn, ref hditem);
				hditem.fmt &= ~HDF_SORTDOWN & ~HDF_SORTUP;
				ItemSendMessage(headerHandle, HDM_SETITEM, prevColumn, ref hditem);
			}
			// Set icon on the new column.
			hditem = new HDITEM();
			hditem.mask = HDI_FORMAT;
			ItemSendMessage(headerHandle, HDM_GETITEM, newColumn, ref hditem);
			if (sorting == SortOrder.Ascending) {
				hditem.fmt &= ~HDF_SORTDOWN;
				hditem.fmt |= HDF_SORTUP;
			}
			else {
				hditem.fmt &= ~HDF_SORTUP;
				hditem.fmt |= HDF_SORTDOWN;
			}
			ItemSendMessage(headerHandle, HDM_SETITEM, newColumn, ref hditem);
		}
开发者ID:TargetProcess,项目名称:Tp.Integration.Ide.VisualStudio,代码行数:28,代码来源:ListViewHelper.cs


示例2: SetSortIcon

        //extension method for setting "Sort Icon" of the listview.
        public static void SetSortIcon(this System.Windows.Forms.ListView ListViewControl, int ColumnIndex, System.Windows.Forms.SortOrder Order)
        {
            IntPtr ColumnHeader = SendMessage(ListViewControl.Handle, LVM_GETHEADER, IntPtr.Zero, IntPtr.Zero);

            for (int ColumnNumber = 0; ColumnNumber <= ListViewControl.Columns.Count - 1; ColumnNumber++)
            {
                IntPtr ColumnPtr = new IntPtr(ColumnNumber);
                HDITEM item = new HDITEM();
                item.mask = (int)HDITEM.Mask.Format;
                SendMessageHDITEM(ColumnHeader, HDM_GETITEM, ColumnPtr, ref item);

                if (Order != System.Windows.Forms.SortOrder.None && ColumnNumber == ColumnIndex)
                {
                    switch (Order)
                    {
                        case System.Windows.Forms.SortOrder.Ascending:
                            item.fmt &= ~(int)HDITEM.Format.SortDown;
                            item.fmt |= (int)HDITEM.Format.SortUp;
                            break;
                        case System.Windows.Forms.SortOrder.Descending:
                            item.fmt &= ~(int)HDITEM.Format.SortUp;
                            item.fmt |= (int)HDITEM.Format.SortDown;
                            break;
                    }
                }
                else
                {
                    item.fmt &= ~(int)HDITEM.Format.SortDown & ~(int)HDITEM.Format.SortUp;
                }

                SendMessageHDITEM(ColumnHeader, HDM_SETITEM, ColumnPtr, ref item);
            }
        }
开发者ID:BCProgramming,项目名称:BASeBlock,代码行数:34,代码来源:GenericListViewSorter.cs


示例3: SetSortIcon

        public static void SetSortIcon(this ListView listViewControl, int columnIndex, SortOrder order)
        {
            IntPtr columnHeader = SendMessage(listViewControl.Handle, LVM_GETHEADER, IntPtr.Zero, IntPtr.Zero);
            for (int columnNumber = 0; columnNumber <= listViewControl.Columns.Count - 1; columnNumber++)
            {
                var columnPtr = new IntPtr(columnNumber);
                var item = new HDITEM
                {
                    mask = HDITEM.Mask.Format
                };

                if (SendMessage(columnHeader, HDM_GETITEM, columnPtr, ref item) == IntPtr.Zero)
                {
                    throw new Win32Exception();
                }

                if (order != SortOrder.None && columnNumber == columnIndex)
                {
                    switch (order)
                    {
                        case SortOrder.Ascending:
                            item.fmt &= ~HDITEM.Format.SortDown;
                            item.fmt |= HDITEM.Format.SortUp;
                            break;
                        case SortOrder.Descending:
                            item.fmt &= ~HDITEM.Format.SortUp;
                            item.fmt |= HDITEM.Format.SortDown;
                            break;
                    }
                }
                else
                {
                    item.fmt &= ~HDITEM.Format.SortDown & ~HDITEM.Format.SortUp;
                }

                if (SendMessage(columnHeader, HDM_SETITEM, columnPtr, ref item) == IntPtr.Zero)
                {
                    throw new Win32Exception();
                }
            }
        }
开发者ID:Zyx-A,项目名称:WakeOnLAN,代码行数:41,代码来源:listViewExtensions.cs


示例4: SetSortIcons

        public void SetSortIcons(int newSortColumn)
        {
            IntPtr hHeader = SendMessage(this.Handle, LVM_GETHEADER, IntPtr.Zero, IntPtr.Zero);
            IntPtr newColumn = new IntPtr(newSortColumn);
            IntPtr prevColumn = new IntPtr(_previouslySortedColumn);
            HDITEM hdItem;
            IntPtr rtn;

            // Only update the previous item if it existed and if it was a different one.
            if (_previouslySortedColumn != -1 && _previouslySortedColumn != newSortColumn)
            {
                // Clear icon from the previous column.
                hdItem = new HDITEM();
                hdItem.mask = HDI_FORMAT;
                rtn = SendMessageITEM(hHeader, HDM_GETITEM, prevColumn, ref hdItem);
                hdItem.fmt &= ~HDF_SORTDOWN & ~HDF_SORTUP;
                rtn = SendMessageITEM(hHeader, HDM_SETITEM, prevColumn, ref hdItem);
            }

            // Set icon on the new column.
            hdItem = new HDITEM();
            hdItem.mask = HDI_FORMAT;
            rtn = SendMessageITEM(hHeader, HDM_GETITEM, newColumn, ref hdItem);

            if (this.Sorting == SortOrder.Ascending)
            {
                hdItem.fmt &= ~HDF_SORTDOWN;
                hdItem.fmt |= HDF_SORTUP | HDF_BITMAP_ON_RIGHT;
            }
            else
            {
                hdItem.fmt &= ~HDF_SORTUP;
                hdItem.fmt |= HDF_SORTDOWN;
            }
            rtn = SendMessageITEM(hHeader, HDM_SETITEM, newColumn, ref hdItem);
            _previouslySortedColumn = newSortColumn;
        }
开发者ID:CaineQT,项目名称:hookme,代码行数:37,代码来源:ListViewEx.cs


示例5: SetColumnImage

        /// <summary>
        /// Setup the given column of the listview to show the given image to the right of the text.
        /// If the image index is -1, any previous image is cleared
        /// </summary>
        /// <param name="list">The listview to send a m to</param>
        /// <param name="columnIndex">Index of the column to modifiy</param>
        /// <param name="order"></param>
        /// <param name="imageIndex">Index into the small image list</param>
        public static void SetColumnImage(ListView list, int columnIndex, SortOrder order, int imageIndex)
        {
            IntPtr hdrCntl = NativeMethods.GetHeaderControl(list);
            if (hdrCntl.ToInt32() == 0)
                return;

            HDITEM item = new HDITEM();
            item.mask = HDI_FORMAT;
            IntPtr result = SendMessageHDItem(hdrCntl, HDM_GETITEM, columnIndex, ref item);

            item.fmt &= ~(HDF_SORTUP | HDF_SORTDOWN | HDF_IMAGE | HDF_BITMAP_ON_RIGHT);

            if (NativeMethods.HasBuiltinSortIndicators()) {
                if (order == SortOrder.Ascending)
                    item.fmt |= HDF_SORTUP;
                if (order == SortOrder.Descending)
                    item.fmt |= HDF_SORTDOWN;
            }
            else {
                item.mask |= HDI_IMAGE;
                item.fmt |= (HDF_IMAGE | HDF_BITMAP_ON_RIGHT);
                item.iImage = imageIndex;
            }

            result = SendMessageHDItem(hdrCntl, HDM_SETITEM, columnIndex, ref item);
        }
开发者ID:seriesrenamer,项目名称:seriesrenamer,代码行数:34,代码来源:NativeMethods.cs


示例6: SendMessage

 public static extern IntPtr SendMessage(IntPtr hWnd, UInt32 msg, IntPtr wParam, ref HDITEM lParam);
开发者ID:lscyane,项目名称:KCBr,代码行数:1,代码来源:ListViewExtensions.cs


示例7: hasSort

 private bool hasSort(int column)
 {
     if (Environment.OSVersion.Version.Major > 5)
     {
         HDITEM hi = new HDITEM();
         hi.mask = HDI_FORMAT;
         SendMessage(_hHeaderWnd, HDM_GETITEMA, column, ref hi);
         if ((hi.fmt & (HDF_SORTUP | HDF_SORTDOWN)) > 0)
             return true;
     }
     return false;
 }
开发者ID:ViniciusConsultor,项目名称:ecustomsgs1,代码行数:12,代码来源:cHeader.cs


示例8: hasButton

 private bool hasButton(int column)
 {
     if (Environment.OSVersion.Version.Major > 5)
     {
         HDITEM hi = new HDITEM();
         hi.mask = HDI_FORMAT;
         SendMessage(_hHeaderWnd, HDM_GETITEMA, columnAtIndex(column), ref hi);
         if ((hi.fmt & HDF_SPLITBUTTON) == HDF_SPLITBUTTON)
             return true;
     }
     return false;
 }
开发者ID:ViniciusConsultor,项目名称:ecustomsgs1,代码行数:12,代码来源:cHeader.cs


示例9: drawIcon

 private void drawIcon(IntPtr hdc, int column, RECT tr)
 {
     IntPtr iml = (IntPtr)SendMessage(_hHeaderWnd, HDM_GETIMAGELIST, HDIS_STATE, 0);
     if (iml != IntPtr.Zero)
     {
         int cx = 0;
         int cy = 0;
         HDITEM hi = new HDITEM();
         ImageList_GetIconSize(iml, out cx, out cy);
         hi.mask = HDI_IMAGE;
         SendMessage(_hHeaderWnd, HDM_GETITEMA, column, ref hi);
         tr.Top = (tr.Bottom - cy) / 2;
         tr.Left += 4;
         ImageList_DrawEx(iml, hi.iImage, hdc, tr.Left, tr.Top, cx, cy, CLR_NONE, 0, ILD_TRANSPARENT);
     }
 }
开发者ID:ViniciusConsultor,项目名称:ecustomsgs1,代码行数:16,代码来源:cHeader.cs


示例10: columnAtIndex

 private int columnAtIndex(int column)
 {
     HDITEM hd = new HDITEM();
     hd.mask = HDI_ORDER;
     for (int i = 0; i < ColumnCount; i++)
     {
         if (SendMessage(_hHeaderWnd, HDM_GETITEMA, column, ref hd) != IntPtr.Zero)
             return hd.iOrder;
     }
     return 0;
 }
开发者ID:ViniciusConsultor,项目名称:ecustomsgs1,代码行数:11,代码来源:cHeader.cs


示例11: ItemSendMessage

		private static extern IntPtr ItemSendMessage(IntPtr Handle, Int32 msg, IntPtr wParam, ref HDITEM lParam);
开发者ID:TargetProcess,项目名称:Tp.Integration.Ide.VisualStudio,代码行数:1,代码来源:ListViewHelper.cs


示例12: SetHeaderImage

        /// <summary>
        /// Set the Header Column image
        /// </summary>
        /// <param name="list">ListView</param>
        /// <param name="columnIndex">Current column index</param>
        /// <param name="order">Current sort order</param>
        /// <param name="showImage">Display image in column (turn on/off image)</param>
        public static void SetHeaderImage(ListView list, int columnIndex, SortOrder order, bool showImage)
        {
            IntPtr _header;
             HDITEM _hdItem = new HDITEM();
             int _iconNumber = 0;

             //set the image index based on sort order from the smallimagelist property
             if( order == SortOrder.Ascending )
            _iconNumber = 0;
             else
            _iconNumber = 1;

             //get a handle to the listview header component
             _header = GetHeader(list.Handle);

             //set up the required structure members
             _hdItem.mask = HDI.IMAGE | HDI.FORMAT;
             _hdItem.pszText = list.Columns[columnIndex].Text;

             // check to show the indicator image
             if( showImage )
             {
            _hdItem.fmt = HDF.STRING | HDF.IMAGE | HDF.BITMAP_ON_RIGHT;
            _hdItem.iImage = _iconNumber;
             }
             else
            _hdItem.fmt = HDF.STRING;

             //modify the header
             SendMessage(_header, HDM.SETITEM, (uint)columnIndex, ref _hdItem);
        }
开发者ID:joshball,项目名称:astrogrep,代码行数:38,代码来源:Win32.cs


示例13: SetColumnPosition

 /// <summary>
 /// Set a column's position
 /// </summary>
 /// <param name="hwndLV">handle to listview</param>
 /// <param name="ColumnIndex">Column Index to set</param>
 /// <param name="iOrder">Position to set</param>
 public static void SetColumnPosition(IntPtr hwndLV, int ColumnIndex, int iOrder)
 {
     HDITEM hdi = new HDITEM();
      hdi.mask = HDI.ORDER;
      hdi.iOrder = iOrder;
      Header_SetItem(GetHeader(hwndLV), ColumnIndex, hdi);
 }
开发者ID:joshball,项目名称:astrogrep,代码行数:13,代码来源:Win32.cs


示例14: SendMessage

 /// <summary>
 /// 
 /// </summary>
 /// <param name="hWnd"></param>
 /// <param name="msg"></param>
 /// <param name="wParam"></param>
 /// <param name="lParam"></param>
 /// <returns></returns>
 public static int SendMessage(IntPtr hWnd, Enum msg, uint wParam, ref HDITEM lParam)
 {
     return SendMessage(hWnd, (uint)(WM)msg, wParam, ref lParam);
 }
开发者ID:joshball,项目名称:astrogrep,代码行数:12,代码来源:Win32.cs


示例15: Header_SetItem

 /// <summary>
 ///
 /// </summary>
 /// <param name="hwndHD"></param>
 /// <param name="index"></param>
 /// <param name="hdi"></param>
 /// <returns></returns>
 public static bool Header_SetItem(IntPtr hwndHD, int index, HDITEM hdi)
 {
     return SendMessage(hwndHD, HDM.SETITEM, (uint)index, ref hdi) != 0;
 }
开发者ID:joshball,项目名称:astrogrep,代码行数:11,代码来源:Win32.cs


示例16: Header_GetItem

        /// <summary>
        ///
        /// </summary>
        /// <param name="hwndHD"></param>
        /// <param name="index"></param>
        /// <param name="mask"></param>
        /// <returns></returns>
        public static HDITEM Header_GetItem(IntPtr hwndHD, int index, HDI mask)
        {
            HDITEM rtn = new HDITEM();

             rtn.mask = mask;
             if((mask & HDI.TEXT) == HDI.TEXT)
             {
            rtn.pszText = new string('\0', 512);
            rtn.cchTextMax = 512;
             }
             SendMessage(hwndHD, HDM.GETITEM, (uint)index, ref rtn);
             return rtn;
        }
开发者ID:joshball,项目名称:astrogrep,代码行数:20,代码来源:Win32.cs


示例17: SendMessageItem

 public static extern IntPtr SendMessageItem(IntPtr Handle, int msg, IntPtr wParam, ref HDITEM lParam);
开发者ID:nicbedford,项目名称:SystemRestoreExplorer,代码行数:1,代码来源:Win32NativeMethods.cs


示例18: SendMessage2

		private static extern IntPtr SendMessage2(
			IntPtr Handle,
			int msg,
			IntPtr wParam,
			ref HDITEM lParam );
开发者ID:divyang4481,项目名称:lextudio,代码行数:5,代码来源:ExtendedListViewControl.cs


示例19: drawSortArrow

 private void drawSortArrow(IntPtr hdc, int column, RECT tr)
 {
     if (Environment.OSVersion.Version.Major > 5)
     {
         HDITEM hi = new HDITEM();
         hi.mask = HDI_FORMAT;
         SendMessage(_hHeaderWnd, HDM_GETITEMA, column, ref hi);
         int left = (tr.Right - tr.Left) / 2 - 4;
         Rectangle ar = new Rectangle(tr.Left + left, 0, 12, 6);
         if ((hi.fmt & (HDF_SORTDOWN)) == HDF_SORTDOWN)
         {
             if (!drawThemeArrow(hdc, ar, true))
                 drawArrow(hdc, ar, true);
         }
         else
         {
             if (!drawThemeArrow(hdc, ar, false))
                 drawArrow(hdc, ar, false);
         }
     }
 }
开发者ID:ViniciusConsultor,项目名称:ecustomsgs1,代码行数:21,代码来源:cHeader.cs


示例20: ShowHeaderIcon

		/// <summary>
		/// Shows the header icon.
		/// </summary>
		/// <param name="columnIndex">Index of the column.</param>
		/// <param name="sortOrder">The sort order.</param>
		protected void ShowHeaderIcon(
			int columnIndex,
			SortOrder sortOrder )
		{
			if ( columnIndex >= 0 && columnIndex < this.Columns.Count )
			{
				IntPtr hHeader =
					SendMessage(
					this.Handle,
					LVM_GETHEADER, IntPtr.Zero, IntPtr.Zero );

				ColumnHeader colHdr = this.Columns[columnIndex];

				HDITEM hd = new HDITEM();
				hd.mask = HDI_FORMAT;

				HorizontalAlignment align = colHdr.TextAlign;

				if ( align == HorizontalAlignment.Left )
				{
					hd.fmt = HDF_LEFT | HDF_STRING | HDF_BITMAP_ON_RIGHT;
				}
				else if ( align == HorizontalAlignment.Center )
				{
					hd.fmt = HDF_CENTER | HDF_STRING | HDF_BITMAP_ON_RIGHT;
				}
				else
				{
					Debug.Assert( align == HorizontalAlignment.Right );
					hd.fmt = HDF_RIGHT | HDF_STRING;
				}

				if ( useNativeArrows )
				{
					if ( sortOrder == SortOrder.Ascending )
					{
						hd.fmt |= HDF_SORTUP;
					}
					else if ( sortOrder == SortOrder.Descending )
					{
						hd.fmt |= HDF_SORTDOWN;
					}
				}
				else
				{
					hd.mask |= HDI_IMAGE;

					if ( sortOrder != SortOrder.None )
					{
						hd.fmt |= HDF_IMAGE;
					}
					hd.iImage = (int)sortOrder - 1;
				}

				SendMessage2(
					hHeader,
					HDM_SETITEM,
					new IntPtr( columnIndex ),
					ref hd );
			}
		}
开发者ID:divyang4481,项目名称:lextudio,代码行数:66,代码来源:ExtendedListViewControl.cs



注:本文中的HDITEM类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# HFA01类代码示例发布时间:2022-05-24
下一篇:
C# HBaseClient类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap