AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Prüfen ob Popupmenü sichtbar ist ?!?
Thema durchsuchen
Ansicht
Themen-Optionen

Prüfen ob Popupmenü sichtbar ist ?!?

Ein Thema von DanielF · begonnen am 19. Feb 2003 · letzter Beitrag vom 26. Feb 2003
Antwort Antwort
DanielF

Registriert seit: 18. Jan 2003
110 Beiträge
 
Delphi 7 Professional
 
#1

Prüfen ob Popupmenü sichtbar ist ?!?

  Alt 19. Feb 2003, 20:21
Hi Leute,
weiß jemand, wie man prüfen kann, ob ein Popupmenü noch offen ist, also sichtbar ist?
thx
Daniel
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#2
  Alt 19. Feb 2003, 20:42
Deine Instanz des TPopupmenu auf nil prüfen.

Wenn du anständig gecodet hast sollte es beim Anzeigen erzeugt werden und beim Verlassen zerstört werden.
  Mit Zitat antworten Zitat
DanielF

Registriert seit: 18. Jan 2003
110 Beiträge
 
Delphi 7 Professional
 
#3
  Alt 20. Feb 2003, 14:30
g wie geht sowas? geöffnet wirds mit popupmenu1.popup(x,y) wo is da der wert für ne instanz und was ist das? g
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#4
  Alt 20. Feb 2003, 18:23
Du könntest das Handle durch
PopupMenu1.Handle herauszubekommen und dann prüfen, ob das Handle existiert.
Denn soweit ich weiß existiert das Handle nur dann, wenn das PopupMenu offen ist...

Chris
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#5
  Alt 20. Feb 2003, 18:54
Du hast sicher schon mal eine Instanz von einer Klasse gebildet.

Beispiel:
Delphi-Quellcode:
var
  MeineInstanz : TMeineKlasse;
begin
  MeineInstanz := TMeineKlasse.create;
  try
    ...
Mit den paar Zeilen hab ich vom Bauplan TMeineKlasse eine tatsächliche Instanz gebildet die es sozusagen tatsächlich gibt (im Speicher).

Eine Instanz prüfen geht auch einfach:
MeineInstanz = nil; Liefert der Ausdruck ein true, ist die Instanz zerstört worden (aus dem Speicher gehauen). (Stimmt nicht immer, kommt auf die Art des Destroy an).

Zerstören einer Instanz (man kann auch Objekt sagen):

MeineInstanz.free;
MeineInstanz := nil;

Die Instanz auf nil setzen ist am saubersten. Es gibt auch eine Prozedure freeandnil, die einem sowas abnimmt!


Instanzen sind nur Pointer auf einen tatsächlichen Speicher, sie verweisen auf einen Speicherbereich.[delphi]


That's OOP
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6
  Alt 22. Feb 2003, 02:25
Moin Touchdown,

Zitat von Touchdown:
Wenn du anständig gecodet hast sollte es beim Anzeigen erzeugt werden und beim Verlassen zerstört werden.
Wenn man die Menüs über die IDE von Delhpi erstellt wohl kaum, denn dann werden sie als Bestandteile des Formulares beim erzeugen des Formulares erzeugt, und beim Zerstören gelöscht.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#7
  Alt 26. Feb 2003, 16:52
Ich mach sowas lieber 'zu Fuß', da weiss ich was passiert und kann es steuern, regeln, verändern
function getallfornothing: TGoldesel;
begin
result := TGoldesel.create;
end;
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#8
  Alt 26. Feb 2003, 21:05
http://groups.google.com/groups?hl=e...st&sa=N&tab=wg
Thomas
  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 12:39 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