![]() |
DBGrid / Popup-Menü
Moin Gemeinde,
ich hab da mal wieder eine erschreckend einfach Anfängerfrage: Ich möchte ein DBGrid für eine kaufm. Anwendung komplett Tastenbedienbar machen. Dazu hätte ich gern, dass nach dem Drücken der Enter-Taste in Popup-Menü angezeigt wird. Der Schönheit halber sollte das dort stehen, wo gerade der Datensatz markiert ist. Frage nun: - Wie kann ich die aktuelle "Curorposition" ermitteln? und - Wie kann ich dem Popup-Menü den Fokus geben? (aktuell ist es so, dass der Fokus beim Grid bleibt.) Danke für Tipps Alex |
AW: DBGrid / Popup-Menü
Zitat:
![]() |
AW: DBGrid / Popup-Menü
Zitat:
Vielleicht passt Enter aber auch einfach in die Bedienung des restlichen Programms. Wer weiß. :roll: Die TPopupMenu Komponente hat eine Popup() Methode. Der kannst du die X und Y-Koordinaten übergeben. Eventuell hilft in dem Zusammenhang noch ClientToScreen() und ScreenToClient() weiter. |
AW: DBGrid / Popup-Menü
Zitat:
-- LG aus dem hohen Norden, Edmund |
AW: DBGrid / Popup-Menü
Zitat:
|
AW: DBGrid / Popup-Menü
Zitat:
Ja, für das Popup benötige ich ja die Koordinaten. Daher war ja auch die Ursprüngliche Frage, wie bekomme ich die Koordinaten des markierten Datensatzes im Grid? UND Wie setze ich den Fokus auf das Popup? |
AW: DBGrid / Popup-Menü
Das mit den koordinaten ist etwas tricky.
![]() Hier eine Kopie der Lösung.
Delphi-Quellcode:
// implementation
type THackDBGrid=class(TDBGrid); // Where you need the coordinates var CurrRow: Integer; Rect: TRect; begin CurrRow := THackDBGrid(DBGrid1).Row; Rect := THackDBGrid(DBGrid1).CellRect(ColIndexYouWant, CurrRow); // Rect now contains the screen coordinates you need, or an empty // rectangle if there is no cell at the col and row specified. end; |
AW: DBGrid / Popup-Menü
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 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 by Thomas Breitkreuz