XbpCrt-Fenster-Größe zur Laufzeit ändern

Auf dem Weg von Clipper, FoxPro u.ä. nach Xbase++

Moderator: Moderatoren

Antworten
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

XbpCrt-Fenster-Größe zur Laufzeit ändern

Beitrag von peternmb »

Hallo, irgendwie stehe ich im Moment etwas auf der Leitung - hab schon lange nicht mehr mit Crt-Fenstern gearbeitet.

Da ich in eine Abfrage-Maske einige Daten mehr integrieren muß, möchte ich einfach statt bisher 25 Zeilen à 80 Zeichen jetzt 30 Zeilen anzeigen. Da das Programm damals für eine Bildschirmauflösung von 800x600 gedacht war, die heute keiner mehr verwendet ist das optisch kein Problem. Das Ändern des Fenstertitels und der Fensterposition klappt problemlos.

Mein Lösungsansatz funktioniert aber nicht

Code: Alles auswählen

oXbp := SetAppWindow()
oXbp:setTitle( "Test 30 Zeilen" )     //OK
oXbp:setPos({0,10})                   //OK
oXbp:setSize({30,80})
oXbp:configure()
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Beitrag von Jan »

Schau Dir mal die Onlinehilfe zu :setSize() in XbpCrt an. Der letzte Absatz über die Methode :setSize() unter Windows.

Jan
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Beitrag von peternmb »

Die online-Hilfe kenne ich mittlerweile fast auswendig :?

Irgenwie kann ich da aber keinen Zusammenhang sehen
XbpCrt auf Windows Plattformen
Unter Windows spielt die Instanzvariable :taskList eine wichtige Rolle bei der Konfiguration eines XbpCrt-Fensters wenn es auf den Desktop angezeigt wird. Einzelheiten sind bei den Instanzvariablen zur Konfiguration beschrieben.
Sören
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 205
Registriert: Mo, 07. Aug 2006 10:18
Wohnort: Leipzig
Danksagung erhalten: 11 Mal

Beitrag von Sören »

Hallo,

Meinst Du das?

Code: Alles auswählen

oCrt := XbpCrt():New ( oParent, oOwner, aPos, 30, 80 )
Beste Grüße,
Sören
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Beitrag von peternmb »

Hallo Sören,

leider nicht ganz so.
Ich möchte kein neues Fenster erstellen, sondern die Größe bzw. die Zeilenzahl eines bestehenden Fensterns ändern.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Beitrag von Jan »

Aber genau DAS schließt doch der oben angemerkte Teil der Onlinehilfe mit :setSize() aus!

Jan
Zuletzt geändert von Jan am Mo, 15. Okt 2007 18:20, insgesamt 1-mal geändert.
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Beitrag von peternmb »

Hallo Jan,

ich habe ja bei meinem ersten Posting schon geschrieben, dass ich anscheinend da etwas auf dem Schlauch stehe :cry:

Wo wird das ausgeschlossen :?:
Kannst du mir das vielleicht etwas näher erläutern.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Beitrag von Jan »

Onlinehilfe - setsize - XbpCrt - ganz unten.
Win32 - Die Größe eines XbpCrt-Fensters kann unter Windows nicht mit der Methode :setSize() geändert werden. Stattdessen wird die Größe durch den impliziten Textpuffer vorgegeben. Die Größe des Textpuffers wird in :create() eingestellt und kann über die Methode :configure() oder die Funktion SetMode() geändert werden. Der Aufruf der Methode :setSize() hat auf Windows-Rechnern keine Auswirkung und die Methode gibt immer den Wert .F. (FALSE) zurück.
Du musst :setSize() wie in der Hilfe angegeben rausschmeißen und eine der anderen angegebenen Arbeitsweisen nutzen.

Jan
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Beitrag von Tom »

Das geht offenbar nur mit SetMode(), aber dann für alle Fenster.

Doku:

Die Größe eines XbpCrt-Fensters kann unter Windows nicht mit der Methode :setSize() geändert werden. Stattdessen wird die Größe durch den impliziten Textpuffer vorgegeben. Die Größe des Textpuffers wird in :create() eingestellt und kann über die Methode :configure() oder die Funktion SetMode() geändert werden. Der Aufruf der Methode :setSize() hat auf Windows-Rechnern keine Auswirkung und die Methode gibt immer den Wert .F. (FALSE) zurück.
Herzlich,
Tom
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Beitrag von peternmb »

Danke Tom, das war`s :D

es genügt ein einfaches

Code: Alles auswählen

SetMode(30,80)
da alles nur in einem Fenster läuft
Antworten