Höhe XbpStatic feststellen [Erledigt]
Moderator: Moderatoren
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Höhe XbpStatic feststellen [Erledigt]
... spät am Abend steh ich etwas auf dem Schlauch ...
Mit XBPSTATIC_TEXT_WORDBREAK kann ich einem XbpStatic sagen, das der übergebene Text mehrzeilig ausgegeben werden soll. Aber finde ich heraus, wie viele Zeilen das werden? Damit ich die Höhe des Static vorab bestimmen kann.
Jan
Mit XBPSTATIC_TEXT_WORDBREAK kann ich einem XbpStatic sagen, das der übergebene Text mehrzeilig ausgegeben werden soll. Aber finde ich heraus, wie viele Zeilen das werden? Damit ich die Höhe des Static vorab bestimmen kann.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Re: Höhe XbpStatic feststellen
Was gibt GraQueryString() aus wenn du den Text und die oPS angibst, eigentlich sollte die Funktion wissen wieviel Platz der aktuelle Text bracht.
Ich habe das allerdings nie bei Zeilenumbruch getestet.
Ich habe das allerdings nie bei Zeilenumbruch getestet.
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Höhe XbpStatic feststellen
Hubert,
Danke für den Hinweis, werde ich mal ausprobieren.
Nettes am Rande: Ich wußte das es da irgend eine Funktion gab, mit der man zumindest die Länge eines Textes berechnen kann. Hab die aber in der Hilfe nicht gefunden. Jetzt ist auch klar warum: GraQueryString() fehlt in der Hilfe, sowohl in der 1.9 SL1 als auch in der 2.0! Hab das gerade noch mal kontrolliert.
Jan
Danke für den Hinweis, werde ich mal ausprobieren.
Nettes am Rande: Ich wußte das es da irgend eine Funktion gab, mit der man zumindest die Länge eines Textes berechnen kann. Hab die aber in der Hilfe nicht gefunden. Jetzt ist auch klar warum: GraQueryString() fehlt in der Hilfe, sowohl in der 1.9 SL1 als auch in der 2.0! Hab das gerade noch mal kontrolliert.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Höhe XbpStatic feststellen
Hubert,
bist Du Dir mit GraQueryString() wirklich sicher? Meinst Du nicht vielleicht wirklich GraQueryTextbox()?
Jan
bist Du Dir mit GraQueryString() wirklich sicher? Meinst Du nicht vielleicht wirklich GraQueryTextbox()?
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Re: Höhe XbpStatic feststellen
Du hast Recht, es ist diese Funktion. Die berechnit nicht nur die Länge, sondern über die 4 Koordinaten auch die Höhe ...Jan hat geschrieben:GraQueryTextbox()?
Jan
PS: mein Gedächtnis läßt nach
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Höhe XbpStatic feststellen
Hallo Hubert,
stimmt, auch die Höhe. Aber das hilft mir nicht, da ich keine Begrenzung der Zeilenlänge als Parameter übergeben kann. Und damit ist das im einfachsten Fall in der Höhe einfach nur Abhängig von der eingesetzten Fonthöhe.
Im Prinzip brauch ich sowas wie MlCount() in GUI. Inzwischen bin ich soweit, das ich in Gedanken schon ein Gerüst dafür habe, um mir das selber zu schreiben. Das wird dann zwar über ein paar Schleifen laufen, und entsprechende Kontrollen mit GraQuerytextbox(), aber das sollte auch sehr präzise klappen. Wäre halt schön gewesen wenn es irgend sowas, analog zur Memoverarbeitung, schon gibt in Xbase++.
Jan
stimmt, auch die Höhe. Aber das hilft mir nicht, da ich keine Begrenzung der Zeilenlänge als Parameter übergeben kann. Und damit ist das im einfachsten Fall in der Höhe einfach nur Abhängig von der eingesetzten Fonthöhe.
Im Prinzip brauch ich sowas wie MlCount() in GUI. Inzwischen bin ich soweit, das ich in Gedanken schon ein Gerüst dafür habe, um mir das selber zu schreiben. Das wird dann zwar über ein paar Schleifen laufen, und entsprechende Kontrollen mit GraQuerytextbox(), aber das sollte auch sehr präzise klappen. Wäre halt schön gewesen wenn es irgend sowas, analog zur Memoverarbeitung, schon gibt in Xbase++.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Re: Höhe XbpStatic feststellen
Hast du mal probiert, was passiert wenn du chr(13) in den Text schreibst ?
Wird dann die Höhe größer, berechnet er den tatsächlich belegten Platz auch bei mehrzeiligen Texten.
Die nötigen Umbrüche musst du aber selbst berechnen, einfach mit fixer Zeichenbreite, komplexer durch Aufteilen der Texte mit der Funktion.
Besonders Blocksatz ist komplex ... aber machbar, siehe MemoPrint() in meiner Druckerklasse ...
Wird dann die Höhe größer, berechnet er den tatsächlich belegten Platz auch bei mehrzeiligen Texten.
Die nötigen Umbrüche musst du aber selbst berechnen, einfach mit fixer Zeichenbreite, komplexer durch Aufteilen der Texte mit der Funktion.
Besonders Blocksatz ist komplex ... aber machbar, siehe MemoPrint() in meiner Druckerklasse ...
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Höhe XbpStatic feststellen
Hallo Hubert,
ja, das ist das was ich mir überlegt hatte. Immer den Teilstring bis zum nächsten crlf bzw. Textende nehmen, per GraQuerytextbox() schauen wie lang der ist. Wenn länger als die vorgegebene Länge - Leerzeichen um Leerzeichen da rantasten, bei Erreichen der korrekten Position den Reststring ebenso abarbeiten.
Braucht halt ein paar Schleifen. Aber sollte gut gehen.
Jan
ja, das ist das was ich mir überlegt hatte. Immer den Teilstring bis zum nächsten crlf bzw. Textende nehmen, per GraQuerytextbox() schauen wie lang der ist. Wenn länger als die vorgegebene Länge - Leerzeichen um Leerzeichen da rantasten, bei Erreichen der korrekten Position den Reststring ebenso abarbeiten.
Braucht halt ein paar Schleifen. Aber sollte gut gehen.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.