AGB  ·  Datenschutz  ·  Impressum  







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

Menü in Delphi realisieren

Ein Thema von Problemmacher · begonnen am 27. Feb 2007 · letzter Beitrag vom 28. Feb 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#11

Re: Menü in Delphi realisieren

  Alt 27. Feb 2007, 15:36
@mkinzler: Eher TPageControl

@Problemmacher:

Wie wärs mit Frames? Ein Frame ist ein "Teil" einer Form, den du wie eine Form mit COntrols und natürlich Code bestücken kannst.

Dann brauchst du z.B. einen Frame für deine Städte, und einen für was anderes. Da deine Ausführungen hier sehr unklar sind, mach ich kurz mal ne Demo fertig.
Angehängte Dateien
Dateityp: zip pmenu_254.zip (2,2 KB, 12x aufgerufen)
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Menü in Delphi realisieren

  Alt 27. Feb 2007, 15:37
Zitat:
@mkinzler: Eher TPageControl Wink
Nein ich dachte schon an einen TabControl. da die Struktur ja immer gleich ist.
Markus Kinzler
  Mit Zitat antworten Zitat
Problemmacher

Registriert seit: 14. Nov 2006
43 Beiträge
 
#13

Re: Menü in Delphi realisieren

  Alt 27. Feb 2007, 15:40
Oh das ist sehr nett! Hab ja auch im ersten Posting geschrieben
das ich eine Art IFrame oder Include Lösung suche wie man sie
von Websites kennt. Wusste nicht wie ich das anders ausdrücken soll.

Brauch halt ein festes Menü und dann halt einen Bereich der universell
je nach Menüpunkt angezeigt werden soll. Hierfür eignete sich die
Visible-Eigenschaft allerdings nicht, da ich so bei jeder Menüklickprozedur
unzählige Sachen ausblenden musste, um das gewünschte anzuzeigen ...
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Menü in Delphi realisieren

  Alt 27. Feb 2007, 15:59
Hallo,

das ist ganz einfach:

Du definierst dir ein

ActiveFrame: TFrame; und immer wenn du die frames wechselst, machst du

Delphi-Quellcode:
ActiveFrame.Hide;

ActiveFrame := NewFrame;
damit musst du pro Menüart immer nur einen frame definieren.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Problemmacher

Registriert seit: 14. Nov 2006
43 Beiträge
 
#15

Re: Menü in Delphi realisieren

  Alt 27. Feb 2007, 16:01
@DGL-luke - Das mit dem Menü ist schon genau das was ich vor hatte,
jedoch weiß ich nicht ob ich mit der Einbindung der Inhalte so zu
recht kommen werde. Wenn wir jetzt ein anderes Beispiel nehmen,
z.B. ich möchte gern ein Programm schreiben worüber man auf zwei
Spiele zugreifen kann ... über das Menü, ist ja jetzt so kein Problem denke
ich mal ...

Jedoch erscheint mir deine Demo zumindest so, als wäre sie an
ein Schema gebunden. Sprich dort steht immer der Stadtame u.s.w.,
jedoch wollte ich gern inhaltsmäßig völlig unabhängige Seiten
voneinander gestalten. Genau wie auf einer Website, dort ist
der Inhalt auch immer anders und nicht nach dem gleichen Schema,
so ist die Newssektion anders aufgebaut als die Impressums Seite ...

Worum es mir also ging, ist folgendes: Ich mache wie gewohnt im Formular
meine Komponenten u.s.w. für eine Seite fertig. Dann hab ich ja ein
eigenständiges Programm bzw Projekt. Nun mache ich noch eins und hab
also zwei Programme geschrieben, die verschieden platzierte Komponenten
haben, andere Aufgaben u.s.w. ... nun wollte ich die halt durch das
Menü benutzerfreundlicher zugänglich machen, damit nicht alles auf
eine Formular-Seite gepackt wird.

Entschuldigt falls ich mich unklar ausgedrückt habe, aber ist halt
schwer zu erklären was machen zu wollen, was man selber nicht kann =)!

Danke auf jeden Fall dafür, dass ihr euch bereits so viel Zeit
genommen habt, um mir zu helfen!
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#16

Re: Menü in Delphi realisieren

  Alt 27. Feb 2007, 16:06
Jop.

Geh mal auf Datei|Neu|Frame. Dann hast du genau so einen Frame, den du mit einer "Maske" aus Komponenten ausstatten kannst.

Wenn du wirklich total unterschiedliche Sachen willst, musst du halt für jedes einen einzelnen Frame machen. Das kannst du ja auch verschachteln!

Also einen "Spiele"-Frame, und in diesen dann die Information über die anderen frames, sprich die einzelnen spiele. du musst halt dann im frame noch eine variable definieren, der du das gewünschte spiel zuweisen kannst.

(Ich weiß ja nicht, obs dir aufggefallen ist, aber ich benutze hier immer die "Tag"-Eigenschaft. Das kannst du so beibehalten, du musst dann nur pro "Kategorie" ein OnCLick-Event implementieren - wäre zumidnest IMO das praktischste)
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Problemmacher

Registriert seit: 14. Nov 2006
43 Beiträge
 
#17

Re: Menü in Delphi realisieren

  Alt 27. Feb 2007, 16:20
Ok langsam hab ich es, nurnoch paar "doofe Fragen", weil
ich es noch nicht ganz verstanden hab. Muss man halt einmal
richtig durchgemacht haben und dann versteht man das auch,
aber beim ersten Mal ist es immer schwer, sorry ...

Hab nun das Formularfenster(Unit1) und einen neuen Frame (Unit2) erstellt,
nun habe ich ja zwei Fenster in Delphi. Nun meine Fragen ...

> Wo kann ich im Hauptformularfenster (Unit1) bestimmen wo der Frame XY
angezeigt werden soll?

> Wie bzw. was schreibe ich in die Przedur des jeweiligen Menüpunktes,
damit der jeweilige gewünschte Frame im Hauptformularfenster geöffnet wird.

Danke =)!
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#18

Re: Menü in Delphi realisieren

  Alt 27. Feb 2007, 16:34
Hallo,

ich würde erstens den Frames sinnvolle Name geben

dann zu deinen Fragen:

- Stell am besten den "Align" des Frames auf alClient. Er wird dann da, wo er hineinkommt, alles ausfüllen. Wo er genau hinkomt, bestimmst du über die Eigenschaft "Parent". Die sollte eigentlich immer die selbe sein, und kann eine beliebige von TWinControl abgeleitete Komponente sein, z.B. ein TPanel.

- Das siehst du in meiner Demo: "Frame.Show". Wie bereits gesagt, solltest du dir irgendwo merken, welcher frame zuvor aktiv war, damit du den verstecken kannst.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Problemmacher

Registriert seit: 14. Nov 2006
43 Beiträge
 
#19

Re: Menü in Delphi realisieren

  Alt 27. Feb 2007, 16:41
Zitat von DGL-luke:
- Das siehst du in meiner Demo: "Frame.Show". Wie bereits gesagt, solltest du dir irgendwo merken, welcher frame zuvor aktiv war, damit du den verstecken kannst.
Wenn ich einen neuen Menüpunkt drücke, wird doch der neue Frame im Fenster
geladen und der alte wäre dann doch nicht mehr sichtbar, oder? Falls nein,
was wäre denn dann das Gegenteil von Frame.Show ... Frame.Delete /.Destroy?
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#20

Re: Menü in Delphi realisieren

  Alt 28. Feb 2007, 16:26
Hallo,

wenn du nur den zweiten auf sichtbar schaltest, dann wird der alte drunterstecken, und evtl. streiten sich die dann um den Platz da ^^

Deshalb solltest du den alten gleich wieder auf Nicht sichtbar schalten. Das geht entweder per "Visible := false" oder per "Hide".

Zu deiner PN:

Zitat:
In deinem Quelltext steht ja "CityFrame.Show;",
doch wo finde ich den im Programm wieder? Also hab
schon unter Fensterliste geguckt und so, aber bei dir
find ich nicht den Ort wo dieser Frame (dieses weitere
Fenster in Delphi) sich befindet?
Er ist in der Unit UfrCities.pas abgelegt. Die Variable CityFrame ist als privates Form-Member definiert, steht also in der Formdeklaration drin.

Zitat:
Außerdem sagtest du ja ich könnte den Panel als Fenster für
den Frame benutzen, mit Hilfe der Eigenschaft Parent.
Bei mir gibt es allerdings keine Eigenschaft Parent, sondern
nur ParentFont, ParenShowHint, ParentDiBiMod, ParentColor?
Hallo,

wenn du dir meinen Code im OnFormCreate anschaust:

Delphi-Quellcode:
Cityframe := TCityFrame.Create(self);
Cityframe.Parent := self; //das ist das wichtigste
self ist hier die Form, das müsstest du nur durch "FramePanel" oder wie auch immer du dein panel nennen willst ersetzen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:55 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