Bin schon seit einiger Zeit hier unterwegs, hab mich aber heute erst registriert, da mir die Foren-Suche keine Auskunft geben konnte. Ich hoffe ihr könnt mir weiter helfen.
Ich stehe vor folgendem Problem:
Ich versuche ein Doppel-Klick-Event für mein ListView zu erzeugen. Ich habe den nachfolgenden Code dafür bei google gefunden, allerdings drängt sich mir ein Problem
mit GetHitTestInfoAt auf. Mein Lazarus spuckt beim compilen folgenden Fehler aus:
Folgende Units sind eingebunden:(126,20) Error: identifier idents no member "GetHitTestInfoAt"
Ich benutze übrigens Windows XP SP2 und Lazarus 0.9.28.2 BetaLResources, typinfo,
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ImgList, Menus,IniFiles, console_unit;
Hier ist im Anschluss der Code der Doppel-Klick Prozedur
Code: Alles auswählen
procedure TForm11.ListView1DblClick(Sender: TObject);
var
hts : THitTests;
ht : THitTests;
sht : string;
ListViewCursosPos : TPoint;
selectedItem : TListItem;
begin
//position of the mouse cursor related to ListView
ListViewCursosPos := ListView1.ScreenToClient(Mouse.CursorPos);
//double click where?
hts := ListView1.[b]GetHitTestInfoAt[/b](ListViewCursosPos.X, ListViewCursosPos.Y);
//locate the double-clicked item
if hts <= [htOnIcon, htOnItem, htOnLabel, htOnStateIcon] then
begin
selectedItem := ListView1.Selected;
//do something with the double clicked item!
Caption := Format('DblClc''d : %s',[selectedItem.Caption]);
end;
end;Live