`

获取系统菜单图标

    博客分类:
  • MFC
阅读更多

ListView简单实用

1.首先定义一个某个文件结构信息SHFILEINFO info;

2.调用SHGetFileInfo函数来获取文件信息

3.将文件信息中的图标信息放入定义好的imageList里面

 

/**具体代码

m_tilLarge.Create(32,32,ILC_COLOR32,10,30); //定义图标所存储的CImageList
m_tLPListCtrl->SetImageList(&m_tilLarge,LVSIL_NORMAL);//把ImageList设置到现实的图片列表中

 

SHFILEINFO info;
SHGetFileInfo(str+_T("\\")+ OneFile.GetFileName(),0,&info,sizeof(&info),SHGFI_DISPLAYNAME | SHGFI_ICON);
int i = m_tilLarge.Add(info.hIcon);//返回插入时候的index从0开始 如果返回-1就是失败了

*/

 

SetImageList 有3种状态:

  • LVSIL_NORMAL   Image list with large icons.

  • LVSIL_SMALL   Image list with small icons.

  • LVSIL_STATE   Image list with state images.

设置状态图标的话当图标有状态的时候使用状态图标

 

ListView样式

      LVS_ICON: 为每个item显示大图标
      LVS_SMALLICON: 为每个item显示小图标
      LVS_LIST: 显示一列带有小图标的item
      LVS_REPORT: 显示item详细资料

      直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料”

 

设置listctrl 风格及扩展风格

       LONG lStyle;
      lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获取当前窗口style
      lStyle &= ~LVS_TYPEMASK; //清除显示方式位
      lStyle |= LVS_REPORT; //设置style
      SetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle);//设置style
 
      DWORD dwStyle = m_list.GetExtendedStyle();
      dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl)
      dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl)
      dwStyle |= LVS_EX_CHECKBOXES;//item前生成checkbox控件
      m_list.SetExtendedStyle(dwStyle); //设置扩展风格

SHGetFileInfo函数中参数UFLAGS

    SHGFI_ICON;           //获得图标
    SHGFI_DISPLAYNAME;    //获得显示名
    SHGFI_TYPENAME;       //获得类型名
    SHGFI_ATTRIBUTES;     //获得属性
    SHGFI_LARGEICON;      //获得大图标
    SHGFI_SMALLICON;      //获得小图标
    SHGFI_PIDL;           // pszPath是一个标识符

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    vc++6.0实现带图标的菜单

    // 加载系统默认的图标 ``` 或者从资源中加载: ```cpp HICON hIcon = LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDR_MYICON)); // 加载自定义图标资源 ``` 3. **设置菜单项的图标**: 在MFC中,...

    android 系统自带图标

    "android 系统自带图标"这个主题涵盖了Android平台中内置的各种图标资源,这些图标通常用于系统界面、应用启动器、通知栏、设置菜单等多个方面。 描述中的"九宫格处理过"可能指的是这些图标被组织成九宫格样式展示...

    获取系统程序图标

    这些图标由操作系统提供,用于在桌面、开始菜单、文件浏览器等界面中展示。要获取系统程序图标,开发者通常会使用.NET Framework或.NET Core中的类库来实现,特别是对于WPF(Windows Presentation Foundation)应用...

    增加右键菜单到你的程序的系统托盘图标

    为了提高用户体验和程序的可操作性,开发者有时会希望在自定义程序的系统托盘图标上添加右键菜单,让用户能够快速访问和控制程序的功能。标题“增加右键菜单到你的程序的系统托盘图标”所涉及的知识点就是如何实现这...

    仿MacOS苹果系统底部图标菜单动画代码

    在本项目中,我们主要探讨的是如何利用JavaScript和CSS3技术来实现仿MacOS苹果系统底部图标菜单的动画效果。这种效果通常出现在苹果操作系统的Dock栏上,它为用户提供了一种直观且美观的界面交互方式。下面将详细...

    win7修改开始菜单图标

    访问这个网址可以获取更多关于如何安全有效地修改开始菜单图标的步骤和建议。 4. **82 Sample Orbs**:"Orb"是Windows 7开始按钮的术语,指的是那个圆形的图标。这个文件可能是包含82个不同样式的开始按钮图标集合...

    创建 菜单图标 资料

    综上所述,这段代码实现了获取当前系统的菜单图标尺寸,然后加载一个位图资源,并将其设置到菜单项上作为图标的过程。这对于开发图形用户界面的应用程序来说是非常基础且重要的步骤之一。通过这种方式,开发者可以...

    位图菜单16象素.rar_像素图标_菜单_菜单 图标

    在这个主题中,我们将深入探讨16像素位图菜单图标的设计原则、技巧和相关知识。 首先,我们要理解“像素图标”的概念。像素图标是以单个像素为基本单位进行绘制的图形,每一个像素的颜色和位置都至关重要,因为它们...

    多级菜单的图标添加及路由配置.rar

    2) **处理数据**:获取菜单数据,可能来自后端API或者静态JSON文件,确保包含所有菜单项和它们的层级信息。 3) **构建菜单**:根据数据生成菜单组件,同时根据菜单结构配置嵌套的路由。 4) **图标绑定**:在每个...

    向窗体的系统菜单添加菜单项

    // 获取当前窗体的系统菜单句柄 // 向系统菜单添加一个新菜单项 IntPtr exitId = new IntPtr(100); // 可以自定义ID AppendMenu(hMenu, MF_POPUP | MF_SEPARATOR, exitId, "退出"); // 使用AppendMenu函数添加...

    vc++真彩色图标的系统菜单的实现

    3. **修改系统菜单**:获取当前窗口的系统菜单,然后使用`SetMenuItemInfo()`函数替换特定菜单项的图标。 ```cpp HMENU hSysMenu = GetSystemMenu(hwnd, FALSE); // 获取系统菜单 MENUITEMINFO mii; ZeroMemory(&...

    (API)置菜单图标,32位带Alpha通道

    在这个情况下,"置菜单图标,32位带Alpha通道"的API功能是关于在应用程序的菜单栏设置图标,且这些图标具有32位色彩并包含Alpha通道。 32位色彩是指每个像素由8位红色、8位绿色、8位蓝色和8位Alpha组成,总共32位。...

    获取程序的图标

    在Delphi编程环境中,获取程序的图标是一项常见的任务,它涉及到操作系统资源的处理和图像处理技术。本篇文章将深入探讨如何在Delphi中实现这一功能。 首先,我们需要了解Windows操作系统中的图标是如何存储的。一...

    windows 10 系统图标.zip

    最后,如果你不熟悉如何使用这些图标,可以通过搜索引擎(如百度)查找“Windows 10 系统图标 使用教程”等关键词,来获取详细的操作指南和示例代码。学习如何在编程语言(如C#、Java、Python等)中处理和显示图标...

    android 系统图标 icon

    4. 菜单图标(Menu Icons):出现在上下文菜单或选项菜单中,用于执行特定操作。 在设计Android图标时,需要遵循以下原则: 1. 清晰可读:图标需要在小尺寸下也能清晰识别,避免过多的细节。 2. 一致性:图标应与...

    WIN7系统图标

    在实际应用中,这些图标通过系统资源管理器、开始菜单、任务栏等界面与用户交互。开发者可以使用.NET Framework或者WinAPI函数来获取和使用这些图标,例如LoadIcon()函数可以加载系统图标资源。此外,用户也可以...

    JAVA系统托盘图标控制程序

    在Java编程语言中,系统托盘图标(System Tray Icon)是一种功能强大的用户界面元素,它允许应用程序在操作系统任务栏的托盘区域显示图标并提供菜单或快捷操作,即使主窗口被最小化或隐藏也能与用户交互。...

    解决Android4.0中菜单设置图标无效问题

    在上述代码中,我们首先尝试加载`com.android.internal.view.menu.IconMenuItemView`类,这是系统用于显示菜单图标的视图。然后,我们获取`MenuItem`的`ActionView`,并检查它是否是`IconMenuItemView`的实例。如果...

    C#_Win32API操纵系统菜单

    1. **获取系统菜单句柄**:通过调用 `GetSystemMenu` 函数来获取系统菜单的句柄。该函数接受一个窗口句柄和一个布尔值,布尔值表示是否将系统菜单重置为默认状态。 2. **修改菜单项**:使用 `AppendMenu`, `...

Global site tag (gtag.js) - Google Analytics