AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Im ListView OnClick SpaltenIndex heraus finden....

Im ListView OnClick SpaltenIndex heraus finden....

Ein Thema von kingflo · begonnen am 31. Jan 2007 · letzter Beitrag vom 31. Jan 2007
Antwort Antwort
kingflo

Registriert seit: 21. Jun 2004
Ort: Hamburg
502 Beiträge
 
Delphi 7 Professional
 
#1

Im ListView OnClick SpaltenIndex heraus finden....

  Alt 31. Jan 2007, 13:48
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....
Florian Gilde
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Im ListView OnClick SpaltenIndex heraus finden....

  Alt 31. Jan 2007, 14:39
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;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
kingflo

Registriert seit: 21. Jun 2004
Ort: Hamburg
502 Beiträge
 
Delphi 7 Professional
 
#3

Re: Im ListView OnClick SpaltenIndex heraus finden....

  Alt 31. Jan 2007, 14:42
sehr sehr geil... danke... das geht super
Florian Gilde
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Im ListView OnClick SpaltenIndex heraus finden....

  Alt 31. Jan 2007, 18:25
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:
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;
Getestet habe ich so:

Delphi-Quellcode:
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;
Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf