AGB  ·  Datenschutz  ·  Impressum  







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

Wie kein PopupMenu zuweisen?

Ein Thema von AlexII · begonnen am 22. Aug 2012 · letzter Beitrag vom 22. Aug 2012
Antwort Antwort
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#1

Wie kein PopupMenu zuweisen?

  Alt 22. Aug 2012, 13:35
Hallo,

hab da ein Problemchen wo ich nicht weiter kommen. Und zwar ich weise während der Laufzeit einer Komponente wie folgt ein PopupMenu zu:

Delphi-Quellcode:
procedure TForm1.Label3ContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
begin
if Label3.Caption <> 'then Label3.PopupMenu := PopupMenu1
else Label3.PopupMenu := ??? (hier also kein Menü zuweisen)
end;
Nun wenn Label3 kein Text bzw. Caption hat, soll auch kein Menü erscheinen, aber ich bekomme das aber irgendwie nicht hin.

Danke!
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wie kein PopupMenu zuweisen?

  Alt 22. Aug 2012, 13:38
Nichts = nil

Du solltest aber eher Handled auf False setzen, wenn du kein Popup sehn willst.

Oder du setzt Handled immer auf False, und zeigst das Popup "manuell" an, wenn du es sehn willst. (PopupMenu.Popup(X, Y); )


Oder ins OnPopup des Menüs
Delphi-Quellcode:
if Label3.Caption = 'then
  Abort;
OnPopup des Popup-Menüs wird aufgerufen, nachdem in Popup des Komponente nachgesehn wurde, ob und welches Popup angezeigt werden soll.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (22. Aug 2012 um 13:48 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#3

AW: Wie kein PopupMenu zuweisen?

  Alt 22. Aug 2012, 13:41
Allgemein kannst es mit folgendes Zuweisung wieder entfernen: XYZ.PopupMenu := nil;
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Steku

Registriert seit: 12. Mai 2008
181 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

AW: Wie kein PopupMenu zuweisen?

  Alt 22. Aug 2012, 13:42
Hi,

oder Quick'n Dirty ein leeres PopUp Menue zuweißen...?

Gruß
Steku
  Mit Zitat antworten Zitat
ulilüding

Registriert seit: 23. Okt 2010
Ort: Berlin
33 Beiträge
 
Delphi 5 Professional
 
#5

AW: Wie kein PopupMenu zuweisen?

  Alt 22. Aug 2012, 13:45
Wie ist's denn mit Label3 beim Programmstart? Hat das ein PopupMenu, oder erstmal nicht? Im letzeren Falle erübrigt sich einfach der Teil ab dem "else" (oder die Variante von himitsu). Wenn ein PopupMenu existiert und das im Falle von Label3.Caption='' wieder gelöscht werden soll, so hilft möglicherweise: Label3PopupMenu:=nil;
LGU
eben der mit space
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Wie kein PopupMenu zuweisen?

  Alt 22. Aug 2012, 13:53
Thx, hab das jetzt!

Delphi-Quellcode:
procedure TForm1.Label3ContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
begin
if Label3.Caption <> 'then Label3.PopupMenu := PopupMenu1
else Label3.PopupMenu := nil;
end;
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#7

AW: Wie kein PopupMenu zuweisen?

  Alt 22. Aug 2012, 15:29
Wie gesagt

Delphi-Quellcode:
procedure TForm1.Label3ContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
begin
  Handled := Label3.Caption = '';
end;
Handled = ICH (der Programmierer in dieser Methode) hab das Event verarbeitet (oder auch nicht, aer egal) und Delphi soll das jetzt nicht weiter verfolgen, also kein Popup aufmachen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 23:52 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