![]() |
Im ListView OnClick SpaltenIndex heraus finden....
Hallo... ich habe eine frage zur ListView hab schon gesucht aber nichts gefunden. Und zwar bekomme ich mit listView1.ItemIndex ja den Index der aktiven zeile. Kann ich auch irgendwie den Index der aktiven Spalte herausfinden?
Denn ich möchte mit einem Eintrag etwas machen, aber nur wenn der User bei dem Eintrag auf die 4 Spalte klickt, weiß aber nicht wie ich das heraus finden kann.... |
Re: Im ListView OnClick SpaltenIndex heraus finden....
Delphi-Quellcode:
procedure TForm1.ListView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); var links, Spalte: integer; begin links:= 0; for Spalte:= 0 to ListView1.Columns.Count- 1 do begin if (links<= x) and (x < (links+ ListView1.Columns.Items[Spalte].Width)) then break; inc(links, ListView1.Columns.Items[Spalte].Width); end; Showmessage('Spalte: '+ inttostr(Spalte)); end; |
Re: Im ListView OnClick SpaltenIndex heraus finden....
sehr sehr geil... danke... das geht super
|
Re: Im ListView OnClick SpaltenIndex heraus finden....
Gut, wenn man sich zu helfen weiß.
Wer mindestens Version 4.70 der Common Controls installiert hat, der kann es auch so angehen:
Delphi-Quellcode:
Getestet habe ich so:
uses
CommCtrl; // min. 4.70 function GetItemAt(lv: TListView; X, Y: Integer; var iSubItem: Integer): TListItem; var hti: TLVHitTestInfo; begin hti.pt := Point(X, Y); iSubItem := ListView_SubItemHitTest(lv.Handle, @hti); if iSubItem >= 0 then begin Result := lv.Items[iSubItem]; iSubItem := hti.iSubItem; end else Result := nil; end;
Delphi-Quellcode:
Freundliche Grüße vom marabu
procedure TTestForm.ListViewMouseMove(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]) end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz