社区
Delphi
帖子详情
急!急!急!ListView的标题(Column)怎么改变颜色?
smallyan
2004-06-29 09:20:43
如题!哪样仁兄能帮帮小弟!
...全文
353
8
打赏
收藏
急!急!急!ListView的标题(Column)怎么改变颜色?
如题!哪样仁兄能帮帮小弟!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jackie168
2004-09-29
打赏
举报
回复
修改樓上得來的://效果好像還不如沒改過的,呵呵~~
uses CommCtrl;
procedure TForm1.Button1Click(Sender: TObject);
var
dc:hdc;
r1,r2:trect;
hhwnd:Thandle;
begin
hhwnd := SendMessage(listview1.Handle, LVM_GETHEADER, 0, 0);
dc:=getwindowdc(hhwnd);
getwindowrect(hhwnd,r1);
offsetrect(r1,-r1.Left,-r1.Top);
r2:=r1;
r2.Right:=listview1.Columns[0].Width;
fillrect(dc,r2,getstockobject(LTGRAY_BRUSH));
r2.Left:=r2.Right;
r2.Right:=r2.Left+listview1.Columns[1].Width;
fillrect(dc,r2,getstockobject(GRAY_BRUSH));
releasedc(hhwnd,dc);
end;
fj218
2004-09-29
打赏
举报
回复
引用CommCtrl单元,listview1的viewstyle设为vsReport。
procedure TForm1.Button1Click(Sender: TObject);
var
dc:hdc;
r1,r2:trect;
begin
hhwnd := SendMessage(listview1.Handle, LVM_GETHEADER, 0, 0);
dc:=getwindowdc(hhwnd);
getwindowrect(hhwnd,r1);
offsetrect(r1,-r1.Left,-r1.Top);
r2:=r1;
r2.Right:=listview1.Columns[0].Width;
fillrect(dc,rc2,getstockobject(white_brush));
r2.Left:=r2.Right;
r2.Right:=r2.Left+listview1.Columns[1].Width;
fillrect(dc,rc2,getstockobject(white_brush));
releasedc(hhwnd,dc);
end;
参考一下,自己再做修改
jackystar
2004-09-29
打赏
举报
回复
这个画出来都是黑色?
有人搞定没?
aushqh
2004-08-03
打赏
举报
回复
这个会一直闪动,关注中。。。。
juliens
2004-07-28
打赏
举报
回复
把GetClientRect(hwnd, Rect);这句改成Windows.GetClientRect(hwnd, Rect);就行了!
Result := CallWindowProc(nil, hwnd,uMsg, wParam, lParam);这句没有错!
bluesky23
2004-07-28
打赏
举报
回复
学习
fei19790920
2004-06-29
打赏
举报
回复
procedure SetListHeadColor(hListView:HWND; Color:TColor);
var
hHeader: HWND;
OldProc: FARPROC;
function NewHeadProc(hwnd:HWND; uMsg:UINT;
wParam:WPARAM; lParam:LPARAM): Longint; stdcall;
var
Rect:TRect;
Canvas: TCanvas;
Bmp: TBitmap;
begin
Result := CallWindowProc(OldProc, hwnd,
uMsg, wParam, lParam);
if uMsg = WM_PAINT then
begin
GetClientRect(hwnd, Rect);
Bmp := TBitmap.Create;
Bmp.Width := Rect.Right;
Bmp.Height := Rect.Bottom;
Canvas := TCanvas.Create;
Canvas.Handle := GetDC(hwnd);
Bmp.Canvas.CopyRect(Rect, Canvas, Rect);
Bmp.Transparent := true;
Bmp.TransparentColor := clBtnFace;
Canvas.Brush.Color := Color;
Canvas.Rectangle(Rect);
Canvas.Draw(0, 0, Bmp);
ReleaseDC(hwnd, Canvas.Handle);
Canvas.Free; Bmp.Free;
end;
end;
begin
hHeader := FindWindowEx(hListView, 0,
'SysHeader32', Nil);
OldProc := FARPROC(SetWindowLong(hHeader,
GWL_WNDPROC, LongInt(@NewHeadProc)));
InvalidateRect(hHeader, Nil, FALSE);
end;
smallyan
2004-06-29
打赏
举报
回复
为什么会报错
错在这行!
Result := CallWindowProc(nil, hwnd,uMsg, wParam, lParam);
Flutter三方库适配OpenHarmony【coin_flip】抛硬币动画项目完整实战
Flutter 抛硬币动画项目适配 OpenHarmony 实战 本文介绍了如何将一个基于 Flutter 的抛硬币动画应用 coin_flip 适配到 OpenHarmony 平台。该项目实现了硬币翻转动画、随机正反面、点击防抖和统计计数功能,是一个典型的轻量级跨平台应用案例。 项目特点: 使用 Material 3 设计风格 核心功能集中在单个文件 lib/main.dart 包含动画、状态管理和跨端渲染验证点 技术要点: 使用 AnimationController + Tween 驱动 2 秒翻转动
Unity UI Toolkit入门:5分钟实现可交互计数器
在Unity游戏开发中,UI系统是连接玩家与游戏世界的桥梁,其性能与开发效率直接影响项目进度。传统UGUI系统虽成熟,但在处理动态界面与数据绑定时面临挑战。UI Toolkit作为Unity新一代UI解决方案,借鉴了Web前端开发模式,通过UXML定义结构、USS管理样式、C#驱动逻辑,实现了关注点分离。这种架构不仅提升了界面渲染效率,更便于团队协作与维护。其核心机制包括基于Visual Tree的查询系统与CSS层叠思想的样式系统,为复杂UI开发提供了坚实基础。本文以经典的可交互计数器为例,结合Unity
vllm-openai-vllm-x86-64-cu13-0.25.1-7a33ba9-docker-archive.tar.7z.006
1
实用代码脚本易语言源码汉语朗读模块
实用代码脚本易语言源码汉语朗读模块
miniaudio.h
miniaudio.h
Delphi
5,943
社区成员
262,942
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章