Steuerelement zur Laufzeit erzeugen

Alle Fragen zur Programmierung, die nicht in die speziellen Themen passen
Antworten
k4rstenDOTde
Foriker
Beiträge: 8
Registriert: So 18. Okt 2009, 19:03
Wohnort: Dortmund
Kontaktdaten:

Steuerelement zur Laufzeit erzeugen

Beitrag von k4rstenDOTde » So 18. Okt 2009, 19:42

Hey Leute,

ich habe eine Frage bzgl. der erzeugung von Steuerelementen zur Laufzeit.
Habe bislang in anderen Sprachen programmiert und bin neu bei Gambas2, gefällt mir jedoch sehr gut ;)

Undzwar habe ich bislang folgendes probiert:
DIM button1 AS NEW Button
button1.x = 10
button1.y = 10
button1.width = 10
button1.height = 10
button1.Show()
Das scheitert jedoch bereits an der Erzeugung des Objektes button1, welche mit "Not enough arguments" beendet wird.
Ist sicher ein sehr simples Problem, aber ich stehe auf dem Schlauch ;)

Wäre cool wenn Ihr mit helfen könntet,

viele grüße,

k4rstenDOTde

tux_
Moderator
Beiträge: 950
Registriert: Di 11. Nov 2008, 20:05
Kontaktdaten:

Re: Steuerelement zur Laufzeit erzeugen

Beitrag von tux_ » So 18. Okt 2009, 20:22

Also bei Problemen mit den Argumenten könntest du vielleicht mal in der Gambasdokumentation nachgucken, über Menü Hilfe...
Oder du schaust dir http://de.wikibooks.org/wiki/Gambas:_Button an, da ist das Problem erklärt, zwar nicht mit der Syntax, die du angegeben hast und die ich auch nicht benutze, aber dort ist das Argument angegeben, ich selbst bin grade unter Windows aktiv, deshalb kann ich bei der Gambas doc gerade nich nachschaun, aber das Argument muss wohl die Fom sein, auf der das Element erzeugt wird.

mfG tux_
Achtung: Es passiert, dass ich einen frisch geschrieben Beitrag innerhalb von 10 Minuten noch 3-4 Mal aendere!

k4rstenDOTde
Foriker
Beiträge: 8
Registriert: So 18. Okt 2009, 19:03
Wohnort: Dortmund
Kontaktdaten:

Re: Steuerelement zur Laufzeit erzeugen

Beitrag von k4rstenDOTde » Mo 19. Okt 2009, 13:21

Die Variante im Wikibook hatte ich bereits getestet. Funktioniert natürlich nicht ;)

Aber wenn ich als Argument die Form angebe, funktioniert es.

Wie hättest du es denn gemacht? Vielleicht gibt es ja eine bessere Methode als meine.

Gruß k4rstenDOTde

tux_
Moderator
Beiträge: 950
Registriert: Di 11. Nov 2008, 20:05
Kontaktdaten:

Re: Steuerelement zur Laufzeit erzeugen

Beitrag von tux_ » Mo 19. Okt 2009, 16:14

Naja, ich hätte das prinzipiell genauso wie du gemacht:
erst den Namen "AS New Button" deklariert, dann die Eigenschaften eingetragen und anzeigen lassern, die Syntax im Wikibook ist mir da zu unlogisch...
Wenn ich mir dort, im Wikibook, andere Beispiele anschaue, dann muss das wohl mit einer Version von Gambas 1.x gemacht worden sein, denke ich.
Achtung: Es passiert, dass ich einen frisch geschrieben Beitrag innerhalb von 10 Minuten noch 3-4 Mal aendere!

Gamberianer
Foriker
Beiträge: 43
Registriert: Di 9. Sep 2008, 06:45
Kontaktdaten:

Re: Steuerelement zur Laufzeit erzeugen

Beitrag von Gamberianer » Mo 19. Okt 2009, 20:52

Hallo,

hier ein Beispiel wie es (bei mir) funktioniert:

Der Name des Formulars, in dem der Button erzeugt werden soll, ist in diesem Beispiel "Formularname"
Zudem habe ich dem Button einige Eigenschaften hinzugefügt, die natürlich nach belieben angepasst werden können und keineswegs vollständig sind.

Code: Alles auswählen

PUBLIC Speichern AS Button

PUBLIC SUB Form_Open()
  Speichern = NEW Button(Formularname) AS "Speichern"
  Speichern.Width = 160
  Speichern.Height = 30
  Speichern.X = 240
  Speichern.Y = 140
  Speichern.BackColor = &HFFFF5F&
  Speichern.Font.Name = "Sans Serif"
  Speichern.Font.Size = 12
  Speichern.Font.Bold = TRUE
  Speichern.Text = "Speichern"
  Speichern.Visible = TRUE
END     'Form_Open()
Viele Grüße Richard

k4rstenDOTde
Foriker
Beiträge: 8
Registriert: So 18. Okt 2009, 19:03
Wohnort: Dortmund
Kontaktdaten:

Re: Steuerelement zur Laufzeit erzeugen

Beitrag von k4rstenDOTde » Mo 19. Okt 2009, 21:36

Hallo Richard und vielen Dank für deine Antwort!

Deine Variante funktioniert auch und durch diese simplen Quelltext wurde in meinem Verständis auch das Problem von hier gelöst.

Aber welchen Sinn hat der Anhang "AS "Speichern"? Wenn ich diesen weglasse, funktioniert das erzeugen genau wie mit.

Viele Grüße Karsten

Gamberianer
Foriker
Beiträge: 43
Registriert: Di 9. Sep 2008, 06:45
Kontaktdaten:

Re: Steuerelement zur Laufzeit erzeugen

Beitrag von Gamberianer » Di 20. Okt 2009, 16:12

Hallo Karsten,


den Anhang 'AS (Speichern)" ' kann man weglassen, wenn alles, was mit dem Button zu tun hat, den selben Namen hat, hier also eben "Speichern".

Wenn jedoch die Ereignisverwaltung einen anderen Namen haben soll, so kann man den hier definieren. Wählt man z.B. 'AS (Speichern01)" ', dann muss die Ereignisverwaltung z.B. so aussehen:

Code: Alles auswählen

PUBLIC SUB Speichern01_Click()
  ...
END     'Speichern01_Click()
Der Button-Name bleibt aber 'Speichern' und alle Einstellungen des Buttons müssen mit dem Namen 'Speichern' vorgenommen werden.

Ich hoffe, Deine Frage damit hinreichend beantwortet zu haben.


Viele Grüße Richard

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste