Einzelnen Beitrag anzeigen

venice2
(Gast)

n/a Beiträge
 
#11

AW: Rechtsklick in Scrollbar einer TListBox abfangen

  Alt 18. Mär 2020, 20:28
Zitat:
zeigt bei mir den Wert aus der selektierten Zeile an. Habe es mit Delphi 2006 getestet.
Ist aber nicht das was er möchte.

Er ermittelt abhängig von der aktuellen Maus Position innerhalb der Scrollbar den aktuellen Index der sich an dieser Position befindet.
Mit einem Rechtsklick schiebt er dann diesen Index on Top in der Listbox.
So habe ich das verstanden.

Das funktioniert so wie er es will.

Das wäre die korrekte Procedure damit auch alles passt.

procedure WMNCRBUTTONDOWN(var Msg: TWMNCRButtonDown); message WM_NCRBUTTONDOWN;
Delphi-Quellcode:
procedure TListBox.WMNCRBUTTONDOWN(var Msg: TWMNCRButtonDown);
var
  Index: Integer;
begin
  if MousePosToIndex(ScreenToClient(Point(Msg.XCursor, Msg.YCursor)), Index) then
  begin
    EraseSBarHint;
    TopIndex := Index;
  end;
  Msg.Result := 1;
end;

Geändert von venice2 (18. Mär 2020 um 20:55 Uhr)
  Mit Zitat antworten Zitat