Grafik-Probleme mit Forms



  • Hi Leute!

    Ich habe ein Problem mit einer Anwendung die ich geschmiedet habe (Siehe folgendes Teilbild):

    Bild

    Wie zu sehen ist, wird immer ein senkrechter Strich reingemalt, sobald ich ein MDI Fenster öffne, oder die Anwendung minimiert und dann wieder maximiert wird. Dieser Strich wird bei der doppelten Splitter-Breite gemalt. Dieser Strich geht nicht mehr weg, egal was ich mache. Ich habe schon aus Verzweiflung an verschiedenen Stellen Form->Repaint() u.s.w. im Quellcode stehen, das hilft aber auch nicht. Hat jemand einen besseren Vorschlag? 😕

    F98



  • Liegt bestimmt an deinen BCB Einstellungen 🕶



  • F98,

    F98 schrieb:

    wird immer ein senkrechter Strich reingemalt ... aus Verzweiflung an verschiedenen Stellen Form->Repaint()...

    solche Dreckeffekte hatte ich auch bei der Verwendung von Splittern: Splitter nach rechts ==> Streifen links, Splitter nach links ==> Streifen rechts.
    Bei mir hat es geholfen, im OnMoved-Ereignis des Splitters immer genau die Komponenten neu zeichnen zu lassen, auf denen der Streifen stehen blieb.



  • Das Repaint(), auch im OnMoved-Ereignis des Splitters bringt leider nichts. Hat noch jemand Vorschläge?



  • Repaint wovon? Vom Form?

    -junix



  • genau die Komponenten neu zeichnen zu lassen, auf denen der Streifen stehen blieb.



  • junix schrieb:

    Repaint wovon? Vom Form?

    -junix

    Dieser Strich erscheint auf der Form selber. Also habe ich versucht, bei verschiedenen Ereignisroutinen des Splitters (OnMove), oder eben der Form (Resize, Activate ...) selber mit Form->Repaint() das Neuzeichen der Form zu erzwingen. Hat aber bis jetzt alles nicht geholfen.



  • Und den Splitter repainten?



  • Splitter->Repaint() funktioniert auch nicht, egal wo.

    Aber das Problem habe ich jetzt teilweise gelöst. Wenn die Splitter-Farbe genau mit der Farbe des Elementes, auf dem der Splitter liegt (z.B. die Form), übereinstimmt, dann ist der Strich nicht sichtbar (er wird ja in der selebn farbe gemalt, wie der Hintergrund). Außerdem muss man "Splitter->Beveled=false" stellen;


Anmelden zum Antworten