Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TButtonEdit, buttons und dropdown menu - wie Aufrufer finden?

  Alt 29. Aug 2023, 20:49
Der Quelltext sieht so aus:
Delphi-Quellcode:
    WM_LBUTTONDOWN:
      if FButton.FDropDownMenu <> nil then
      begin
        if not (csDesigning in Parent.ComponentState) then
        begin
          LPoint := ClientToScreen(Point(0, FButton.EditControl.Height));
          FButton.FDropDownMenu.Popup(LPoint.X, LPoint.Y);
        end;
      end
Heißt:
Du hast keinerlei Information, welcher Button dahintersteckt. Das Menü wird einfach nur an Punkt X/Y aufgemacht.

Einziger Weg:
Nachschauen, welcher Button an der Popupstelle liegt. Schön ist das nicht.

Warum klonst du nicht einfach das Menü beim Start des Programms und gibst jedem Button eine eigene Kopie? Dann packst du eine ID in die Eigenschaft Tag (oder nennst das Menü in Name wie den Button plus einen kleinen Zusatz) und kannst die Menüs (und damit die Buttons dazu) so voneinander unterscheiden.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat