1)怎样改变每一行的高度?(在vsreport状态下)
2)怎样实现点击标题行排序的功能?请给出具体代码!
多谢!
2)怎样实现点击标题行排序的功能?请给出具体代码!
多谢!
解决方案 »
- 请教一个关于消息的问题
- VF代码转Delphi中宏问题,急
- 对字段进行整理和排序!
- [救助]如何在Edit中显示WebBrowser1的指定text文本!!!
- 如何用代码让DBLookupComboBox控件弹出下拉框?
- Delphi在现在主要开发一些什么东东!!??
- 三○○分相求一个往ACCESS数据库里面写图片文件或DOC文档的列子!(急)
- 如何获取指定进程的句柄?
- POPUPMENU动态创建的菜单怎样保存???在线等待。。。。。。。。。。
- 如何在Dbgrid单元格中显示不同的颜色?
- 各位如果使用DELPHI+VSS处理多用户开发问题,谢谢
- 简单问题,送分,如何返回用Query查询得到的记录条数?
2)点击标题排序用TCustomListView.CustomSort,看看帮助吧。
具体代码:
procedure TfrmCenter.lvCenterColumnClick(Sender: TObject;
Column: TListColumn); //lvCenter---Tlistview;
begin
if lvCenter.Items.Count = 0 then Exit; intSortColumn := Column.Index;
if blvCenter[intSortColumn] then lvCenter.CustomSort(@CustomSortDescProc, 0)
else lvCenter.CustomSort(@CustomSortAscProc, 0);//asc-正序
blvCenter[intSortColumn] := not blvCenter[intSortColumn];
end;
function CustomSortAscProc(Item1, Item2: TListItem; ParamSort: integer): integer; stdcall;
begin
if intSortColumn = 0 then
Result := CompareText(Item1.Caption, Item2.Caption)
else if intSortColumn > 0 then
Result := CompareText(Item1.SubItems[intSortColumn - 1], Item2.SubItems[intSortColumn - 1]);
end;function CustomSortDescProc(Item1, Item2: TListItem; ParamSort: integer): integer; stdcall;
begin
if intSortColumn = 0 then
Result := - CompareText(Item1.Caption, Item2.Caption)
else if intSortColumn > 0 then
Result := - CompareText(Item1.SubItems[intSortColumn - 1], Item2.SubItems[intSortColumn - 1]);
end;
2、自己在OnColumnClick事件里面写排序代码
procedure TFrmMain.LV1AdvancedCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
begin
if item.Index mod 2 = 1 then
sender.Canvas.Brush.Color:=clskyblue
else
sender.bCanvas.Brush.Color:=clmoneygreen;
end;
改变字体解决不了问题,因为每一行文字还是紧贴着上下边框!
Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
begin
//DefaultDraw := False;
Sender.Canvas.Rectangle(Item.DisplayRect(drLabel));
end;