Hai ihr,
Zitat von
marabu:
..warum weist du dein Kontextmenü nicht direkt der Eigenschaft TListBox.PopupMenu zu? ..
da ich den Code ganz oben als meinen erkenne glaube ich das der Grund war ein Item mit der rechten Maustaste selektieren zu können und gleichzeitig ein PopupMenü zu öffnen.
Jetzt habe ich aber gerad bemerkt das dies auch kürzer geht: (im
.OnContextPopup Ereignis)
Delphi-Quellcode:
procedure TForm1.ListBox1ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: boolean);
var
aktItemIndex: integer;
begin
with (Sender as TListBox) do
begin
aktItemIndex := ItemAtPos(MousePos, True);
if (aktItemIndex = -1) then
begin
Handled := True;
end
else
begin
ItemIndex := aktItemIndex;
Handled := False;
end;
end;
end;
Dabei ist das PopupMenu ganz normal mit der TListBox verknüpft.
@Sillium:
Was ich nicht verstehe ist warum deine ListBox nicht neu gezeichnet wird. Bei mir funktioniert das (egal mit welchem Code ich das Popup öffne) ohne Probleme.
Stephan B.
"Lasst den Gänsen ihre Füßchen"