So, jetzt habe ich in dem Zusammenhang noch ein Problem:
Durch einen Klick mit der linken Maustaste wird in der TListbox der Itemindex auf das Element gesetzt, auf das geklickt wurde.
Bei einem Klick mit der rechten Maustaste passiert das aber nicht, es wird das Popup-menü aufgerufen, aber der Itemindex bleibt unverändert, unter Umständen bei einem anderen Item als bei dem, auf das geklickt wurde.
Ich würde aber gerne auch bei einem Rechtsklick manche der Menüaktionen spezifisch für ein bestimmtes Item der Listbox machen, ohne dass der User erst mit der linken Taste das Item anklicken muss, bevor er rechts klickt.
Dazu wollte ich zusätzlich zum Popupmenü in einem Onmousedown-Event der Listbox den itemindex richtig setzen. Das funktioniert aber nicht, weil durch das Onmousedown Ereignis das popupmenü offenbar unterdrückt wird, der Mausklick wird anscheinend dadurch "verbraucht" und weitere Aktionen finden nicht statt.
Und wenn ich in der Onmousedown Routine am Ende ein
TListbox(sender).popupmenu.popup(x,y)
aufrufe, bekomme ich
Code:
Zugriffsverletzung bei Adresse 00903A8E in Modul 'FocusOffice.exe'. Lesen von Adresse 00000000.
---------------------------
OK
---------------------------
Im Debugger habe ich überprüft, dass Sender die richtige TListbox ist und das dort referenzierte Popupmenü das ist, das ich brauchen würde.