Seite 1 von 1

Textgröße

Verfasst: Mo, 26. Nov 2018 9:06
von Koverhage
ich benutze hier den XML Copy Editor von FastStone.
Diese hat die Funktion Textgröße die ich für meine Anwendung auch gerne hätte.

Was man hier nicht sieht, die Fenstergröße bleibt gleich nur die Textgröße ändert sich.
Wenn der Text für das Fenster zu groß ist, werden Scrollbalken erzeugt.
Wie kann ich dies realisieren (arbeite wie bekannt mit Express++)
Eventuell hat jemand Interesse das als Auftragsarbeit durchzuführen?

Re: Textgröße

Verfasst: Mo, 26. Nov 2018 10:48
von AUGE_OHR
Koverhage hat geschrieben: Mo, 26. Nov 2018 9:06 Was man hier nicht sieht, die Fenstergröße bleibt gleich nur die Textgröße ändert sich.
Wenn der Text für das Fenster zu groß ist, werden Scrollbalken erzeugt.
Wie kann ich dies realisieren (arbeite wie bekannt mit Express++)
bei o:Resize nehme ich

Code: Alles auswählen

 ::oFont:nominalPointSize = ::nominalPointSize * Faktor
um den Font anzupassen.

---

ein Scrollbar erscheint in einem XbpDialog wenn XbPart > o:DrawingArea ist
also ein XbpStatic als Parent auf der o:DrawingArea der proportional zum Font verändert wird.

wenn du willst das erst der Scrollbar erscheint wenn es nicht mehr in der Breite passt müsste man GraQueryTextBox() verwenden um die Grösse zu bestimmen.

Re: Textgröße

Verfasst: Mo, 26. Nov 2018 10:57
von Tom
Hallo, Klaus.

Wenn Du die Textgröße änderst, ändert sich zugleich der Platzbedarf. Einfache Elemente wie Statics kann man relativ problemlos - auch in Abhängigkeit voneinander - repositionieren und verkleinern bzw. vergrößern, aber bei Controls wie XbpBrowses wird das ein wenig komplizierter, weil sich u.U. Zeilenhöhen und -breiten anpassen müssen.

Roger hat mit den vielen Resize-Optionen, die es für die DCGET OPTIONS gibt, eigentlich alles an Bord, was man für "normales" Skalieren braucht, auch zur Laufzeit (außer PP-Änderungen bei Browses zur Laufzeit, das schafft Roger auch nicht so locker), aber die Besonderheit Deiner Anfrage besteht ja darin, dass Du die Schriftgröße über ein Menü o.ä. ändern willst und die Dialoggröße selbst gleich bleiben soll, wenn ich Dich richtig verstehe.

Es müsste möglich sein, Rogers Resizing-Routinen so anzupassen (u.U. sogar so aufzurufen), dass sie tun, was Du tun möchtest - vielleicht finde ich später am Tag Zeit, mal nachzuschauen.

Re: Textgröße

Verfasst: Mo, 26. Nov 2018 11:56
von AUGE_OHR
Tom hat geschrieben: Mo, 26. Nov 2018 10:57 ... aber die Besonderheit Deiner Anfrage besteht ja darin, dass Du die Schriftgröße über ein Menü o.ä. ändern willst und die Dialoggröße selbst gleich bleiben soll
also vom Font ausgehend die Controls anpassen.

man könnte aus ein Font-Dialog verwenden die die daraus resultierende Grösse als Faktor zum resize nehmen.

Re: Textgröße

Verfasst: Mo, 26. Nov 2018 12:02
von Tom
Sage ich doch. Von Browses (bzw. den CellGroups) abgesehen sollte das auch gehen - sogar mit eXpress++-Bordmitteln. Es gibt z.B. eine Funktion "DC_Resize", aber auch noch andere, auch Methoden. Ich müsste mal durchschauen, wenn Du das nicht selbst machst, Klaus. Es nämlich von außen zu lösen, ist nicht ganz problemlos, weil Roger viele Informationen redundant speichert oder verteilt, weshalb nicht nur die Standard-iVars der Objekte berücksichtigt werden müssten.

Re: Textgröße

Verfasst: Mo, 26. Nov 2018 12:23
von Koverhage
Hallo Tom,

mir würde z.B. ein Sample mit zwei Eingabefeldern
und einem dcmultiline reichen
@ 1,1 DCSAY "KD-Nr.:" SAYSIZE 0
@ 1,16 DCGET m_kdnr pict '999999999'
@ 3,1 DCSAY "Name:"
@ 3, 16 DCGET m_name PICT 'XXXXXXXXXXXXXXXXXXX'
@ 5,1 DCMULTILINE m_kdinfo SIZE 80, 10
DCREAD GUI