![]() |
AW: Rechtsklick in Scrollbar einer TListBox abfangen
Zitat:
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.
Delphi-Quellcode:
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; |
AW: Rechtsklick in Scrollbar einer TListBox abfangen
Zitat:
Der "Hint" den ich ausgebe soll nicht angeben, welcher Eintrag gerade den Fokus hat (=ItemIndex) sondern er soll mir zeigen an welcher Stelle der Liste ich lande, wenn ich die ScrollBar rechtsklicke. "Mein Rechtsklick" ist im Prinzip das Gleiche, was Windows macht, wenn ich in dem PopUp Menu den Eintrag "Bildlauf hier" auswähle. Was mir bei der Verwendung des PopUp Menus nicht gefällt, ist, dass ich dort keine Information habe, wo ich in der Liste lande, wenn ich "Bildlauf hier" auswähle. Ich kann zwar ungefähr abschätzen wo ich landen werde, aber ich wüsste dass gern vorher. Bei meiner Methode wird mir angezeigt, wo ich landen werde, wobei ich die Wahl habe, mir nur den Index des Eintrags anzeigen zu lassen oder den Klartext des Listen-Eintrags. Eine Option wäre noch, die Liste so zu scrollen, dass der Eintrag, zu dem ich springe, an der Y-Position der Mauszeigers angezeigt wird und nicht als obersten Eintrag. |
AW: Rechtsklick in Scrollbar einer TListBox abfangen
Zitat:
Zitat:
|
AW: Rechtsklick in Scrollbar einer TListBox abfangen
Zitat:
und du umgehst das Problem mit dem Top Index der ListBox wenn dieser nicht mehr OnTop gesetzt werden kann. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz