AGB  ·  Datenschutz  ·  Impressum  







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

MainMenu - Prozeduren bei Items

Ein Thema von freak4fun · begonnen am 23. Jan 2005 · letzter Beitrag vom 23. Jan 2005
Antwort Antwort
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

MainMenu - Prozeduren bei Items

  Alt 23. Jan 2005, 16:50
Hallo,
Ich habe ein MainMenu, bei dem ich im FormCreate Items aus eine Ini-Datei erstelle.
Aber wie kann ich jetzt die entsprechenden Prozeduren dazu erstellen? Ich weiß nicht ob
ihr damit was anfangen könnt, deshalb noch etwas Quelltext.

Delphi-Quellcode:
Rohstoffe := TMenuItem.Create(MainMenu1);
MainMenu1.Items.Add(Rohstoffe);
Rohstoffe.Caption := 'Rohstoffe';
for i := 0 to Stringliste.Count - 1 do
    begin
      RohEintraege[i] := TMenuItem.Create(Rohstoffe);
      Rohstoffe. Add(RohEintraege[i]);
      RohEintraege[i].Caption := Stringliste[i];
    end;
Also wenn ich jetzt auf einen Eintrag clicke soll auch noch was passieren.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: MainMenu - Prozeduren bei Items

  Alt 23. Jan 2005, 16:55
Delphi-Quellcode:
Rohstoffe := TMenuItem.Create(MainMenu1);
Rohstoffe.OnClick:=Procedurename;
MainMenu1.Items.Add(Rohstoffe);
So müsste das klappen
Benjamin
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

Re: MainMenu - Prozeduren bei Items

  Alt 23. Jan 2005, 17:03
Tut mir leid, das hilft mir nicht weiter. Wie mache ich damit weiter?

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#4

Re: MainMenu - Prozeduren bei Items

  Alt 23. Jan 2005, 17:08
Es kommt ganz darauf an, was du machen willst
Eine Prozedur zur Laufzeit erstellen ist nicht möglich.
Wenn du das ganze dynamisch haben willst, könntest du gegebenenfalls DLLs nehmen
Dieser Code
Rohstoffe.OnClick:=Procedurename; bestimmt jedenfalls, dass wenn auf das MenuItem Rohstoffe geklickt wird, dass die prozedur Procedurename (oder wie du sie auch nennen willst) aufgerufen wird.
Dann musst du halt schauen, was du in der Prozedur tust.
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

Re: MainMenu - Prozeduren bei Items

  Alt 23. Jan 2005, 17:16
Also muss die Prozedur schon vorhanden sein, gut hab ich verstanden.
Also ich erstelle ja Unterpunkte zu "Rohstoffe". Nehmen wir mal in Stringliste Stehen Integerwerte.
Dann wird, wenn ich auf Rohsoffe klicke eine Liste mit Zahlen nach unten aufgeklappt.
Wenn ich jetzt auf die erste Zahl klicke soll eine Prozedur ausgeführt werden.
Diese Prozedur soll 1 heißen.

Delphi-Quellcode:
procedure eins;
begin
ShowMessage('Sie haben die 1. Option gewählt.');
end;
Dann muss der Aufruf so aussehen?:
RohEintraege[i].OnClick := eins; Dann bekomm ich Folgenden Fehler:

Inkompatible Typen: Methodenzeiger und Reguläre Prozedur.

Was mache ich falsch?

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

Re: MainMenu - Prozeduren bei Items

  Alt 23. Jan 2005, 18:25
Delphi-Quellcode:
Rohstoffe := TMenuItem.Create(MainMenu1);
MainMenu1.Items.Add(Rohstoffe);
Rohstoffe.Caption := 'Rohstoffe';
for i := 0 to Stringliste.Count - 1 do
    begin
      RohEintraege[i] := TMenuItem.Create(Rohstoffe);
      RohEintraege[i].OnClick := Form1.Holz1Click; //Die Zeile ist neu
      Rohstoffe. Add(RohEintraege[i]);
      RohEintraege[i].Caption := Stringliste[i];
    end;
Dann noch:
Delphi-Quellcode:
procedure TForm1.Holz1Click(Sender: TObject);
begin
   ShowMessage('Es klappt. *juhu*');
end;
und:
Delphi-Quellcode:
TForm1 = class(TForm)
  ...
  procedure Holz1Click(Sender: TObject);
Und das klappt.
Jetzt noch die Frage, wie man die Prozeduren dynamisch einfügt, also nicht alle Items auf die gleiche Prozedur zugreifen.

Kann mir da einer weiterhelfen?

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

Re: MainMenu - Prozeduren bei Items

  Alt 23. Jan 2005, 19:29
Problem gelöst.

Danke für die Hife.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  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 22:20 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