AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit Edit-Feld auf Panel und Popupmenu

Ein Thema von bra_parametrix · begonnen am 24. Okt 2008 · letzter Beitrag vom 27. Okt 2008
Antwort Antwort
bra_parametrix

Registriert seit: 3. Jul 2008
Ort: Köniz
19 Beiträge
 
Delphi 2006 Enterprise
 
#1

Problem mit Edit-Feld auf Panel und Popupmenu

  Alt 24. Okt 2008, 12:14
Hallo,

Ich habe ein Form mit einem Panel. Auf diesem Panel ist ein Edit-Feld. Ich habe auch auf dem Form ein Edit-Feld.
Jetzt weise ich dem Panel ein Popupmenu zu.

Starte ich nun das Programm und rechtsklicke ich auf das Edit-Feld im Form kommt das Windows-Standard-Popup (Ausschneiden, Kopieren, Löschen...). Rechtsklicke ich auf das Edit-Feld auf dem Panel, kommt das Popup-Menu das Panels.

Kann ich etwas machen, damit auf diesem Edit-Feld auch das Windows-Standard-Popup kommt?

Hat jemand eine Idee?

Vielen Dank und Grüsse

Stefan
Stefan
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Problem mit Edit-Feld auf Panel und Popupmenu

  Alt 24. Okt 2008, 12:33
Hallo,

ist es möglich, dass Du das PopupMenu manuell aufrufst.
Vielleicht so?

Delphi-Quellcode:
procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 if Button = mbright then
   PopUpMenu1.Popup(x,y);
end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#3

Re: Problem mit Edit-Feld auf Panel und Popupmenu

  Alt 24. Okt 2008, 13:41
Moin, Moin.

Ein für mich unerwartetes Verhalten! Seltsam! Den Vorschlag von Klaus kann ich aber nicht so ganz nachvollziehen - er führt bei mir nicht zum Erfolg. Habe mal ein bißchen gebastelt und die Events OnMouseDown() und OnMouseUp() des auf dem Panel placierten Edits so belegt:

Delphi-Quellcode:
procedure TfoTest10.PanelEditMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Panel1.PopupMenu:=nil
end;

procedure TfoTest10.PanelEditMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Panel1.PopupMenu:=PopupMenu1
end;
Damit wird der gewünschte Effekt erzielt.

// edit: Eigentlich doch nicht so unerwartet. Wie im OI schön zu sehen, gibt es ja eine Reihe von Eigenschaften, die Childs vom Parent übernehmen, wenn nichts anderes angegeben wird. Dumm nur, dass dieses Verhalten für das Popup offenbar nicht zu deaktivieren ist, wie es z.B. für den ParentFont möglich ist.
Ralph
  Mit Zitat antworten Zitat
bra_parametrix

Registriert seit: 3. Jul 2008
Ort: Köniz
19 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: Problem mit Edit-Feld auf Panel und Popupmenu

  Alt 27. Okt 2008, 12:15
Hallo

Vielen Dank für die Hilfe. Ich habe noch einen kleinen Verbesserungsvorschlag, damit das Popup-Menu auch an der Mausposition kommt:

Delphi-Quellcode:
procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  p: TPoint;
begin
  if Button = mbright then begin
    p := Mouse.CursorPos;
    PopUpMenu1.Popup(p.x,p.y);
  end;
end;
Viele Grüsse

Stefan
Stefan
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz