Anfängerfrage Formdesigner

Alles rund um Editoren, visuelle Entwicklungshilfen und Form-Designer

Moderator: Moderatoren

Anfängerfrage Formdesigner

Beitragvon mkersch » Mo, 25. Jun 2012 10:40

Hallo Forumsmitglieder,

um meine Masken zu erstellen verwende ich den Formdesigner.

Wenn ich mir eine Funktion erzeugen lasse kann ich diese wunderbar nachbearbeiten und den entsprechenden Objekten , die ja immer den Namen oXbp erhalten, einen
neuen Namen geben z.b. oButtonStart usw.

Muss ich aber das Menue erweitern bzw. verändern erhalte ich wieder meine Funktion mit den Standardnamen oXbp.

Was muss ich machen das ich nicht wieder alles mühsam nachbearbeiten muss ?
Bzw. gibt es einen Formdesigner mit dem ich kompfortabel diese Menues für Xbase generieren kann ?

Vielen Dank

mkersch
mkersch
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 86
Registriert: Fr, 12. Mai 2006 12:26
Wohnort: Wünricht

Re: Anfängerfrage Formdesigner

Beitragvon brandelh » Mo, 25. Jun 2012 11:30

Hi,

  1. CLASS CODE verwenden,
  2. iVAR Namen sinnvoll ausfüllen, entweder direkt in der Eigenschaftsliste oder
    im Menü "Edit- Symbols for iVar" ... der erste Eintrag ist hier übrigens der Klassenname des Dialogfensters.

PS: ich verwende den XppFD nur um groß die nötigen Controls zu erhalten und arbeite danach nur noch mit dem Quellcode.
Insbesondere die Positionierung der Controls inkl. Größenfestlegung ist mir mit der Maus zu stressig und ohne Undo zu fehlerträchtig.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13267
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Anfängerfrage Formdesigner

Beitragvon mkersch » Mo, 25. Jun 2012 12:21

Vielen Dank für die schnelle Info.

Mit CLASS-Code wird für die Namen der Name aus iVarName übernommen.

Wie ist es dann mit :title oder mit :activate diese Punkte müssen dann nach wie vor manuell nachbearbeitet werden ?

Muss ich bei einer "Neuerzeugung" diese Punkte wieder manuell nachziehen ?

//**********************************
Vorgehen in der Vergangenheit:

Habe meine erste Maske mit dem Formdesigner erstellt und die Form dann abgespeichert. z.B. Form_1.xff und Form_1.prg

Das Programm habe ich dann kopiert (Form_1.prg) nach mein_prg.prg.

Mein_prg.prg habe ich dann entsprechen nachbearbeitet (Objektname, title, aktivate usw).

Falls ich nochmal eine Änderung benötigt habe, änderte ich meine Form Form_1.xff. Das geänderte Programm speicherte ich wieder in Form_1.prg ab.

Die Ergänzungen bzw. Änderungen (Positionen usw) kopierte bzw. fügte ich dann in mein aktuelles Programm Mein_prg.prg ein.
// **********************************

Diese Frage stellte ich deshalb, weil ich der Meinung war, das in der Zwischenzeit der Formdesigner kompfortapler wäre. Wenn dies nicht der Fall ist, werde ich
meine altbewährte Methode auch in Zukunft verwenden.

Danke.

mfg
mkersch
mkersch
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 86
Registriert: Fr, 12. Mai 2006 12:26
Wohnort: Wünricht

Re: Anfängerfrage Formdesigner

Beitragvon brandelh » Mo, 25. Jun 2012 12:35

Hi,

der CLASS Code erstellt zwei Dateien:
angenommen du wählst den Namen MeinDialog.PRG, dann wird noch ein _MeinDialog.PRG erstellt.
Vorgesehen ist nun, dass du MeinDialog.PRG nach deinen Wünschen änderst, und _MeinDialog.PRG in Ruhe läßt.
Falls nun der XppFD nochmals aufgerufen wird und nochmals MeinDialog.PRG erstellt wird, ändert der XppFD ausschließlich _MeinDialog.PRG und läßt deine Änderungen in MeinDialog.PRG in Ruhe.

Allerdings hat das einen Schöheitsfehler (zumindest aus meiner Sicht), die Positionsangaben sind nur als fixe Parameter in den NEW() Blöcken hinterlegt.
Um in der eigenen INIT die Controls dynamisch zu positonieren, müsste man diese aber als iVar haben ...
Man kann sie aktuell nur in CREATE oder RESIZE nachträglich verschieben ... ich finde das unschön ;-)
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13267
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Anfängerfrage Formdesigner

Beitragvon mkersch » Mo, 25. Jun 2012 12:55

Danke für die Info.

Und Entschuldigung für meine super Rechtschreibung (kompfortapler ==> komfortabel)

mfg.

mkersch
mkersch
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 86
Registriert: Fr, 12. Mai 2006 12:26
Wohnort: Wünricht

Re: Anfängerfrage Formdesigner

Beitragvon AUGE_OHR » Mo, 25. Jun 2012 19:05

brandelh hat geschrieben:Um in der eigenen INIT die Controls dynamisch zu positonieren, müsste man diese aber als iVar haben ...
Man kann sie aktuell nur in CREATE oder RESIZE nachträglich verschieben ... ich finde das unschön ;-)
ich weiss was du meinst aber man kann von jedem XbPart mit o:Currentpos() ja die Information bekommen.

Friedhelm erzählte doch auf der Devcon das in einer der Xbase++ DLL schon eine "resize" Routine stecken soll ... ist das die "GroupManager" Class ?
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10146
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Anfängerfrage Formdesigner

Beitragvon brandelh » Di, 26. Jun 2012 7:54

AUGE_OHR hat geschrieben:
brandelh hat geschrieben:Um in der eigenen INIT die Controls dynamisch zu positonieren, müsste man diese aber als iVar haben ...
Man kann sie aktuell nur in CREATE oder RESIZE nachträglich verschieben ... ich finde das unschön ;-)
ich weiss was du meinst aber man kann von jedem XbPart mit o:Currentpos() ja die Information bekommen.

Hallo Jimmy,
da irrst du dich, in :INIT() kann man keine Methode wie :CurrentPos() oder :CurrentSize() ausführen, nach der Definition des Klassenmodells, sollte man aber genau in der eigenen INIT() nach dem SUPER Aufruf die Werte ändern können, bevor man die Resourcen angefordert hat (in create() ).
Was du vermutlich meinst ist, dass man ja auch genausogut in CREATE() oder RESIZE() mit beiden Funktionen hantieren kann, das stimmt und in RESIZE() ist das sogar sehr elegant, weil man sich gleich um die Größenänderung mitkümmern kann (als grundsätzlich erst hier die Größen berechnet).
Dennoch sind Methoden-Aufrufe um Welten langsamer als direkte Variablen Zugriffe und so wäre es nur Folgerichtig, wenn diese Werte (aPos, aSize) als iVars vorliegen würden.
AUGE_OHR hat geschrieben:Friedhelm erzählte doch auf der Devcon das in einer der Xbase++ DLL schon eine "resize" Routine stecken soll ... ist das die "GroupManager" Class ?

Da bei einem Resize() nicht alle Controls gleich behandelt werden können, muss man entweder das gewünschte Verhalten (SLE wird rechts an den Rand verlängert, MLE nach rechts und unten, Buttons unten bleiben unten, Buttons rechts, bleiben rechts etc.) in einer eigenen Resize() Methode programmieren, oder in einer eigens dafür bestimmten Beschreibungsvariablen festgelegt werden (so macht es WinDev im GUI Editor).
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13267
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Anfängerfrage Formdesigner

Beitragvon Manfred » Di, 26. Jun 2012 8:10

Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 15972
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Anfängerfrage Formdesigner

Beitragvon brandelh » Di, 26. Jun 2012 8:28

Interessant =D>
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13267
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim


Zurück zu IDEs und Editoren

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast