AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Generelle Code-Frage zu ListBox/Markierung etc
Thema durchsuchen
Ansicht
Themen-Optionen

Generelle Code-Frage zu ListBox/Markierung etc

Ein Thema von Tommy1988 · begonnen am 16. Sep 2007 · letzter Beitrag vom 16. Sep 2007
Antwort Antwort
Tommy1988
(Gast)

n/a Beiträge
 
#1

Generelle Code-Frage zu ListBox/Markierung etc

  Alt 16. Sep 2007, 12:23
Also, zur Vorsache:
Ich hab eine ListBox, dort popt ein PopUpmenu bei Rechtsklick mit diversen
Informationen enthalten auf. z.B. u.a. der TEXT der aktuellen Eintrags.

Ich habe dann ein paar Zeilen Code hinzugeschrieben, damit man die Einträge
ganz bequem nach OBEN und UNTEN verschieben kann (via PopUpmenu).

So, klicke ich aber Rechtsklick auf einen Eintrag, so ist der Focus ja NICHT mehr
auf dem Eintrag (keine selektierung) sondern auf dem PopUpmenu.

So habe ich es gelöst, dass das PopUpMenu auftaucht und der Eintrag trotzdem markiert wird.
Ich hoffe der Code ist nicht allzu eckelhaft.

Delphi-Quellcode:
procedure TForm1.ListBox1ContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
{var
P: TPoint;}
 // weggenommen, da oben ja MousePos steht
begin
 ListBox1.Perform(WM_LBUTTONDOWN,0,0); // Auf Eintrag klicken (simulieren)
 ListBox1.Perform(WM_LBUTTONUP,0,0); // loslassen
 GetCursorPos(MousePos); // Cursorposition emritteln
 PopUpMenu1.Popup(MousePos.X,MousePos.Y); // und schließlich PopUpMenu genau wo die Maus ist anzeigen
end;
Jedoch hat das alles einen Nachteil:
Das PopUpmenu verschwindet nicht mehr wenn man einen Eintrag geklickt hat
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Generelle Code-Frage zu ListBox/Markierung etc

  Alt 16. Sep 2007, 18:22
Hallo Tommy,

Zitat von Tommy1988:
... Ich hab eine ListBox, dort popt ein PopUpmenu bei Rechtsklick mit diversen
Informationen enthalten auf. z.B. u.a. der TEXT der aktuellen Eintrags. ...
ein PopupMenu ist ein Kentextmenü und soll dem Benutzer die für das verknüpfte Objekt genau die verfügbaren Aktionen anbieten - Informationen gehören da nicht hin, die kannst du in der Eigenschaft Hint der ListBox unterbringen.

Zitat von Tommy1988:
... Ich habe dann ein paar Zeilen Code hinzugeschrieben, damit man die Einträge ganz bequem nach OBEN und UNTEN verschieben kann (via PopUpmenu). ...
Bequem fände ich es, wenn man einen Eintrag direkt mit Maus oder Tastatur verschieben könnte.

Zitat von Tommy1988:
... So, klicke ich aber Rechtsklick auf einen Eintrag, so ist der Focus ja NICHT mehr
auf dem Eintrag (keine selektierung) sondern auf dem PopUpmenu. ...
Der Benutzer markiert üblicherweise zuerst ein Item mit Maus oder Tastatur, bevor er es verschiebt. Oder möchtest du das Selektieren mit der rechten Maustaste erledigen lassen?

Grüße vom marabu
Angehängte Dateien
Dateityp: zip lbox-1_199.zip (2,3 KB, 8x aufgerufen)
  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 18:18 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