Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   TMainMenu (https://www.delphipraxis.net/152079-tmainmenu.html)

arcon 10. Jun 2010 11:20

TMainMenu
 
Hallo miteinander,

ich habe ein TMainMenu erstellt und hatte es mir eigentlich so vorgestellt gehabt, dass, wenn ich eine Auswahl habe, entweder 1. alle objecte von der form ausblende und die neuen objecte einblende
2. eine neue form einblende und die alte form ausblende
oder 3. der direkte "Seitenwechsel" von statten geht ..

man muss sich das ganze so vorstellen, dass wenn ich auf einer internetseite einen link klicke dann zur nächsten seite geleitet werde ..

aber irgendwie bekomm ich das ganze nicht .. hab auch schon gegoogelt .. aber leider noch kein richtiges ergebnis dazu bekommen ..

kann mir da jemand rein zufällig weiterhelfen ?

gruß arcon

Teekeks 10. Jun 2010 11:36

AW: TMainMenu
 
1) Was hast willst du jetzt von uns wissen?
2)
Zitat:

Zitat von arcon (Beitrag 1027756)
aber irgendwie bekomm ich das ganze nicht

was hast du denn jetzt schon gemacht, was nicht hinhaut.

Gruß Teekeks

arcon 10. Jun 2010 12:02

AW: TMainMenu
 
ich habe bis jetzt das tmainmenu eingefügt ..die einzelnen items eingefügt .. und jetzt würde ich es halt gerne so machen, dass wenn ich das programm laufen lasse .. und ich ein item einfüge .. mir eine leere form angezeigt werden soll, in der ich verschiedene objekte einfügen kann ..

und ich würde es halt gerne wissen, wie ich vorgehen muss, um eine neue form zufügen, damit ich, wenn ich ein item anklicke auf diese gelange.

Sybok Factor 10. Jun 2010 12:17

AW: TMainMenu
 
Hallo Arcon,

also ich verstehe immer noch nicht, was du eigentlich erreichen willst. Entweder hast du schon alle Items eingefügt oder du willst das noch...

Die Methode zu einem Menüpunkt implementierst du durch einen Doppelklick auf das Menuitem im Menüdesigner.

Wenn du unterschiedliche Menüs je nach Fenster haben willst, musst du dich entweder mit menu.merge bzw. Menu.Unmerge beschäftigen => dann brauchst aber definitiv auf jedem Fenster ein Menü. Oder aber du musst manuell die gewünschten Menüpunkt ein- oder ausblenden.

Formulare erzeugt man über
Delphi-Quellcode:
Application.CreateForm(TMyForm, MyForm);
oder
Delphi-Quellcode:
MyForm := TMyForm.Create(Application / Self ( nil);
.

Das sind die Antworten auf die Fragen, die ich aus deiner Beschreibung gelesen habe.

Viele Grüße
Sybok

DeddyH 10. Jun 2010 12:26

AW: TMainMenu
 
So ganz bin ich aus der Problembeschreibung auch nicht schlau geworden, aber könnte es sein, dass das in Richtung Assistent geht ("Weiter - Weiter - Fertigstellen")? Dazu könnte man nämlich prima ein Pagecontrol verwenden und die Tabs ausblenden.

arcon 10. Jun 2010 12:29

AW: TMainMenu
 
okay .. da du mich anscheinend noch nicht richtig verstanden hast .. will ich es anhand von websiten erklären ...

eine website enhält ein framegerüst .. dass unterteilt ist, in ein menüframe und ein hauptfensterframe .. wenn ich einen link im menüframe anklicke .. soll das menüframe so bleiben wie es ist und im hauptfensterframe wird die entsprechende seite aufgerufen ..

wenn du das soweit verstanden hast .. komme ich nun zu meinem problem zurück ..

ich habe die menüleiste (menüframe) in der ich etwas anklicke und möchte daraufhin in dem selben hauptfensterframe bzw. in einem neuen die aufgerufene seite anzeigen lassen.

mein problem ist es dabei , dass ich in der menüleiste etwas anklicken kann .. aber nix passiert .. ich weiß auch, dass ich ein ereignisdefinition dazu benötige .. aber was ich nicht weiß, ist , wie ich ein neues frames (form) erstelle bzw. das alte "lösche" und es so verknüpfe, dass, wenn ich in der menüleiste es anklicke , dass genau dieses frame (form) geöffnet wird.

ich hoffe, dass ich es jetzt ausführlich beschrieben habe ..

gruß arcon

DeddyH 10. Jun 2010 12:49

AW: TMainMenu
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wie gesagt, das ginge beispielsweise mit einem Pagecontrol (siehe Anhang) oder meinetwegen auch mit Frames.

arcon 10. Jun 2010 13:16

AW: TMainMenu
 
Wofür ist dann ein TMainMenu da , wenn ich es nicht für den seitenwechsel missbrauchen kann.. ?

DeddyH 10. Jun 2010 13:17

AW: TMainMenu
 
Ich verstehe immer noch nicht, was ein Menü mit Seitenwechsel zu tun haben soll :gruebel:

Teekeks 10. Jun 2010 13:22

AW: TMainMenu
 
Frage:
Willst du, wie bei Firefox mit den Lesezeichen, verschiedene Seiten anzeigen?

arcon 10. Jun 2010 13:26

AW: TMainMenu
 
RICHTIG !!! ..

im firefox hat man ja auch die menüleiste oben .. und wenn man unter "favoriten" einen link anklickt, wird ja im hauptfenster auch die seite gewechselt .. so will ich es gerne , dass ich eine form als "lesezeichen" bereits erzeuge .. dies in das menü einbinde .. und sobald ich dies anklicke, soll das "lesezeichen" geöffnet werden.

gibt es da eine möglichkeit ?

Teekeks 10. Jun 2010 13:28

AW: TMainMenu
 
Na dann haben wir ja bereits viele hinweise gegeben. z.B. TPageControl, und wie man auf ein Menu-Klick reagiert wurde auch schon genannt.
Eine fertige Lösung dazu wirst du kaum finden...

Noedel 10. Jun 2010 14:38

AW: TMainMenu
 
Die "neuen Formulare" sollen aber im Hauptfenster gezeigt werden?
Dann kann ich ein TPanel empfehlen, jedes ist eine einzelne Seite, das per
Delphi-Quellcode:
.Show
und
Delphi-Quellcode:
.Hide
beliebig angezeigt und versteckt werden kann.

//wo ist eigentlich der rote Kasten. 3 neue Nachrichten während ich noch getippt habe :/

arcon 25. Jun 2010 10:54

AW: TMainMenu
 
hallo miteinander,

folgender hintergrund: ich benutze delphi 2010 und würde gerne in einer form ein frame anzeigen lassen .. dazu habe ich mir eine t-mainmenu komponente ausgewählt .. in der ich, wenn ich den unterpunkt auswähle, das tframe sichtbar werden soll.
die sichtbarkeit des tframe habe ich mit "frame.visible = true" in einer prodezdur abgespeichert.
danach habe ich in dem jeweiligen unterpunkt der tmainmenukomponente bei dem ereignis das onclick ausgewählt und dort meine jeweilige prozedur hinzugefügt.
leider klappt das noch nicht so ganz ..

woran könnte das liegen ?

Delphi-Quellcode:
procedure tform1.Frame_Anzeigen(sender:TObject);
 var
Frame31 :TFrame3;
                 begin
Frame31.visible:=true;
                 end;


ich habe mir ausserdem einen haltepunkt gesetzt .. das heißt, wenn ich im tmainmenu auf einen unterpunkt klcike... springt er mir in die prozedur rein, führt sie auch aus , aber das frame wird nicht sichtbar.

woran könnte das liegen ?

DeddyH 25. Jun 2010 11:04

AW: TMainMenu
 
:pale: Was tust Du da? Ich arbeite zwar nicht mit Frames, aber versuch es einmal so:
Delphi-Quellcode:
uses ...,unit3;
...
procedure tform1.Frame_Anzeigen(sender:TObject);
begin
  Globaler_Instanzname_aus_unit3.Visible := true;
end;

arcon 25. Jun 2010 11:58

AW: TMainMenu
 
hallo deddyH.

ich habe deinen ratschlag befolgt, aber ich komme zu keinem richtigen ergebnis.
momentan sieht es so aus, dass er die Fehlermeldung " auf Variable kann wegen optimierung nicht zugegriffen werden "anzeigt.... ich hab auch den globalen instanznamen der unit 3 angegeben, aber komme zu keinem ergebnis.. so dass er mir nicht das frame anzeigt...

ich hab im hinterkopf, dass ich das frame noch irgendwie irgendwo einbinden musste .. aber laut google bin ich grad nicht fündig geworden .. stimmt das so ? und wenn ja, wo mach ich das nochmal ?

DeddyH 25. Jun 2010 12:02

AW: TMainMenu
 
Wie gesagt kenne ich mich mit Frames nicht aus, aber evtl. musst Du die enthaltende Unit erst dem Projekt hinzufügen (Rechtsklick in der Projektverwaltung).


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 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