ListView vsReport時にキー操作での項目選択で上下をつなげる
|
20 |
ListViewSelectRotation |
動作確認 |
Delphi2007 |
更新日 |
2008/01/07(月) |
ListViewをvsReportの形式で使っているときに
キーボードで上下させてItemを選択する場合があるでしょう。
そのとき、一番上のItemを選択している状態で
上カーソルキーを押すと一番下のItemが選択され、
一番下のItemを選択している状態で
下カーソルキーを押すと一番上のItemが選択される
UIを実装しました。
押しっぱなしにしても正しく動くように
OnKeyDownイベントを使います。
────────────────────
//ListViewの上下移動
procedure TForm1.ListView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ListView1.ItemIndex = 0 then
begin
if Key=VK_UP then
begin
Key := 0;
ListView1.ItemIndex := ListView1.Items.Count-1;
ListView1.ItemFocused := ListView1.Items[ListView1.ItemIndex];
end;
end else
if ListView1.ItemIndex = ListView1.Items.Count-1 then
begin
if Key=VK_DOWN then
begin
Key := 0;
ListView1.ItemIndex := 0;
ListView1.ItemFocused := ListView1.Items[ListView1.ItemIndex];
end;
end;
end;
────────────────────
|