Delphi 7 pro
Vista business
名 前|性別|血液型|
=====================
山 田|男 |A |
---------------------
田 中|女 |B |
---------------------
上記のようなTListViewを使用しています。
行単位で選択できるようにし、該当行をクリックすると選択された行全体の背景が青色で表示されます。
その時にchangeイベントが実行され、各Editにデータ表示されます。
山田行や田中行を選択した時は、各Editにデータが表示されるのはいいのですが、
田中行の下の空白行を選択したときには、各Editは空白表示になります。
しかし、田中行から空白行を選択した時には、点線の囲いが田中行に残ってしまいます。
ユーザから見ると未だ点線の囲いが田中行にあるので、田中行を選択しているように見えてしまいます。
点線の囲いを、削除方法はありませんか?
よろしくお願いします。
ListView.Selected := nil;
なのかな?
点線はListItem.Focused or ItemFocusedの方だね
SelectedとFocusedは一致させといた方がいいと思うけど
>>ぽむぽむ様、ttt様
お返事ありがとうございます。
ItemFocusedにて機能を実現することができました。
ありがとうございました。
以下、ItemFocusedを追加したソースです。
procedure Form1.ListView1(Sender: TObject; Item: TListItem;
Change: TItemChange);
var
intSelectedIndex : Integer;
begin
try
//選択行番号を取得する
intSelectedIndex := ListView1.Selected.Index;
except
//点線を残らないようにする
ListView1.ItemFocused := nil;
//各Editをクリア
・・・・
Exit
end;
//選択された行のデータを各Editに表示
・・・・・
end;
ツイート | ![]() |