AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

problem mit "menüanzeige"

Ein Thema von stonimahoni · begonnen am 2. Nov 2004 · letzter Beitrag vom 5. Nov 2004
 
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#17

Re: problem mit "menüanzeige"

  Alt 4. Nov 2004, 15:23
Hallo,

huch, die Vorlesung hat ein bißchen länger gedauert

Hier mal ein bißchen Code:

Delphi-Quellcode:
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  o: TWinControl;
  pt: TPoint;
begin
  if (Sender is TGraphicControl) then
  begin
    pt.x := TGraphicControl(Sender).Left + (TGraphicControl(Sender).Width div 2);
    pt.y := TGraphicControl(Sender).Top + (TGraphicControl(Sender).Height div 2);
    o := TGraphicControl(Sender).Parent;

    while Assigned(o) and (o <> Self) do
    begin
      pt := o.ClientToScreen(pt);
      o := o.Parent;
    end;

    PopupMenu1.Popup(pt.x, pt.y);
  end;
end;
der Code übersetzt für jedes Parent Control die Coordinaten, außer für das Form selber. Das funktioniert so leider nicht mit den TButton, weil die nicht von TGraphicControl sondern TButtonControl abgelitten sind und es keine Superklasse gibt die das ClientToScreen kann. Also einfach ein Copy-n-Paste und das Graphic durch Button, dann klappt das eigentlich auch für die anderen Typen. Die Methode muß z.Zt. noch im TForm Objekt welches die ganzen Controls enthält ausgeführt werden, damit der Test "(o <> Self)" funzt, wenn man das noch bißchen anders schreibt z.B. mit Assigned(o.Parent) und boolische Ausdrücke nicht vollständig ausgewertet werden könnte man das auch in ne extra Unit packen.
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:29 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