![]() |
Ränder werden abgeschnitten
Liste der Anhänge anzeigen (Anzahl: 1)
Moin !
Ich habe in unserer Software ein merkwürdiges Problem und weiss im Moment nicht so ganz wo ich ansetzen soll. Deswegen hoffe ich, das mir hier jemand einen Tip geben kann ... :roll: Also, es kommt in letzter Zeit vermehrt vor, dass die Ränder unserer Grafik abgeschnitten werden. Den Entwickler der Komponente habe ich schon kontaktiert. Ihm ist das Problem nicht bekannt und er meint es liegt auch nicht an der Komponente. Das kann auch irgendwie nicht recht sein, denn die Vorversion unserer Software hatte dieses Problem komischerweise nicht ... Unter Win9x kann ich das Problem sofort reproduzieren. Da habe ich zunächst gedacht es läge an den alten Systemen. Aber dann kamen vereinzelt Meldungen hoch das es eben auch auf XP Rechnern passiert. Und was die Sache so verwirrend macht ... Es passiert eben nicht überall. Scheinbar sind nur ein paar Rechner betroffen. Mein XP Lappi z.B. hat keinerlei Probleme. Im Anhang noch ein Bild. Dort kann man gut erkennen, dass rechts und unten die Achsen abgeschnitten und die Zaheln nicht richtig erkennbar sind. Noch kurz zum Aufbau ... Also, ich habe ein Formular, logisch ... Darauf ist dann ein Panel. Auf dem Panel ist ein Pagecontrol. Auf einer Seite des Pagecontrols liegt dann die Grafikkomponente. Align & Anchors ... Panel -> alNone, Anchors alle aktiv Pagecontrol -> alNone, Anchors alle aktiv TabSheet -> hat diese Einstellungen logischerweise nicht Grafikkomponente -> alClient, Anchors alle aktiv Kann da jemand was zu sagen?? |
Re: Ränder werden abgeschnitten
Haben die verschiedenen Rechner zufällig verschieden große Schrifteinstellungen?
|
Re: Ränder werden abgeschnitten
Hallo Dominik,
bist du sicher, dass die Ränder abgeschnitten werden? Ist es nicht eher so, dass die Schrift falsch positioniert wird? Da würde ich mal ansetzen. Am besten du schreibst dir die relevanten Werte in ein Debug-Logfile. Die Angaben zu den verwendeten Komponenten und ihren Anchors hilft mir nicht, da ich sie auf dem Screenshot nicht erkennen kann. Außerdem sind die Angaben nicht unmissverständlich. Grüße vom marabu |
Re: Ränder werden abgeschnitten
Moin!
Zitat:
Zitat:
Zitat:
|
Re: Ränder werden abgeschnitten
Wenn die Achsenbeschriftung von der Grafikkomponente stammt und du keinen Einfluß nimmst, dann ist das Abschneiden vielleicht eine Folge einer Überdimensionierung der Grafik-Komponente. Sie scheint höher zu sein als die ClientArea der Form. Du könntest die ScrollBars der Form aktivieren um das zu verifizieren.
marabu |
Re: Ränder werden abgeschnitten
Ok, ich bin einen Schritt weiter ...
Ich teste gerade auf einem Windows 98 System, weil dort das Problem immer reproduzierbar ist. Nochmal meine Struktur zur Veranschaulichung: Form --> Panel ----> PageControl ------> Seite des Pagecontrol --------> Grafikkomponente Das Pagecontrol steht bei mir auf Align = alNone. Nur die Anchors habe ich alle gesetzt. Dann habe ich das Pagecontrol auf dem Panel verschoben. Weil sonst die Ränder des Pagecontrolls bzw. dessen Seiten zu sehen wären. Wenn ich dieses Verschieben aufhebe und Pagecontrol.Align = alClient setze und die Grafikkomponente auch auf Align = alClient, dann schaut alles super aus. Sprich, ich habe keinen abgeschnitteten Text mehr. Gegentest .. Ich habe beim PageControl Align wieder auf alNone gestellt. Dann das Pagecontrol auf dem Panel verschoben so das meine Optik wieder passt und siehe da, der Text ist wieder abgeschnitten (Anmerkung: Auf meinem XP Rechner sieht es aber nachwievor sauber aus). Tja, nun weiss ich zwar in etwa wo der Hase begraben ist, aber was nun tun? Da ich mehrere Seiten in meinem Prog umschalten muss, kann ich ja nicht einfach mein PageControl wegwerfen? :gruebel: Hat jemand ne Idee, wie ich nun aus diesem Schlamassel komme? :cyclops: |
Re: Ränder werden abgeschnitten
Moin,
ich habe ähnliche Probleme mit den Anchors, die sich einfach nicht korrekt verhalten, allerdings auch bei XP. Ich behelfe mir damit, das ich die Position der Controls zur Laufzeit (im FormCreate z.B.) korrigiere (z.b. 10 Pixel vom rechten Rand etc.). Das ist natürlich keine Lösung, aber wenigstens klappt es so. |
Re: Ränder werden abgeschnitten
Moin !
Hmm, so kann man das sicherlich machen ... Aber irgendwie kanns das ja ncih sein. Und ich sehe da auch ein Problem ... Wie erkenne ich denn, wann das Control "zu gross" ist? Muss ich die Width / Height Eigenschaft überprüfen? Habe mir das gerade nochmals angesehen. Auf XP (hier funzt es mal ...) steht die Breite meines Panels auf 939, Das Pagecontroll auf 943. Das ist soweit ok, denn ich habe ja das Pagecontrol über das Panel vergrössert um die Rahmen wegzukriegen. Auf 98 ist das Panel 731 Pixel breit. Das PageControl aber 762. Wie kann es kommen das da auf mal 31 Pixel Differenz sind, wo hingegen es bei dem funzenden XP nur 6 Pixel sind :gruebel: Mir ist das ganze Verhalten nicht wirklich klar. |
Re: Ränder werden abgeschnitten
Kann es sein, dass der einzige Grund für deine Mischverhältnisse (Anchors und Align) der ist, dass du den 3D-Rand vom PageControl eliminieren willst?
marabu |
Re: Ränder werden abgeschnitten
Moin !
Zitat:
Weil wenn ich den Rand nicht elemeniere, dann geht es ja sauber. Kennst du eine andere Möglichkeit was man da machen kann um den Rand weg zu bekommen? |
Re: Ränder werden abgeschnitten
Setze die property Style des PageControl auf tsFlatButtons und die property TabVisible aller TabSheets auf False. Sollte reichen.
marabu |
Re: Ränder werden abgeschnitten
Moin !
Ok, das kann ich mal testen. Könntest du mir (rein Interessehalber) erklären, warum diese Methode Erfolg verspricht? Weil der Hintergrund dieser ganzen Misere würde mich schon interessieren. |
Re: Ränder werden abgeschnitten
Was heißt hier "Erfolg verspricht"? So schaltest du nunmal den 3D-Effekt ab. Da ich auf deinem ScreenShot keine Tabs gesehen habe, werden die halt auch noch weggeschaltet (TabVisible). Ich halte das einfach für den direkten Weg.
marabu |
Re: Ränder werden abgeschnitten
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm, es geht aber nicht nur darum, den 3D Effekt wegzu kriegen.
Mir geht es auch darum, das ich die Elemente auf dem Pagecontrol ausrichte. Schau dir mal das angehängte Bild an. So schaut das aus wenn ich vom PageControl Align auf alClient setze. In diesem Fall habe ich das Problem, das die einzelnen Seiten des PageControl einen Rand haben und deswegen passen die Menü unter anderem nicht mehr sauber untereinander. (Siehe menü bei rotem und blauem Pfeil). Gibt es vielleicht noch eine andere Möglichkeit ausser den PageControls, mehrere Seiten auf einem Forum unterzubringen? |
Re: Ränder werden abgeschnitten
Verwende doch einfach Panels ohne Rand und setze die Visible-Eigenschaft entsprechend...
|
Re: Ränder werden abgeschnitten
Moin !
Hmm, und das macht keinen Stress? Stelle mir das ziemlich komisch vor wenn ich da mehrere Panales übereinander lege. Das geht so einfach? |
Re: Ränder werden abgeschnitten
Es ist eigentlich noch zu früh für Verzweiflungstaten, aber TNoteBook müsste das Alignment-Problem lösen - und da die Tabs eh nicht gebraucht werden ...
marabu |
Re: Ränder werden abgeschnitten
Moin !
Oh Mann, wenn ich Panels verwende isses ja so, das ich nichtmal was schieben brauch. Man muss nur die BevelOuter auf None setzen und die Menüs passen sofort untereinander. Ich werde mal das Pagecontrol entfernen. Ich könnte mir vorstellen das mir das schon viel hilft. Wenn nicht melde ich mich nochmal. Schonmal Danke für die guten Tips! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz