Zitat von
marabu:
Hallo Klaus,
das Ereignis OnMouseDown() hat Vorrang vor dem Kontext-Menü. Wenn du dort die Selektion kurz verschiebst, das Popup-Menü selbst anzeigst und anschließend die Selektion wieder zurücksetzt - wäre das keine Lösung für dein Problem?
Freundliche Grüße vom marabu
Hallo Achim,
danke für Deine Antwort.
Mein OnMouseDown Ereignis schaut so aus:
Delphi-Quellcode:
procedure TConfigForm.feed_name_source_listMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
aRow,ACol:LongInt;
begin
feed_name_source_list.MouseToCell(x,y,aCol,aRow);
if (button = mbRight) and (aRow <= feed_name_source_list.RowCount -1) and (aRow > 0)then
begin
selectedRow:=aRow; // selectedRow ist eine Var. damit ich mit dem delete/copy
// aus dem PopUpMenü auch die richtige Zeile verarbeite
PopUpMenu1.Popup(Left+x-feed_name_source_list.left,top+y+feed_name_source_list.Top);
end
else
selectedRow:=0;
end;
Ich stehe allerdings etwas auf dem Schlauch, was Du damit meinst die Selection kurz zu verschieben.
freundliche Grüße
Klaus