Hallo,
ich habe diesen Beitrag gefunden, um einen eignen Hint anzuzeigen. Diese Lösungen funktionieren gut, solange ich RowSelect Eigenschaft auf True nicht eingestellt habe. Gegebenenfalls wird der Hint nicht richtig angezeigt.
Ich habe diese Prozedur bearbeitet:
Code:
procedure TForm1.ListView1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
li: TListItem;
iItem, iSubItem: Integer;
begin
li := GetItemAt(Sender as TListView, X, Y, iSubItem);
if Assigned(li)
then iItem := li.Index
else iItem := -1;
Caption := Format('Item %d SubItem %d', [iItem, iSubItem]);
if iitem <> -1 then
begin
if iSubItem = 0 then
ListView1.Hint:=ListView1.Items[iitem].Caption
else
ListView1.Hint:=ListView1.Items[iitem].SubItems[iSubItem-1];
end;
end;
und im Form.Caption werden richtige Daten des iItems und iSubItems angezeigt, und zwar sowohl wenn RowSelect eines TreeView auf True als auch auf False eingestellt ist. Der Hint wird hingegen nur bei False richtig angezeigt. Mache ich etwas falsch? Ich arbeite unter Delphi 7.
Vielen Dank für Hilfe im Voraus