使Delphi ListView列项可编辑
来源:互联网 发布:网络主播感谢粉丝的话 编辑:程序博客网 时间:2024/05/04 02:16
1.添加CommCtrl;
2.ListView点击事件
procedure TForm1.ListView1Click(Sender: TObject);
var
W, X, nCount: Integer;
Rect: TRect;
Pos: TPoint;
nCol: Integer;
ColSet:set of 0..3;//屏蔽列段
begin
ColSet:=[0..3];
if Assigned(ListView1.Selected) then//判断双击的区域是否为有效区域
begin
Pos := ListView1.ScreenToClient(Mouse.CursorPos);//
nCount := ListView1.Columns.Count;
X := -GetScrollPos(ListView1.Handle, SB_HORZ);
for nCol := 0 to nCount - 1 do
begin
W := ListView_GetColumnWidth(ListView1.Handle, nCol);
if Pos.X <= X + W then
begin
Break;
end;
X := X + W;
end;
nCurIndex := nCol;
if nCol = nCount then
begin
Exit;
end;
if (nCol in ColSet) then
begin
Exit; //第1,2,3,4列不允许编辑,nCol 就是选定哪一列
end;
if X < 0 then
begin
exit;
W := W + X;
X := 0;
end;
Rect := ListView1.Selected.DisplayRect(drBounds);
Pos.X := X-ListView1.Left;
Pos.Y := Rect.Top;
MapWindowPoints(ListView1.Handle, Handle, Pos, 1);
edtListview.SetBounds(Pos.X, Pos.Y, W, Rect.Bottom- Rect.Top + 3);
edtListview.Parent := ListView1;
edtListview.Top := ListView1.Selected.Top;
edtListview.Text := ListView1.Selected.SubItems[nCurIndex-1];
edtListview.Visible := True;
edtListview.SetFocus;
end;
end;
3.Edit编辑框的改变事件 及 失去焦点事件
procedure TForm1.edtListviewChange(Sender: TObject);
begin
ListView1.Selected.SubItems[nCurIndex - 1] := edtListview.Text;
end;
procedure TForm1.edtListviewExit(Sender: TObject);
begin
if edtListview.Text <> '' then
begin
ListView1.Selected.SubItems[nCurIndex-1] := edtListview.Text;
end;
edtListview.Visible := False;
end;
- 使Delphi ListView列项可编辑
- 可编辑listView controls
- ListView 某列项的颜色
- 可编辑的ListView控件
- 可编辑的ListView控件
- wpf实现可编辑listview
- 关于 listview 控件 点击列项排序
- .Net 创建可编辑ListView控件
- vb 可编辑列数据的ListView
- C# 双击ListView出现编辑框可编辑,回车确认
- 使CListCtrl可编辑
- 使WEBBROWSER 可编辑
- 使ListCtrl可编辑
- 使CListCtrl可编辑
- 使ListCtrl可编辑
- 使listcontrol可编辑
- 结合HorizontalScrollView横向滑动实现多列项ListView
- 完善 C# ListView 系列-可编辑单元格
- 共享内存实践总结
- 越瑟夫问题
- 危险的NSAutoreleasePool
- 收集的android开发文章教程等资源
- [新闻] 微软五月份安全补丁提前通知
- 使Delphi ListView列项可编辑
- 正则
- 装驱动,inf安装失败 系统找不到指定的文件 解决办法
- Java语法总结 - 内部类
- C#常用函数库
- lable标签的使用
- one-shot VS periodic timer
- 5月6号
- struts2 spring3 hibernate3整合