![]() |
Desingntime, aber nicht Runtime
Hallo,
komisch, eigentlich hatte ich bisher immer das umgekehrte Problem... (D7 pro) Ich habe eine eigene Listview-Komponente von TCustomlistview abgeleitet. Da kann ich auch die Headerhöhe setzen (unter anderem). Das klappt auch ganz gut - während der Designtime. Während der Runtime ist da plötzlich wieder die alte Höhe. Wie geht denn sowas? Was kann man dagegen tun? (Übrigens: Ich kann die Headerheight zwar während der Designtime verändern, sie wird aber wahrscheinlich nicht abgespeichert! Jedenfalls wird danach nicht zum Speichern aufgefordert. Was tun?) Gruß Mattze |
AW: Desingntime, aber nicht Runtime
Zitat:
(was steht in der DFM) Wurden die gewünschten Property auch nach Published verschoben, welche gespeichert werden sollen? Und weiter können wir nicht weiter helfen, da keiner weiß was du gemacht hast, in deiner eigenen geheimen Komponente. |
AW: Desingntime, aber nicht Runtime
Zitat:
Wie sieht die Definition der Property aus? |
AW: Desingntime, aber nicht Runtime
Hallo himitsu,
nee!!! Geheim ist die überhaupt nicht. Kannst Du alles haben - ist aber zurzeit noch völlig unzumutbar! Absolutes Durcheinander. Ich bin ja froh, dass ich mich in meinem Zeug noch selber zurecht finde. Ich bin da mächtig am Spielen... Angefangen habe ich mit Sortarrows und dann kam eben eins zum anderen und ich wollte doch mal sehen, wie weit man den Header aufbohren kann. Da ist kaum etwas auf meinem Mist gewachsen. Alles im Netz gefunden und zusammengepfrimelt. Ich habe eben noch mal geschaut. Im Formular als Text steht die Headerhöhe mit dem geänderten Wert drin. (Hätte ich vorher gucken müssen. Ich weiß! Asche auf mein Haupt!!!) Sie wird also gespeichert. Die Eigenschaft ist published in der Header-Klasse,die in der Ableitung genutzt wird. Komisch ist, das sie dann beim nächsten Start wieder auf den falschen Ursprungswert gesetzt wird! Gruß Mattze |
AW: Desingntime, aber nicht Runtime
Setzt du an einer Code-Stelle einen "default"-Wert für die Höhe? Vielleicht wird zwar richtig gespeichert und gelesen, aber im Nachgang überschrieben.
Gruß oki |
AW: Desingntime, aber nicht Runtime
[falsch]
|
AW: Desingntime, aber nicht Runtime
Schön, dass Du mal ganz offen über alles gesprochen hast :mrgreen:
|
AW: Desingntime, aber nicht Runtime
Hi,
wo das Problem liegt: Es ist kein Problem, die Headerhöhe einer Listview zu ändern:
Delphi-Quellcode:
Leider wird dann aber die linke obere Ecke der "Restlistview" (also der eigentlichen Liste) nicht automatisch angepasst. Ergebnis: Je nach dem, was gerade vorne ist, wird etwas "übermalt".
var hdr: THandle;
begin hdr:=ListView_GetHeader(ListView1.Handle); SetWindowPos(hdr, 0 , 0, 0, Listview1.width, 50, 0 ); InvalidateRect(hdr,nil,True); Das Rechteck der Restlistview zu bekommen, ist auch kein Problem. (Linke obere Ecke = Linke obere Ecke des Topitems). Ich habe jedoch noch keine Möglichkeit gefunden, die auch (entsprechend der neuen Headerhöhe) zu setzen. (Dazu müsste man direkt rankommen, aber wie...?) Man könnte natürlich im OwnerDraw alle Items verschieben. Nur, dann delegiert man das Problem nach unten. Und im Sinne des Laufzeitverhaltens wäre das wohl nicht. Also, eine echte Lösung wäre das wahrscheinlich nicht. Ich habe nun etwas gefunden, wie man die Itemheight insgesamt ändern kann. Vielleicht kann man damit etwas zurechtdrehen. Mal sehen... Gruß Mattze |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 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 by Thomas Breitkreuz