Seite 1 von 1

ListViewGadet() und SetGadgetFont() vertragen sich nicht

Verfasst: 02.09.2006 02:44
von AND51
Hallo!

Eines vorweg: Ich benutze noch 3.94, hier ist mir auch der Fehler aufgefallen, kann mir aber gut vorstellen, dass der Fehler in 4.00 noch schlummert. Auch wenns ein bisshcne spät dafür ist: Besser spät als nie. (Hoffe, ab das richtige Subforum erwischt.)

Also, der Bug ist folgender: Ich füge einem ListViewGadget() so viele Einträge hinzu wie möglich, ohne, dass schon Scrollbalken erscheinen. Dann setze ich mittels SetGadgetFont() die Schriftart, bzw. -größe höher.

In meinem Programm habe ich von der Windowsstandardschriftart (XP-Style) auf Arial, Größe 11 gewechselt.
Der Bug: Ein Eintrag war "verschwunden". Die größere Schriftart führt dazu, dass eigentlich Scrollbalken erscheinen müssten, die nur kommen, wenn ich einen Eintrag anklicke und mit den Pfeiltasten ganz runterblättere.
Ich habe es auch schon mit InvalidateRect_() und UpdateWindow_() probiert (obwohl letzteres bei mir ja sowieso nie funktioniert), aber nichts hilft.

Die einzige Lösung ist: Erst die Schriftart ändern, dann die Items dem ListViewGadget() hinzufügen und es erscheinen wie gewünscht die Scrollbalken.

Verfasst: 02.09.2006 03:08
von ts-soft
>> Die einzige Lösung ist: Erst die Schriftart ändern
So ist es auch üblich. Man stellt erst die Schrift ein :wink:

Verfasst: 02.09.2006 04:42
von AND51
OK, selbst wenn. Was mach ich denn, wenn ich dem Benutzer die Möglichkeit geben will, die Schriftart zur Laufzeit des Programms z ändern? Dann geschieht das zwangsläufig nachträglich.

So oder so, ich empfinge diesals ein Fehler/Bug. Er ist zwar lösbar, aber unangenehm. Ich fordere hier ja keinen auf, sofort etwas dagegen zu unternehmen, ich hoffe nur, der Fehler wird vielleicht doch behoben.

Verfasst: 02.09.2006 08:19
von Kiffi
AND51 hat geschrieben:Ich fordere hier ja keinen auf, sofort etwas dagegen zu unternehmen, ich hoffe nur, der Fehler wird vielleicht doch behoben.
selbst, wenn es ein Fehler sein sollte: Geh nicht davon aus, dass noch
irgendwas an der V3.94 geändert wird. Höchste Zeit also, mal endlich auf die
4.0 umzusteigen.

Grüße ... Kiffi

Verfasst: 02.09.2006 08:22
von Kaeru Gaman
evtl. ist es kein PB-Bug, sondern eine WIN-API verhaltensweise.

probier als workaround mal direkt nach dem ändern der schriftart den inhalt erneut einzufügen.
also, analog zu SetGadgetText(GetGadgetText())


PS: moin, Kiffi, auch schon auf Deck. :D

Verfasst: 02.09.2006 08:42
von Kiffi
<OT>
Kaeru Gaman hat geschrieben:PS: moin, Kiffi, auch schon auf Deck. :D
joh, datt. Wir haben da so einen kleinen Wecker, der speziell an
Wochenenden schon um 6 Uhr morgens 'Papa, Papa!, PAPA!' ruft. ;-)

</OT>

Grüße ... Kiffi

Verfasst: 02.09.2006 10:53
von AND51
Kiffi hat geschrieben:Geh nicht davon aus, dass noch
irgendwas an der V3.94 geändert wird.
Um Gottes Willen nein! Mir ist schon klar, dass die Version 3.94 depreciated ist.