设置ListView的页眉图标

从占位符到正式项目:零信息启动的完整落地指南 在软件开发与项目协作中,几乎每个团队都出现过用“新建文件夹”“临时命名”甚至一串无意义字符作为项目代号的经历。这种占位符看似随意,实则是项目早期需求未收敛的典型信号。如何把这类零信息输入转变成一个可落地、可交付的正式项目?关键在于建立一套从需求澄清、范围收敛到技术选型的标准化启动流程。通过追问用户、痛点与成功标准,我们能将模糊概念固化为可验证的MVP;而选型时优先考虑团队熟识度与扩展性,则能规避后续返工风险。这类方法论在内部工具、自动化脚本、批量文件处理等工程场景中极具价值。本文以一个名为“kkkkkkkk 阅读详情
*//设置ListView的页眉图标
标题:
说明:可以用来做排序修饰图标
设计:Zswang
支持:wjhu111@21cn.com
日期:2004-03-25
//*

uses CommCtrl;

function ListViewHeaderImages(mListView: TListView; mImages: TImageList): Boolean;
var
  vHandle: THandle;
begin
  Result := False;
  if not Assigned(mListView) then Exit;
  vHandle := ListView_GetHeader(mListView.Handle);
  if Assigned(mImages) then
    Header_SetImageList(vHandle, mImages.Handle)
  else Header_SetImageList(vHandle, 0);
  Result := True;
end; { ListViewHeaderImages }

function ListColumnImageIndex(mColumn: TListColumn;
  mImageIndex: Integer; mRight: Boolean = True): Boolean;
var
  vHandle: THandle;
  vHDItem: THDItem;
begin
  Result := False;
  if not Assigned(mColumn) then Exit;
  vHandle := ListView_GetHeader(TListView(mColumn.Collection.Owner).Handle);
  FillChar(vHDItem, SizeOf(vHDItem), 0);
  Header_GetItem(vHandle, mColumn.Index, vHDItem);
  if mImageIndex < 0 then begin
    vHDItem.Mask := HDI_FORMAT;
    vHDItem.fmt := HDF_STRING;
  end else begin
    vHDItem.Mask := HDI_IMAGE or HDI_FORMAT;
    vHDItem.iImage := mImageIndex;
    vHDItem.fmt := HDF_STRING or HDF_IMAGE or
      (HDF_BITMAP_ON_RIGHT * Ord(mRight));
  end;
  Header_SetItem(vHandle, mColumn.Index, vHDItem);
end; { ListColumnImageIndex }

//Example
procedure TForm1.ListView1ColumnClick(Sender: TObject;
  Column: TListColumn);
{$J+}
const vIndex: Integer = 0;
{$J-}
var
  I: Integer;
begin
  for I := 0 to TListView(Sender).Columns.Count - 1 do
    ListColumnImageIndex(TListView(Sender).Columns[I], -1);
  if Abs(vIndex) = Column.Index + 1 then
    vIndex := -vIndex
  else vIndex := Column.Index + 1;
  ListColumnImageIndex(Column, Ord(vIndex > 0));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ListViewHeaderImages(ListView1, ImageList1);
end;
嵌入式GUI实战:emWin的HEADER与ICONVIEW控件深度解析与应用 在嵌入式图形用户界面(GUI)开发中,控件(Widgets)是构建人机交互界面的核心组件。其工作原理基于事件驱动模型,通过窗口管理器(WM)处理用户输入与界面更新。掌握控件的正确使用能显著提升嵌入式设备的交互体验与开发效率,广泛应用于工业控制、医疗设备、智能家居等嵌入式系统。本文聚焦emWin图形库中的两个关键控件:HEADER控件作为表格表头,支持列宽拖拽调整,适用于数据列表展示;ICONVIEW控件则用于构建图标式菜单,支持流位图与选中高亮,是资源受限环境下实现直观导航的优选方案。通过解析其创建、配置、 阅读详情

相关推荐

emWin实战:HEADER与ICONVIEW控件从入门到精通

在嵌入式GUI开发中,控件是构建用户界面的基础单元,其核心原理在于通过窗口对象管理、消息传递和渲染机制实现人机交互。掌握控件的配置、事件处理与性能优化,能显著提升嵌入式设备的界面专业度和用户体验,尤其适用于工业HMI、智能家居面板等触摸屏应用场景。本文聚焦emWin图形库中的HEADER与ICONVIEW两个核心控件,深入剖析其工作机制与避坑指南,帮助开发者高效实现可拖拽表头与图标菜单界面,解决实际开发中的常见问题。

weixin_29159995的博客 354

list view滚动到顶部第一个item

一个项目中做了个list view显示数据,数据可以分类型进行筛选,类别切换时希望能将list view自动滚动到顶部第一个item的位置, 加入了listView.setSelection(0);居然不起作用我已为碰到了什么兼容性问题。 后来请教了个同事马上搞定,问题原因如下 原代码: videoListView.setSelection(0); videoAdapter.notify

SDliubo程序人生 2万+

QML ListView 列表视图

虽然 Repeater 在重复创建多个相似项的时候很方便,但是通常只适用于有限的简单元素,并且它还无法滚动浏览。而基于 Flickable 的视图组件(如 GridView、ListView、TableView、TreeView 等)则弥补了这些缺点,它们不但能够显示大量数据,而且还支持滚动浏览,尤其是针对复杂的布局和交互场景,可以通过分页显示、懒加载、动态更新等手段来提高性能。

青春不老,奋斗不止! 2324

Delphi TListView(TListBox+图标显示)

unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, System.ImageList,...

aishizhuang1602的博客 1034

Flutter:自定义抽屉小部件

因此,在最近的一个项目中,我决定在 Flutter 中创建一个包,其中包含各种自定义小部件,其中之一是 Drawer。它返回一个 Drawer 对象,该对象包含一个 ListView,该 ListView 包含自定义标题和菜单项列表,使用 _buildMenu 方法构建。总而言之,Drawer 是 Fl​​utter 中一个重要的可视化组件,它提供了一种简单有效的方式来在应用程序中显示侧边菜单,可用于增强用户体验并提供对其他资源的快速轻松访问。children:可选的对象列表,表示此菜单项的子项。

iCloudEnd的博客 632

浅谈MOS管的发热原因和解决办法

解读一下开关管发热原因,解决方案和开关损耗测试。

qq_45508321的博客 1万+

listview在有headerView的时候自动定位到第一项

最后方法: listview.post(new Runnable()                     {                         @Override                         public void run()                         {                             listvie

轩轩笔记 1154

【PDN仿真笔记9-使用Sigrity PowerDC进行IR Drop仿真的方法】

使用Sigrity PowerDC进行IR Drop进行仿真的方法

qq_42682826的博客 8000

Android学习笔记之ListView

简介 在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。 列表的显示需要三个元素: 1.ListVeiw 用来展示列表的View。 2.适配器 用来把数据映射到ListView上的中介。 3.数据    具体的将被映射的字符串,图片,或者基本组件。 根据列表的适配器类型,列表分为三种,ArrayAdapter,Simp

落日小屋 5016

AD20.多对多工程中将某个原理图导入PCB工程

AD20将多个原理图中的一个或多个导入到PCB文件中

鬼爷杂货铺 1万+

KEIL调试实战:解决‘TRACE HW not present‘错误的完整指南

本文详细解析了KEIL调试中常见的'TRACE HW not present'错误,该错误通常由芯片或ST-LINK调试器不支持高级指令跟踪功能引发。文章提供了从禁用Trace功能到更新固件、检查硬件连接等完整的解决步骤,帮助开发者快速恢复STM32的正常调试,是解决KEIL调试连接问题的实用指南。

weixin_29192365的博客 360

Html5学习-JQuery mobile--listview学习使用

8、列表 8.1 列表基础 (1) 标签定义列表项目。  标签定义有序列表。  标签定义无序列表。  标签可用在有序列表 () 和无序列表 () 中。  (2)为列表元素添加data-role="listview"属性后,jQuery Mobile将本地HTML列表增强为移动视图,默认占据整个屏幕;如果列表包含链接,以触摸按钮方式显示,带有右侧对齐的箭头图标;

Steampy专栏 1万+

大语言模型在建筑规范自动化合规审查中的微调策略与规模效应实践

大语言模型(LLM)通过在海量文本数据上预训练,具备了强大的语言理解和生成能力。其核心原理是基于Transformer架构,通过自注意力机制捕捉长距离依赖关系。在工程实践中,为了将这种通用能力适配到建筑、法律、金融等高度专业化的垂直领域,通常需要采用领域微调技术。微调通过使用特定领域的高质量指令数据对模型参数进行更新,使其掌握专业术语、逻辑规则和任务范式,从而解决通用模型在专业场景下知识匮乏和“幻觉”问题。结合检索增强生成(RAG)技术,将动态外部知识库作为模型的“参考手册”,能进一步提升事实准确性并降低幻

weixin_30667831的博客 362

嵌入式GUI开发实战:emWin中HEADER与ICONVIEW控件深度解析与应用

在嵌入式系统开发中,图形用户界面(GUI)是提升产品交互体验的核心组件。其底层依赖于高效的图形库进行界面渲染与事件管理,通过控件(Widget)实现各种交互元素。emWin作为一款广泛应用的嵌入式图形库,提供了丰富的控件集来构建直观的界面。HEADER控件专为数据表格设计,通过管理列标题和列宽,实现了清晰的数据结构化展示与交互式调整,其轻量化的设计哲学确保了在资源受限环境下的高效运行。ICONVIEW控件则用于构建图标视图菜单,支持网格布局、透明效果与滚动浏览,极大地简化了导航界面的开发。理解这些控件的设计

weixin_34275734的博客 381

【vsomeip3 教程】SOME/IP中间件去抖策略全解析

本文探讨了在SOME/IP中间件中实现Debounce(去抖动)机制的必要性和实现原理。文章首先分析了中间件层进行Debounce的四大动机:多订阅者共享收益、语义显式化、协议噪声屏蔽和入口处背压控制。接着详细阐述了Debounce的底层原理,包括变化检测机制(ignore和mask的应用)、时间门控策略(interval的两种时间基准)以及超时补发机制,并通过表格清晰展示了不同参数组合的效果和适用场景。最后,文章提出了工程落地的具体方法,包括策略选型、ignore/mask的设计方法论以及分层验证调试的实

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 231

WorkBuddy 技能指南:基础办公与文档处理

WorkBuddy 不仅仅是一个对话工具——它通过技能(Skills)系统,将通用 AI 助手转变为具备专业领域能力的智能助手。每个技能都是一套经过精心设计的"能力包",包含专业知识、工作流程和专用工具。本文聚焦于文档处理类技能——这是日常工作中使用频率最高、最实用的能力集合。

u011186532的专栏 702

jQuery Mobile入门学习(2)

1、 jQuery Mobile中,有一个基本的页面框架模型,就是在页面中通过将一个标记的“data-role”=“page”,形成一个容器或视图;而在这个容器中最直接的子节点应该就是“data-role”属性为“header”、“content”、“footer”3个子容器,分别形成了“标题头/页眉”、“内容”、“页脚”3个组成部分,用于容纳不同的页面内容。 2、 在一个供jQuery

lx—Word的博客 430

使用 Python 调用 GitHub REST API 爬取 GitHub 仓库信息(完整指南)

GitHub 提供了功能强大的 REST API,允许开发者通过编程方式访问 GitHub 上的仓库、用户、提交记录、PR(Pull Request)等信息。GitHub REST API 是 GitHub 官方提供的 API 接口,支持通过 HTTP 请求来操作 GitHub 上的资源。在本文中,我们将使用 Python 编写一个完整的爬虫程序,调用 GitHub 的 REST API 来爬取 GitHub 仓库的信息。目前 GitHub 使用的主要是 v3 版本的 REST API。

2201_76125261的博客 1110

jQueryMobile核心CSS类解析

摘要:jQueryMobile框架提供了一系列预定义CSS类,用于构建响应式移动网页。主要包括页面布局类(ui-page、ui-header等)、按钮样式类(ui-btn、ui-btn-active等)、列表视图类(ui-listview、ui-li等)、主题颜色类(ui-body-[theme])以及表单控件类(ui-field-contain)和响应式网格类(ui-grid)。这些类通过组合使用,可以快速创建符合移动设备特性的界面,同时保持代码简洁性和可维护性。

penganr的博客 172

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

jQuery Mobile笔记三

8、列表 8.1 列表基础 (1)&lt;li&gt; 标签定义列表项目。 &lt;ol&gt; 标签定义有序列表。 &lt;ul&gt; 标签定义无序列表。 &lt;li&gt; 标签可用在有序列表 (&lt;ol&gt;) 和无序列表 (&lt;ul&gt;) 中。  (2)为列表元素添加data-role="listview"属性后,jQuery Mobile将本地HTM

既是过河之卒,惟有奋力向前。 182

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: 用代码实现ListView控件的行间隔颜色
下一篇: 用控件(CMSComm)读串口代码(高效率,不同于网上常见的,决没有抄袭)!
xmlscript
博客等级 码龄25年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值