freier Platz im Static ermitteln

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

freier Platz im Static ermitteln

Beitrag von Manfred »

wenn ich mir ein Static baue um darin Eingabefelder unterzubringen, wie ermittelt man eigentlich wieviel Platz im fertigen Static dafür zur Verfügung steht? Irgendwie paßt das bei mir nicht. Ich habe z.B. 2 Zeilen für Eingabefelder. Die haben eine Höhe von 20 Pixel wenn die fertig sind. Dazwischen gebe ich noch 5 Pixel für oben zwischen und unter den Eingabefeldern. also 2x20 und 3x5 = 55 Pixel. Wie groß muß dann currentsize() vom Static sein, damit die da rein passen? Jetzt ist currentsize() = {x,55} da passen die Eingabefelder aber nicht rein. Die Höhe ist zu gering.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: freier Platz im Static ermitteln

Beitrag von Martin Altmann »

Denke dran, dass Du noch einen Rahmen um die Eingabefelder herum hast.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: freier Platz im Static ermitteln

Beitrag von Manfred »

ah, Danke hatte ich auch vergessen. Wie dick ist der?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: freier Platz im Static ermitteln

Beitrag von Martin Altmann »

2 Pixel glaube ich - musst Du mal schauen in der Hilfe.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: freier Platz im Static ermitteln

Beitrag von Manfred »

hm,
nix zu finden. Aber trotzdem Danke erstmal werde ich dann auch noch berücksichtigen
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: freier Platz im Static ermitteln

Beitrag von Manfred »

irgendwas stimmt da nicht. Das Eingabefeld hat eine Höhe von 20 und das Static hat eine Größe von 34.
static.PNG
static.PNG (7.13 KiB) 11527 mal betrachtet
gemeint ist Bezeichnung
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: freier Platz im Static ermitteln

Beitrag von georg »

Hallo, Manfred -


laut Hilfe haben XbpStatic()s auch eine :currentSize(), sowie die Möglichkeit, dass die Grösse über :autoSize := .T. automatisch angepasst wird.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: freier Platz im Static ermitteln

Beitrag von Manfred »

Hallo Georg,
currentsize() hilft mir nicht weiter, was willst Du mir damit mitteilen?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: freier Platz im Static ermitteln

Beitrag von georg »

Hallo, Manfred -


wegen der Messungenauigkeit: ich würde in einem kleinen Programm mal ein Probe-Static erzeugen, die Innenmasse mit currentSize() ermitteln und einen String als Caption reinpacken. Mal mit :autoSize := .T. und mal mit .F. - dann :currentsize() nach dem Zuweisen der Caption vergleichen.

Ich habe das noch nicht gemacht, weil bei mir die Captions immer passen (vielleicht sind meine Statics ja auch nur zu gross :D). Nach so einem Vergleich hätte ich dann einen "pack an", wie Xbase++ mit diesen Dingen umgeht, und ich hätte (vielleicht) auch eine Idee, wie gross der Rahmen ist.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: freier Platz im Static ermitteln

Beitrag von brandelh »

Also wenn man fixe Formulare bauen will, dann muss man alles Autosize mäßig abstellen.
Schriftbreiten sind aber nicht in pixel, und ich bin mir auch nicht sicher ob bei jedem Windows die controls alle gleich breit bleiben.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: freier Platz im Static ermitteln

Beitrag von AUGE_OHR »

Manfred hat geschrieben: Fr, 10. Jan 2020 19:47 irgendwas stimmt da nicht. Das Eingabefeld hat eine Höhe von 20 und das Static hat eine Größe von 34.
static.PNG
gemeint ist Bezeichnung
schon mal o:options versucht :?:
gruss by OHR
Jimmy
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: freier Platz im Static ermitteln

Beitrag von Manfred »

@Hubert,
es geht um die HÖHE, nicht um die BREITE :roll:
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: freier Platz im Static ermitteln

Beitrag von AUGE_OHR »

Manfred hat geschrieben: Fr, 10. Jan 2020 19:47 gemeint ist Bezeichnung
ist das jetzt jeweils ein XbpStatic für "Themen","Bezeichnung" und "Auswahl" :?:

wie ich schon bemerkte würde ich mit XbpStatic:options versuchen ob sich das Layout ändert

Code: Alles auswählen

  XBPSTATIC_TEXT_TOP        Text wird oben angezeigt              
  XBPSTATIC_TEXT_VCENTER    Text wird vertikal zentriert          
  XBPSTATIC_TEXT_BOTTOM     Text wird unten angezeigt             
  
  XBPSTATIC_TEXT_WORDBREAK  Text wird umgebrochen (mehrzeilig)   
gruss by OHR
Jimmy
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: freier Platz im Static ermitteln

Beitrag von Manfred »

ich habe extra Bezeichnung geschrieben. Da ist auch ein rahmen drum. Das darunter ist nur Beiwerk.
static.PNG
static.PNG (8.48 KiB) 11495 mal betrachtet
Jetzt habe ich das mal gemarkert. Laut Currentsize ist das Static (wo der Rahmen drum ist) 34 Pixel hoch. Und das Eingabefeld (wo Bremsanlage drin steht) 20 Pixel hoch.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: freier Platz im Static ermitteln

Beitrag von AUGE_OHR »

ok,

du hast also ein grosses XbpStatic und 1 Eingabefeld "auf" dem XbpStatic ( Parent )
Ich nehme nun an das du für "Themen" und "Bezeichnung" kein "EXTRA" XbpStatic verwendest ?

die "saubere" Lösung wären 2 weiter XbpStatic deren Position du anpassen kannst.
wenn du allerdings im FormDesinger (XppFd.EXE) eine XbpStatic und XbpSLE anlegst wirst du sehen das die Grösse eh nicht "stimmt"
gruss by OHR
Jimmy
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: freier Platz im Static ermitteln

Beitrag von Jan »

Zu dem, was Martin und Hubert geschrieben haben: Für bestimmte Elemente fixe Werte anzunehmen, ist gefährlich. Ich habe gerade kein Windows 7 greifbar (Manfred, Deine Screenshots sehen nach Windows 7 aus?). Ich kann daher nicht vergleichen, ob und wenn ja welchen Unterschied es da bei den Groupboxen gibt. Rahmenstärke, Abstand Rahmen - Static-Rand, etc. Aber bei Dialograhmen z. B. gibt es da durchaus Unterschiede. Das muß also unbedingt flexibel gehandhabt werden.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: freier Platz im Static ermitteln

Beitrag von Manfred »

es geht um etwas ganz anderes. Das Static soll dynamisch erzeugt werden in dem einfach nur berechnet wird, wieviel Eingabezeilen muß ich haben. Ich habe nun mit 1 zeile angefangen und da ist mir diese Diskrepanz aufgefallen. Mehr nicht. Ich schließe daraus, wenn eine Zeile schon nicht paßt, dann wird es sicherlich probleme bei mehr zeilen und anderen Skaliereung und Schriftarten und Schriftgrößen geben. Meine Frage war nur, wie kann es sein, das trotz der so unterschiedichen Pixelhöhe trotzdem so wenig Platz übrig bleibt. Mehr nicht. Mache ich in der Berechnung einen Fehler, oder wo liegt das Problem? Ich möchte einfach nur dynamisch ein Static erzeugen, auf das später alle Zeilen passen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: freier Platz im Static ermitteln

Beitrag von Manfred »

@Jan,
deshalb meine Frage hier, was muß man beachten, wenn man sowas dynamisch aufbauen möchte. Andere scheinen das doch auch zu können, was mache ich falsch?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: freier Platz im Static ermitteln

Beitrag von Manfred »

Bei Win10 ist es übrigens genauso.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: freier Platz im Static ermitteln

Beitrag von Manfred »

OK, gerade etwas dazugelernt. georg hat einen Blick auf alles geworfen und mich darauf hingewiesen, das auf jeden Fall die Caption (Themen) des Static mitgerechnet werden muß, bzw. in Abzug gebracht werden muß. Currentsize liefert die Höhe bis oben links des Textes. Dadurch wird nactürlich die nutzbare "Fläche" des Static kleiner. Das wußte ich nicht. Jetzt werde ich erstmal alle Folgeberechnungen überarbeiten müssen, weil die von ganz anderen Voraussetzungen ausgingen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: freier Platz im Static ermitteln

Beitrag von Wolfgang Ciriack »

In solchen Fällen würde ich die Hintergrundfarbe des Statics zu Designzwecken mal farbig gestalten, dann sieht man besser, wie und wo es positioniert wird.
Viele Grüße
Wolfgang
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: freier Platz im Static ermitteln

Beitrag von Manfred »

es sieht also folgendermaßen aus:
1) erstmal die Höhe der Überschrift des Static berechnen
2) dann die Unterlänge, bzw. die Pixel berücksichtigen, die die Überschrift in den Staticrahmen selbst rein gerät.
3) dann je 2 Pixel für den Rahmen oben/unten des SLE (z.B.)
4) dann 2 Pixel oben/unten, die das Eingabefeld größer als die Schriftart im Eingabefeld ist
5) dann die Höhe des SLE
das dann alles noch mit DPI abgleichen und es scheint recht gut danach dynamisch zu klappen. Also das das Static für die entsprechende Menge an Zeilen, die untergebracht werden müssen paßt. Geprüft habe ich es bis 175% und 30.Pixel Courier. Dann kam ich an die Grenzen, was die CAption des Static und der ersten Zeile anging. Aber damit kann ich erstmal leben, weil wer so große Schriften wählt, der hat ein ganz anderes Problem.
Jetzt bin ich mal gespannt, ob alles so gut weiterläuft, wenn es überall eingebaut wurde und auf den kunden losgelassen wird.
Wenn jemand eine einfachere Lösung hat, die dynamisch und DPI orientiert arbeitet, her damit. Ich habe nichts dergl. bisher gefunden.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: freier Platz im Static ermitteln

Beitrag von Manfred »

Hi Wolfgang,
jetzt wo ich STATICS nehme, geht das wohl auch. Muß ich mir mal angewöhnen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Antworten