ListView DoubleClick - GetHitTestInfoAt Problem

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Live
Beiträge: 144
Registriert: So 22. Aug 2010, 16:06
OS, Lazarus, FPC: Backtrack 5 RC4 - 64bit Gnome
CPU-Target: 64bit
Wohnort: NRW
Kontaktdaten:

ListView DoubleClick - GetHitTestInfoAt Problem

Beitrag von Live »

Hey alle zusammen!

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:
(126,20) Error: identifier idents no member "GetHitTestInfoAt"
Folgende Units sind eingebunden:
LResources, typinfo,
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ImgList, Menus,IniFiles, console_unit;
Ich benutze übrigens Windows XP SP2 und Lazarus 0.9.28.2 Beta


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;
Liebe Grüße

Live

Socke
Lazarusforum e. V.
Beiträge: 3183
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: ListView DoubleClick - GetHitTestInfoAt Problem

Beitrag von Socke »

Ich arbeite zur Zeit mit Lazarus R27148 aus dem SVN-Trunk (0.9.29). Hier ist diese Funktion vorhanden (und auch implementiert!).
Wenn für dich kein Update in Frage kommt, hab ich mal die Methode in eine Funktion umgeschrieben. Es ist aber möglich, dass die Widgetset-Methode bei dir noch gar nicht implementiert ist.

Code: Alles auswählen

uses ComCtrls, WSComCtrls;
function ListViewGetHitTestInfoAt(aListView: TCustomListView; X, Y: Integer): THitTests;
begin
  Result := [];
  if aListView.HandleAllocated then
    Result := TWSCustomListViewClass(aListView.WidgetSetClass).GetHitTestInfoAt( aListView, X, Y );
end;
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Live
Beiträge: 144
Registriert: So 22. Aug 2010, 16:06
OS, Lazarus, FPC: Backtrack 5 RC4 - 64bit Gnome
CPU-Target: 64bit
Wohnort: NRW
Kontaktdaten:

Re: ListView DoubleClick - GetHitTestInfoAt Problem

Beitrag von Live »

Socke hat geschrieben:Ich arbeite zur Zeit mit Lazarus R27148 aus dem SVN-Trunk (0.9.29). Hier ist diese Funktion vorhanden (und auch implementiert!).
Wenn für dich kein Update in Frage kommt, hab ich mal die Methode in eine Funktion umgeschrieben. Es ist aber möglich, dass die Widgetset-Methode bei dir noch gar nicht implementiert ist.

Code: Alles auswählen

uses ComCtrls, WSComCtrls;
function ListViewGetHitTestInfoAt(aListView: TCustomListView; X, Y: Integer): THitTests;
begin
  Result := [];
  if aListView.HandleAllocated then
    Result := TWSCustomListViewClass(aListView.WidgetSetClass).GetHitTestInfoAt( aListView, X, Y );
end;
Habe das mal ausprobiert, bringt aber keine Besserung, da die Widgetset-Methode wohl noch nicht implementiert ist.
(56,64) Error: identifier idents no member "GetHitTestInfoAt"
(128,20) Error: identifier idents no member "GetHitTestInfoAt"
(160) Fatal: There were 2 errors compiling module, stopping
Werde wohl mal Lazarus aus dem SVN-Trunk ausprobieren, bevor ich mich hier weiter quäle ;)

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: ListView DoubleClick - GetHitTestInfoAt Problem

Beitrag von Euklid »

Vorweg: Willkommen im Forum!
Live hat geschrieben:
Socke hat geschrieben:Werde wohl mal Lazarus aus dem SVN-Trunk ausprobieren, bevor ich mich hier weiter quäle ;)
... oder eine Daily Snapshot: http://www.hu.freepascal.org/lazarus/" onclick="window.open(this.href);return false;

Erspart Arbeit ;)

Viele Grüße, Euklid

Antworten