Laden...

Zeilenumbruch im Dgv-Header an anderer Stelle bei Win7 vs. XP

Erstellt von oli001 vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.952 Views
O
oli001 Themenstarter:in
449 Beiträge seit 2005
vor 12 Jahren
Zeilenumbruch im Dgv-Header an anderer Stelle bei Win7 vs. XP

Hi, folgendes Problem:

dgv-Haeder: headersizemode: auto
Der Header bekommt folgenden Text:

aa aaaaa\nbbbbb

Anzeige Win7                      Anzeige XP
aa aaaaa                          aa
bbbbb                             aaaaa
                                  bbbbb

Kann mir jemand den Grund nennen? Was setzt Win7 anders um als XP??
Und evtl. auch ne Lösung dazu nennen?

Grüße Oli

Viele Grüße, Oli

C
2.121 Beiträge seit 2010
vor 12 Jahren

Andere Schrift, so dass die eine früher umbrechen muss als die andere?

O
oli001 Themenstarter:in
449 Beiträge seit 2005
vor 12 Jahren

Hi,

oh sorry.
nein eigentlich nicht. Standardschriftart des dgv.

Grüße Oli

Viele Grüße, Oli

2.891 Beiträge seit 2004
vor 12 Jahren

Standardschriftart des dgv.

Allerdings haben sich die Standardschriftarten von WinXP (MS Sans Serif) zu Win7 (Segoe UI) geändert. Manche Controls nehmen direkt die Standardschriftart aus dem Betriebssystem (z.B. ComboBox), manche die vom Parent-Control (z.B. Label).

Mach doch mal einen Screenshot für uns.

O
oli001 Themenstarter:in
449 Beiträge seit 2005
vor 12 Jahren

Hi,

ich habe jetzt EnableVisualStyles beim Programmstart auskommentiert. Nun habe ich in Win 7 den selben Effekt.
Außerdem habe ich die Schriftart auf Arial umgestellt. Das hatte keine Auswirkungen.

Die Frage ist nun, wie erkläre ich dem Header, dass er nur bei \n umbrechen soll???

Grüße Oli

Viele Grüße, Oli

C
2.121 Beiträge seit 2010
vor 12 Jahren

Gib ihm so viel Platz dass der Umbruch bei \n Sinn macht und nicht Teile des Texts verschwinden.
Oder zeichne den Header selber, dann kannst du auf sowas Rücksicht nehmen.

Hinweis von herbivore vor 12 Jahren

... Stichwort Ownerdrawing

F
174 Beiträge seit 2007
vor 12 Jahren

ich habe jetzt EnableVisualStyles beim Programmstart auskommentiert. Nun habe ich in Win 7 den selben Effekt.

Damit deaktivierst du allerdings das Standard Windows 7 Look And Feel. Jetzt ist die Frage, ob man das tun sollte, nur damit an der gleichen Stelle umgebrochen wird. Wenn du mich fragst, würde ich sagen nein.

O
oli001 Themenstarter:in
449 Beiträge seit 2005
vor 12 Jahren

Hi,

nein das mache ich natürlich nicht. Mich würde nur interessieren, was da bei Win7 anders ist als bei XP.

Notfalls kann ich auch aa/aaaa schreiben, das bringt dann auch bei XP den gewünschten Effekt. Ist von der Titel-Beschreibung her nicht falsch, aber auch nicht wirklich schön.

Ich hab am WE etwas intensiver gegoogelt, aber auch keine wirklich ausreichende Antwort gefunden...

Muss wohl damit leben

Grüße Oli

Viele Grüße, Oli

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo oli001,

dass es bei zwei Betriebssystemen, von denen das eine sogar eine technisch und optisch komplett neue Oberfläche (Aero) bekommen hat, Unterschiede geben kann, finde ich nun nicht so verwunderlich. Und gerade der automatische Umbruch hängt von vielen Faktoren ab: Schriftart, Schriftgröße, Schrittattribute (z.B. fett, Laufweite, ...), zur Verfügung stehender Platz, Rendering Algorithmus (vermutlich sogar davon, ob Clear Type eingeschaltet ist oder nicht), usw.

Anderseits sollte es, wenn du für etwaige Unterschiede in der Breite, die der gerenderte Text benötigt, ausreichend Platz lässt, keine Probleme geben, weil es dann überhaupt nicht zu einem automatischen Umbruch kommt.

herbivore

O
oli001 Themenstarter:in
449 Beiträge seit 2005
vor 12 Jahren

Hallo herbivore,

das ist schon richtig. Die Größe der Spalten lasse ich ja dynamisch ermitteln. Da es mehr als 30 Spalten sein können, mal mehr - mal weniger ist es auch nicht möglich das statisch zu machen. Und sie sollen eben zweizeilig sein, aus Gründen der Übersicht und des Platzes.
Wie gesagt ich helfe mit halt mit dem '/'. Nicht schön, aber in diesem Fall praktikabel.

Danke für die Hinweise,

Oli

Viele Grüße, Oli

C
2.121 Beiträge seit 2010
vor 12 Jahren

Mach dir doch interessehalber einen Screenshot von einer Spalte unter XP und Win7 und leg die dann in einem Bildbearbeitungsprogramm übereinander oder vergleiche sie sonst irgendwie.
Vielleicht musst du den Spalten unter Win 7 nur ne handvoll mehr Pixel an Breite geben, damit auch da alles so dargestellt wird wie du es haben willst.

O
oli001 Themenstarter:in
449 Beiträge seit 2005
vor 12 Jahren

Hi,

wie schon gesagt. Spaltenbreite wird automatisch vergeben, weil dynamisch.

Grüße Oli

Viele Grüße, Oli

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo oli001,

was dich ja wie gesagt nicht daran hindern sollte, sie ein paar Pixel breiter zu vergeben.

herbivore

O
oli001 Themenstarter:in
449 Beiträge seit 2005
vor 12 Jahren

Hi,

meinst du nach dem Zeichnen die Schleife über alle spalten und dann Spaltenbreite+=x? Oder hab ich das falsch verstanden?

Werds probieren und das Ergebnis mitteilen.

Grüße Oli

Viele Grüße, Oli

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo oli001,

oder gleich bei der bestehenden Berechnung der Breite ein +x (bzw. genauer gesagt ein +c) anfügen. (Wobei wir uns mit dieser Diskussion klar im Bereich von [Hinweis] Wie poste ich richtig? Punkt 1.1.1 bewegen.

herbivore

O
oli001 Themenstarter:in
449 Beiträge seit 2005
vor 12 Jahren

dgv-Haeder: headersizemode: auto

Da kann ich schlecht in die Berechnung eingreifen, oder?

Grüße Oli

Viele Grüße, Oli