Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi popup menü bei label klick! (https://www.delphipraxis.net/35286-popup-menue-bei-label-klick.html)

the_beginner 4. Dez 2004 21:09


popup menü bei label klick!
 
guten abend DP visitors ;)

ich habe folgendes problem und weiß nicht wie ich es lösen kann, bzw vielleicht gibt es auch nen anderen weg wie man es lösen kann aber ich bin noch nicht drauf gekommen.

also: ich erstelle in meinem programm labels während der laufzeit. nun möchte ich aber auch, dass der name, bzw die position jedes labels in einem extra popup fenster angezeigt werden sollen wenn man über das label mit der maus geht oder auf das label klickt.

nun meine frage(n): geht dass mit popup menüs? wenn ja, wie füge ich dem popup menü während der laufzeit komponenten hinzu? wenn nein, wie könnte ich es anders machen?

Dankö für eure hilfe
the_beginner

The-X 4. Dez 2004 21:14

Re: popup menü bei label klick!
 
meinst du vielleicht "hints" ?

Delphi-Quellcode:
MyLabel:=Tlabel.Create(nil);
With MyLabel do begin
  Name:='blubb';
  Top:=0;
  left:=0;
  Caption:='keineahnung';
  Hint:='wasweissich'; // der text vom "popup"
  ShowHint:=true; // ^^ text anzeigen
  ParentShowHint:=false; ^^ nicht den Text von der form anzeigen (wenn vorhanden)
  // OOOOOoder :P
  PopupMenu:=MyPopupMenu; // <= das wäre dann ein zugeordnetes Menü, welches (ja nach einstellung bei links bzw. rechtsclick auf dem label kommt
end;

Matze 4. Dez 2004 21:16

Re: popup menü bei label klick!
 
EIn Popup-menü öffnet sich normalerweise nur, wenn man einen Rechtsklick auf das Label tätigt.

Delphi-Quellcode:
Label.PopupMenu := PopupMenu1;
Das geht natürlich auch dynamisch mittels Hier im Forum suchenfindcomponent oder direkt beim Erstellen des Labels, wo du auch die Popup-menüs dynamisch erstellst:

Delphi-Quellcode:
var
  MyPopup: TPopupMenu;

...

procedure TForm1.Button1Click(Sender: TObject);
begin
  MyPopup := TPopupMenu.Create(Label1);
  MyPopup.Name := 'wasweissich';

  ...

  Label1.PopupMenu := MyPopup;
end;
Wie man das dynamisch macht, steht in der DP, einfach mal suchen. ;)


Nachtrag: Ich dachte auch erst, er meint Hints, aber war mir auch nicht sicher. ;)

Nicodius 4. Dez 2004 21:17

Re: popup menü bei label klick!
 
Delphi-Quellcode:
    procedure MyPopOnClick(Sender : TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var MyItem : TMenuItem;
begin
  MyItem := TMenuItem.Create(Popupmenu1);
  MyItem.Caption := 'Test';
  MyItem.OnClick := MyPopOnClick;
  Popupmenu1.Items.Add(MyItem);
end;

procedure TForm1.MyPopOnClick(Sender: TObject);
begin
 Showmessage('Hallo');
end;

ddas sollte dir helfen

so kannst du beliebig viele hinzufügen!


---> das OnClick wird durch das
Delphi-Quellcode:
procedure TForm1.MyPopOnClick(Sender: TObject);
bestimmt!



hättest du n bisschen in der CodeLib gestöbert .. ich hab so was ähnliches mit Stringlisten schonmal getutort :mrgreen:

the_beginner 4. Dez 2004 21:20

Re: popup menü bei label klick!
 
also wenn ihr mir sagen könnt, ob man hints 2 zeilig bzw mehrzeilig darstellen kann, dann währe das escht super geil! dann brauche ich dieses popup menü nicht mehr!

The-X 4. Dez 2004 21:22

Re: popup menü bei label klick!
 
Delphi-Quellcode:
mylabel.hint:='1.Zeile'+#13#10+'2.Zeile';
Waren's also doch Hints :mrgreen: :tongue:

Ultimator 4. Dez 2004 21:23

Re: popup menü bei label klick!
 
Delphi-Quellcode:
Button1.Hint:='Erste Zeile'+#10#13+'Zweite Zeile';
Etwa so ;-)

the_beginner 4. Dez 2004 21:27

Re: popup menü bei label klick!
 
vielen dank leutz,

also auf hints bin ich nicht gekommen! ich habe direkt an das kompliziertere gedacht;)!

danke noch mals für eure hilfe!
the_beginner

the_beginner 4. Dez 2004 21:29

Re: popup menü bei label klick!
 
aber eine frage hätte ich da noch?

#13 = Enter Taste und was ist #10?

The-X 4. Dez 2004 21:30

Re: popup menü bei label klick!
 
Und bevor es hier jemand vergisst...

:party: :party: Herzlich Wilkommen in der DP :party: :party:

:mrgreen:

#13 = Enter = Carriage Return
#10 = LineFeed = Zeilenvorschub (noch aus den DOS-Zeiten für Drucker-Steuerzeichen) :mrgreen:

und merk dir schonmal für später ... neue Frage, neuer Thread (Fräd) :)

:mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07 Uhr.
Seite 1 von 2  1 2      

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