Name des Objektes unter dem Maus-Zeiger
-
Wie kommt man z.B. bei einer ListView an den Namen (Caption) des Elementes unter dem Maus-Zeiger (Cursor) heran ?
Bei Buttons löse ich das Problem z.B. so:
void __fastcall TForm1::GroupBox1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { AnsiString ButtonCaption = ((TButton *)Sender)->Caption; }bei der ListView funktioniert das oben genannte leider nicht.
Jemand einen Vorschlag ?
==>Eisbeer<==
-
Hallo
Dazu brauchst du die Funktion TListView::GetItemAt
bis bald
akari
-
Danke. Gut umgesetzt.
Wenn der Cursor jedoch nicht auf ein TListItem zeigt (z.B. am Ende der Liste oder am Rand) Bricht das Programm ab.
Habe es bis jetzt so gelößt...
void __fastcall TForm1::ListView1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { TListItem* MeinItem = ListView1->GetItemAt(X,Y); if (MeinItem->Caption == "") //Hier entsteht der Fehler { //Tritt auf, wenn der Cursor nicht auf einen Eintrag zeigt } else { Form1->Caption = MeinItem->SubItems->operator [](2); } }==>Eisbeer<==
-
Denkfehler...
habe
if (MeinItem->Caption == "")durch
if (!MeinLinkesItem)ersetzt, und es läuft prima...
==>Eisbeer<==