Delphi 使用键在 View 列表中导航

标签 delphi

再次问候程序员,我原谅最后一个问题。错误的信息给出了错误的答案:) 我将尝试用一个更好的例子来解释。我在 Delphi XE3 中使用 TListview(我知道它不适合这种用途),下面我有按键代码。

但首先我用数据填充 ListView :

procedure TForm1.FormCreate(Sender: TObject);
Var
I,C : Integer;
  Item : TListItem;
begin
for C := 0 to 8 do
begin
   ListView1.Columns[C].caption := 'Ip Address '+ IntToStr(C);

    Item:=ListView1.Items.Add;
  Item.Caption:=Format('%d.%d',[i,1]);
  Item.SubItems.Add(Format('%d.%d',[i,2]));
  Item.SubItems.Add(Format('%d.%d',[i,3]));
  Item.SubItems.Add(Format('%d.%d',[i,4]));
  Item.SubItems.Add(Format('%d.%d',[i,5]));
  Item.SubItems.Add(Format('%d.%d',[i,6]));
  Item.SubItems.Add(Format('%d.%d',[i,7]));
  Item.SubItems.Add(Format('%d.%d',[i,8]));

end;
end;

//然后在keydown上
procedure TForm1.ListView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
Var LItem: TListItem;
begin
if Key = VK_RETURN  then
if Assigned(ListView1.Selected) then
ListView1.Selected.EditCaption;

到现在为止还挺好。现在,在结束编辑单元格后,我需要使用左右箭头导航到子项中所选单元格的左侧或右侧。当我导航时,我需要 Listview 在单元格周围阴影或绘制一个框架(如 excel)。 Listview 应该处于报告 View 模式,但仍显示选定单元格周围的框架。我还需要设置它,例如只有 col 3、5 和 6 应该可以使用键。

我尝试了一些代码,但它不起作用。
下面是我是如何开始的。
if Key in [VK_LEFT,VK_RIGHT] then

case Key  of
VK_LEFT:   if ListView1.Selected.Index < ListView1.Columns.Count +1 then
             begin

               end;

VK_RIGHT:  if ListView1.Selected.Index > ListView1.Selected.Index -1 then  

 Begin 

        end;
end;

任何帮助都会很棒...
先感谢您。
PS我已经测试了其他增强的Listviews,这不是问题。但是我使用标准 Listview 构建的系统非常复杂,所以我现在想使用标准...

最好的祝福...

最佳答案

使用 TStringGrid零件。有了它,可以使用箭头键切换列。

关于Delphi 使用键在 View 列表中导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19422112/

相关文章:

android - 如何使用SELECT SQLite语句并将数据输出为字符串?

delphi - 为什么我的 Delphi 初始屏幕上的图标和信息只在第一次显示?

delphi - 如何在使用 FMX 时在 delphi 中设置背景图像

delphi - 有什么方法可以验证文件名吗?

string - Cmd字符串到delphi中的PAnsiChar

delphi - 我可以将扩展记录的方法分配给Delphi中的事件吗?

delphi - 如何告诉 Delphi 在 DXS 中使用本地项目的 Security.pas 文件而不是 Winapi.Security.pas?

delphi - 在Delphi中使用ShellExecuteEx在同一命令行中运行多个任务

html - Delphi TWebBrowser 作为 HTML 编辑器 - 获取字体属性

delphi - 我可以在我的应用程序中链接谷歌地图而无需支付费用吗?