AGB  ·  Datenschutz  ·  Impressum  







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

Position Popupmenu bei 2 Monitoren

Ein Thema von flippinho · begonnen am 1. Apr 2010 · letzter Beitrag vom 3. Apr 2010
 
blauweiss

Registriert seit: 19. Jun 2007
142 Beiträge
 
#2

Re: Position Popupmenu bei 2 Monitoren

  Alt 1. Apr 2010, 21:07
Hallo flippinho,

das hat mich auch schon geärgert. Es ist ein Bug in der Controls.pas von Delphi5:

Delphi-Quellcode:
procedure TControl.WMContextMenu(var Message: TWMContextMenu);
...
  if (PopupMenu <> nil) and PopupMenu.AutoPopup then
  begin
    SendCancelMode(nil);
    PopupMenu.PopupComponent := Self;
    [b]if Pt.X < 0 then[/b]
      Pt := ClientToScreen(Point(0,0));
    PopupMenu.Popup(Pt.X, Pt.Y);
    Message.Result := 1;
  end;
Im Vergleich dazu die Controls.pas von BDS2009:
Delphi-Quellcode:
procedure TControl.WMContextMenu(var Message: TWMContextMenu);
...
  if (PopupMenu <> nil) and PopupMenu.AutoPopup then
  begin
    SendCancelMode(Self);
    PopupMenu.PopupComponent := Self;
    [b]if InvalidPoint(Pt) then[/b]
      Pt := ClientToScreen(Point(0, 0));
    PopupMenu.Popup(Pt.X, Pt.Y);
    Message.Result := 1;
  end;
Wenn Du nicht die Controls.pas manipulieren willst, gibt es vielleicht die Möglichkeit, die WMContextMenu-Message in Deiner Form abzufangen und das Popupmenu selber aufzupoppen...!?

Frohe Ostern zurück
blauweiss
  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 04:56 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