社区
Delphi
帖子详情
关于ViewStyle为vsReport的TListView的标题头
leonchenjian
2006-05-15 01:02:00
怎样改变ViewStyle为vsReport的TListView的标题头的背景色?
顺便还有TDBGrid标题头以及每条记录左边的那一小块空白的背景色
麻烦各位大虾帮帮忙,谢谢
...全文
169
4
打赏
收藏
关于ViewStyle为vsReport的TListView的标题头
怎样改变ViewStyle为vsReport的TListView的标题头的背景色? 顺便还有TDBGrid标题头以及每条记录左边的那一小块空白的背景色 麻烦各位大虾帮帮忙,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
leonchenjian
2006-05-28
打赏
举报
回复
谢谢~
老之
2006-05-23
打赏
举报
回复
要重绘的话参考:
http://topic.csdn.net/t/20030420/13/1684650.html
老之
2006-05-15
打赏
举报
回复
如果不想重绘的话,建议使用TMS的AdvListView,有属性可以直接设置标题头的背景颜色和字体颜色。
Delphi在T
List
View
中显示数据库.rar
Delphi在T
List
View
中显示数据库,
List
View
控件的简单用法,在日常的编程开发中,这个比较常用 。 self.
List
View
1.
View
Style
:=
vs
Report
; for i:=0 to Query1.FieldCount-1 do begin TempColumn:=self.
List
View
1.Columns.Add; TempColumn.Caption:=Query1.Fields[i].FieldName; end; Query1.First; while not Query1.Eof do begin
list
view
基本用法
Delphi
List
View
基本用法大全(转)默认分类 2009-09-29 09:27:56 阅读138 评论0 字号:大中小 订阅 Delphi高级编程 Delphi文章 WEB开发 Delphi控件 Delphi
List
View
基本用法大全 作者:seeker 日期:2009-04-19 //增加项或列(字段)
List
View
1.Clear;
List
View
1.Columns.Clear;
List
View
1.Columns.Add;
List
View
1.Columns.Add;
List
View
1.Columns.Add;
List
View
1.Columns.Items[0].Caption:='id';
List
View
1.Columns.Items[1].Caption:='type';
List
View
1.Columns.Items[2].Caption:='title';
List
View
1.Columns.Items[2].Width:=300;
List
view
1.
View
Style
:=
vs
report
;
List
view
1.GridLines:=true; //注:此处代码也可以直接在可视化编辑器中完成, 也可写成以下这样 begin with
list
view
1 do begin Columns.Add; Columns.Add; Columns.Add;
View
Style
:=
vs
report
; GridLines:=true; columns.items[0].caption:='进程名'; columns.items[1].caption:='进程ID'; columns.items[2].caption:='进程文件路径'; Columns.Items[0].Width:=100; Columns.Items[1].Width:=100; Columns.Items[2].Width:=150; end end; //增加记录 with
list
view
1.items.add do begin caption:='1212'; subitems.add('hh1'); subitems.add('hh2'); end; //删除
list
view
1.items.delete(0); //从数据库表里读取数据写入
List
view
var Titem:Tlistitem; //此处一定要预定义临时记录存储变量. begin
List
View
1.Items.Clear; with adoquery1 do begin close; sql.Clear; sql.Add('select spmc,jg,sl from kcxs'); Open;
List
View
1.Items.Clear; while not eof do begin Titem:=
List
View
1.Items.add; Titem.Caption:=FieldByName('spmc').Value; Titem.SubItems.Add(FieldByName('sl').Value); Titem.SubItems.Add(FieldByName('jg').Value); next; end; //删除
List
View
1.DeleteSelected; //如何取得
List
View
中选中行的某一列的值 procedure TForm1.Button2Click(Sender: TObject); begin ShowMessage(
List
View
1.Selected.SubItems.Strings[1]); //返回选中行第三列中的值 end; showMessage(
list
View
1.Selected.Caption); //返回选中行第一列的值. 第1列的值: -->>>
List
View
1.Selected.Caption 第i列的值(i>1):-->>>
List
View
1.Selected.SubItems.Strings[i]
List
View
1.Items.Item[1].SubItems.GetText); //取得
list
view
某行某列的值 Edit2.Text :=
list
view
1.Items[i].SubItems.strings[0]; //读第i行第2列 返回选中行所有子列值.是以回车符分开的,你还要从中剥离出来你要的子列的值。 showMessage(
List
View
1.Selected.SubItems.GetText);
List
View
简单排序的实现
List
View
排序 怎样实现单击一下按升序,再单击一下按降序。 function CustomSortProc(Item1, Item2: TListItem; ColumnIndex: integer): integer; stdcall; begin if ColumnIndex = 0 then Result := CompareText(Item1.Caption,Item2.Caption) else Result := CompareText(Item1.SubItems[ColumnIndex-1],Item2.SubItems[ColumnIndex-1]) end; procedure TFrmSrvrMain.
List
View
1ColumnClick(Sender: TObject; Column: TListColumn); begin
List
View
1.CustomSort(@CustomSortProc,Column.Index); end; =============================================================== //增加 i :=
List
View
1.Items.Count; with
List
View
1 do begin ListItem:=Items.Add; ListItem.Caption:= IntToStr(i); ListItem.SubItems.Add('第 '+IntToStr(i)+' 行'); ListItem.SubItems.Add('第三列内容'); end; //按
标题
删除 for i:=
List
View
1.Items.Count-1 downto 0 Do if
List
View
1.Items[i].Caption = Edit1.Text then begin
List
View
1.Items.Item[i].Delete(); //删除当前选中行 end; //选中一行 if
List
View
1.Selected <> nil then Edit1.Text :=
List
View
1.Selected.Caption; //
list
view
1.Items[
List
view
1.Items.Count -1].Selected := True; //
list
view
1.Items[
List
view
1.Items.Count -1].MakeVisible(True); procedure TForm1.Button2Click(Sender: TObject); // 选择第一条 begin
list
view
1.SetFocus;
list
view
1.Items[0].Selected := True; end; procedure TForm1.Button1Click(Sender: TObject); // 选择最后一条 begin
list
view
1.SetFocus;
list
view
1.Items[
List
view
1.Items.Count -1].Selected := True; end; //这是个通用的过程 procedure
List
View
ItemMoveUpDown(lv : T
List
View
; Item : TListItem; MoveUp, SetFocus : Boolean); var DestItem : TListItem; begin if (Item = nil) or ((Item.Index - 1 < 0) and MoveUp) or ((Item.Index + 1 >= lv.Items.Count) and (not MoveUp)) then Exit; lv.Items.BeginUpdate; try if MoveUp then DestItem := lv.Items.Insert(Item.Index - 1) else DestItem := lv.Items.Insert(Item.Index + 2); DestItem.Assign(Item); lv.Selected := DestItem; Item.Free; finally lv.Items.EndUpdate; end; if SetFocus then lv.SetFocus; DestItem.MakeVisible(False); end; //此为调用过程,可以任意指定要移动的Item,下面是当前(Selected)Item
List
View
ItemMoveUpDown(
List
View
1,
List
View
1.Selected, True, True);//上移
List
View
ItemMoveUpDown(
List
View
1,
List
View
1.Selected, False, True);//下移 T
List
View
组件使用方法 引用CommCtrl单元 procedure TForm1.Button1Click(Sender: TObject); begin
List
View
_DeleteColumn(My
List
View
.Handle, i);//i是要删除的列的序号,从0开始 end; 用
LIST
VIEW
显示表中的信息: procedure
view
change(listv:t
list
view
;table:tcustomadodataset;var i:integer); begin t
list
view
(listv).Items.BeginUpdate; {listv:
list
view
名} try t
list
view
(listv).Items.Clear; with table do {table or query名} begin active:=true; first; while not eof do begin listitem:=t
list
view
(listv).Items.add; listitem.Caption:=trim(table.fields[i].asstring); // listitem.ImageIndex:=8; next; end; end; finally t
list
view
(listv).Items.EndUpdate; end; end;
List
View
使用中的一些要点。以下以一个两列的
List
View
为例。 →增加一行: with
List
View
1 do begin ListItem:=Items.Add; ListItem.Caption:='第一列内容'; ListItem.SubItems.Add('第二列内容'); end; →清空
List
View
1:
List
View
1.Items.Clear; →得到当前被选中行的行的行号以及删除当前行: For i:=0 to
List
View
1.Items.Count-1 Do If
List
View
1.Items[i].Selected then //i=
List
View
1.Selected.index begin
List
View
1.Items.Delete(i); //删除当前选中行 end; 当然,
List
View
有OnSelectItem事件,可以判断选择了哪行,用个全局变量把它赋值出来。 →读某行某列的操作: Edit1.Text :=
list
view
1.Items[i].Caption; //读第i行第1列 Edit2.Text :=
list
view
1.Items[i].SubItems.strings[0]; //读第i行第2列 Edit3.Text :=
list
view
1.Items[i].SubItems.strings[1]; //读第i行第3列 以次类推,可以用循环读出整列。 →将焦点上移一行: For i:=0 to
List
View
1.Items.Count-1 Do If (
List
View
1.Items[i].Selected) and (i>0) then begin
List
View
1.SetFocus;
List
View
1.Items.Item[i-1].Selected := True; end; 不过在Delphi6中,
List
View
多了一个ItemIndex属性,所以只要
List
View
1.SetFocus;
List
View
1.ItemIndex:=3; 就能设定焦点了。 Delphi的
list
view
能实现交替颜色么? procedure TForm1.
List
View
1CustomDrawItem( Sender: TCustom
List
View
; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); var i: integer; begin i:= (Sender as T
List
View
).Items.IndexOf(Item); if odd(i) then sender.Canvas.Brush.Color:= $02E0F0D7 else sender.Canvas.Brush.Color:= $02F0EED7; Sender.Canvas.FillRect(Item.DisplayRect(drIcon)); end; 要想随时更改
List
View
中某一行的字体颜色,要在
List
View
的 OnCustomDrawItem 的事件中书写相关的代码。例如 我想更改选中的某行字体的颜色,则需要在事件中写入下的代码: if item.Index = strtoint(edit1.Text) then //该条件是用于判断是否符合更改字体颜色的行的条件。 Sender.Canvas.Font.Color := clred;
Delphi T
List
View
自绘表
头
标题
背景颜色和字体颜色示例
搜遍全网,基本都找不到Delphi自绘T
List
view
标题
背景颜色的代码,研究了很久自已实现了这个功能。
Delphi T
List
View
自绘表
头
标题
字体颜色示例(每列不同颜色)
效果如下截图:(7列
标题
分别显示不同颜色)
[转]Delphi 常用控件之T
list
View
总结
Delphi 常用控件之T
list
View
总结 要用到的(大部分是T
List
View
的
View
Style
属性设为
vs
Report
下的): T
List
View
组件的常用属性 (3)Column 属性 此属性可以访问列表视图中每一栏,Index 指定栏的序号。此属性仅当
View
Style
属性设为
vs
Report
时有效。 (4)ColumnClick 属性 如果此属性设为True,栏的表...
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章