Einzelnen Beitrag anzeigen

berens

Registriert seit: 3. Sep 2004
431 Beiträge
 
Delphi 2010 Professional
 
#1

TScrollbox erkennt Aktualisierung im Clientbereich nicht

  Alt 17. Okt 2006, 02:08
Hallo allesamt!

Ich bin mal wieder am Verzweifeln!

Folgende Situation:
TForm mit eine TScrollbox oder TLMDScrollbox enthalten. Darin ein TPanel mit einem TPanel, welches wiederum mehrere TPanels enthalten kann (dynamisch geladen). Alle Objekte in abgeleitet von den genannten Klassen. Alle Objekte alTop.

Auf gut Deutsch: Ein Bereich (TScrollbox) in dem mehrere Bereiche enthalten sind (z.B. TPanel1; Parent=TScrollbox). Der eine spezielle Bereich enthält eine Komponente (Panel2; Parent=Panel1), welche die restlichen Panels (Panel-n; Parent=Panel2) enthält (vergleichbar einer TListbox; ich brauche jedoch viele Zusatzinformationen zu den einzelnen Einträgen - die wird alles über eine TComponentList geregelt, die Panels werden entsprechend den Datensätzen einer Datenbank geladen).

Problem:
Nach dem Laden gehen die Einträge über die untere Kante der Scrollbox hinaus. Nun sollte das Scrollen anfangen - tut es aber nicht (TScrollbox = Balken nicht zu sehen, TLMDScrollbox = Balken gibt an, dass die volle Fläche zur Zeit betrachtet wird, aber: beim Klick auf den "Nach Unten" Knopd der TLMDScrollbar kann ich tatsächlich nach unten scrollen!). Nachdem ich -mit der Maus per Hand- das komplette Formular einen Pixel größer gemacht habe funktioniert alles. Ich kann scrollen.

* Das Formular hat kein OnResize Event o.ä.
* Wenn ich die Komponente auf einem Beispielform platziere, funktioniert es auch...

Ergo ein sporadisch auftretender Fehler von dem ich Euch leider in keinster Weise sagen kann, wie man ihn reproduzieren kann.

* Kann das jemand logisch erklären?

* Kann ich mit einer WinApi wie-auch-immer die Aktion auslösen, die auch durch das Größen-Ändern des Formulars oder das "Nach-Unten-Klicken" auf die TLMDScrollbox ausgelöst wird?

Vielen Dank für baldige Antworten!
  Mit Zitat antworten Zitat