my god!请给出详细的代码!谢谢拉!!!不够可以加分哟
解决方案 »
- 如何用 delphi 列出 局域网 所有在线的 机器的 ip
- 请教高手:将数据表中的某字段的全部记录作为dbcombobox的选项???急盼!!!
- 求教用excelworksheet控件如何保存文件/
- (年轻问题)如何与系统自动设置数据库?
- 大家的笔记本都是什么牌子啊?服务好吗?
- TRichEdit 的问题 ???
- 我要写一个软件,大家提建议吧
- win98默认安装带不带DCOM98,如果不带,哪里可以得到DCOM98,另win98系统能否作应用服务器?
- 心情不错,散分了!
- 小调查:有一到两年工作经验的程序员的薪金是多少?
- 在DBGrid中添加数据,当记录不符合某条件时不允许上下卷动(即只能定位在该记录),如何实现
- 高分求助
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
i: integer;
IconRect: TRect;
image: TBitMap;
size1: Size;
begin
//只适用于list与report方式;
i := Item.ImageIndex;
Image := TBitMap.Create;
ImageList1.GetBitmap(i, image);
IconRect := Item.DisplayRect(drIcon);
//得到字符的宽度;
GetTextExtentPoint32(GETDC(ListView1.Handle), pchar(Item.Caption), Length(Item.Caption), Size1);
//画字
ListView1.Canvas.TextOut(IconRect.Left ,IConRect.Top ,Item.Caption); IconRect.Left := IconRect.Left + Size1.cx;
IconRect.Right := IconRect.Left + 16;
ListView1.Canvas.CopyRect(IconRect, Image.Canvas, Rect(0,0,16,16)); Image.Free;
DefaultDraw := False;
end;
最上面的可以对数据进行升降序排列的按钮在上面画个升降序图标!
而不是Item上面画啦!哎……(虽然你的水平很高,不复合我的要求)
再请赐教!!
用LoadFromResourceName则可,如果你真的想解决问题,我一定让你满意。
使用LoadFromResourceName则可。如果你真的想解决问题,本人可以尽其所能让你满意。
我的一个程序里面使用两个ListView组件并且可调用了
NetColumnToSort := Column.Index;
(Sender as TCustomListView).AlphaSort;
ProColumnToSort := Column.Index;
(Sender as TCustomListView).AlphaSort;
进行排序!可是对第二ListView进行排序后
再次刷新时,就会出现以下奇怪的错误提示:
list index out of bounds(1),
或
list index out of bounds(2),
或
list index out of bounds(3),
……之类
,而不对它进行排序就没有以后错误提示!
怎么解决这个问题?
为什么第一个ListView组件没有这个问题!?
哎,真是莫名奇妙的!
我不知道你的工程具体情况,程序中是否还存在其它未发现的错误,也不太明白你提这个问题的意图,不过一般我在写代码时会尽可能地考虑可能出现的错误,如果不可预知的错误出现则不要再执行后面的代码,例如你的排序出错很显然是因为Column.Index的值已大于视图已有的列数,也就是说比如你的视图只有3列,但你却要以4或5等列为排序Index。
以下代码可以避开这种错误:
if Column.Index > ListView1.Columns.Count-1 then Exit;
ProColumnToSort := Column.Index;
(Sender as TCustomListView).AlphaSort
一定要将ListView1.SortType:=stNone;!!
一个完整的功能增强的TListView组件,欢迎下载!
马上要去南京了,请快点哟!高手