AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit TreeView und PopupMenu

Ein Thema von silentAMD · begonnen am 10. Apr 2004 · letzter Beitrag vom 10. Apr 2004
Antwort Antwort
silentAMD

Registriert seit: 27. Sep 2003
203 Beiträge
 
Turbo Delphi für Win32
 
#1

Problem mit TreeView und PopupMenu

  Alt 10. Apr 2004, 12:46
Hi,
ich möchte eine TTreeNode direkt per kontextmenü löschen. nur wie bekomme ich es hin, dass ich weiss, von welchem eintrag das popupmenu aufgeklappt wurde und dass es bei keinem eintrag nicht aufklappt?

PLEASE HELP
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Problem mit TreeView und PopupMenu

  Alt 10. Apr 2004, 12:58
Du könntest das MenuItem des PopUp Menüs einfach ausgrauen (disablen), wenn kein Node selektiert ist.

z.B.

Delphi-Quellcode:
begin
  MenuEintrag.Enabled := TreeView.Selected <> nil;
;

Den aktuell ausgewähltem Knoten bekommst du mit der Selected Eigenschaft der TreeView. Ist kein Knoten selektiert ist Selected = nil.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
silentAMD

Registriert seit: 27. Sep 2003
203 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Problem mit TreeView und PopupMenu

  Alt 10. Apr 2004, 13:11
@mirage 228: Sorry, aber das ist leider nicht das was ich gesucht habe. nimm dir den windows explorer zum beispiel: da kann man mit rechtem klick auf eine node das jeweilige kontextmenü aufrufen, so möchte ich das auch machen.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Problem mit TreeView und PopupMenu

  Alt 10. Apr 2004, 13:48
Moin SilentAMD,

Du kannst die Prüfung ja in das OnContextPopup des TreeView legen.
Dann kannst Du nicht nur die Menüpunkte vor der Anzeige des PopupMenüs manipulieren, sondern sogar dessen Anzeige ggf. ganz unterdrücken.
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
silentAMD

Registriert seit: 27. Sep 2003
203 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Problem mit TreeView und PopupMenu

  Alt 10. Apr 2004, 15:01
danke

nur wie bekomme ich das item heraus, über dem das kontextmenü aufgeklappt wird? bringt auch rightclickselect etwas? hat jemand ein beispiel?
  Mit Zitat antworten Zitat
Niko

Registriert seit: 23. Jun 2003
416 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Problem mit TreeView und PopupMenu

  Alt 10. Apr 2004, 15:08
Das müsste eigentlich gehen, in dem du die Koordinaten des Mausklicks speicherst und über TreeView.GetNodeAt(...) den entsprechenden Knoten ermittelst.
"Electricity is actually made up of extremely tiny particles called electrons, that you cannot see with the naked eye unless you have been drinking." (Dave Barry)
  Mit Zitat antworten Zitat
silentAMD

Registriert seit: 27. Sep 2003
203 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Problem mit TreeView und PopupMenu

  Alt 10. Apr 2004, 15:24
so wie ich das gemacht habe, löst das eine exception aus

ich habs ungefähr so gemacht

Delphi-Quellcode:
procedure MenuItem1Click(Sender: TObject);
begin
with popupmenu1 do
TreeView1.GetNodeAt(mousepos.x, mousepos.y).delete;
end;
naja so ungefähr (habs nicht getestet)

kann erst nachher wieder proggen.

PLEASE HELP!!!!
  Mit Zitat antworten Zitat
Niko

Registriert seit: 23. Jun 2003
416 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Problem mit TreeView und PopupMenu

  Alt 10. Apr 2004, 15:35
Überprüf mal vor dem delete, ob du überhaupt einen Knoten zurückbekommst oder vielleicht nil.
Wo setzt du eigentlich den Inhalt von mousepos?
"Electricity is actually made up of extremely tiny particles called electrons, that you cannot see with the naked eye unless you have been drinking." (Dave Barry)
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Problem mit TreeView und PopupMenu

  Alt 10. Apr 2004, 15:38
Moin SilentAMD,

das
with Popupmenu1 do müsstest Du wohl weglassen können.

Die Exception rührt wohl daher, dass GetNodeAt nil zurückliefert, da an der gesuchten Stelle keiner ist.
Am Besten das Ergebnis von GetNodeAt in eine lokale Arbeitsvariable einlesen, und dann erst einmal prüfen, ob mit dem Wert überhaupt etwas gemacht werden kann (<> nil).
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
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 14:05 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